Software Engineering for Applied Mathematical Sciences ?
Dates
20 January - 31 January?
?Target audience
The course is suitable for postgraduate students, staff and professionals who have actively programmed on a scientific project and have a current project they are seeking to improve. It is assumed that?course participants are familiar with general quantitative scientific practice and at least one programming language, and routinely use those skills in their daily work. No particular scientific field or?programming language is required.
Objectives?
Participants will understand software engineering perspectives and apply these to their project work. They should leave with improvements to the project they bring, as well as with a plan for future development.
Expected outcomes
Participants will acquire the skills to:
- Think about the overall architecture of scientific programming workflows, and make design choices that improve scientific output reproduce-ability, maintainability, and flexibility
- Apply foundational software engineering principles for requirements elicitation, software architecture design and quality assurance
- Use various software engineering tools--e.g. version control, automated testing--to improve their productivity, work quality, and ability to collaborate
- Evaluate the benefits and costs of re-using existing libraries, and make their code usable by other scientists
- Evaluate the data component of a scientific project, and make informed choices about input and output products and formats for that work
- Think about parallelization and how a scientific project might best leverage high performance computing resources
-
Use the Amazon Web Services Cloud environment for high performance computing work;
Course format
The course is divided into five topics, with a day devoted to each. Each day begins with an interactive discussion with the faculty, followed by a structured practical exercise to emphasize the concepts?covered in that discussion. Then participants receive a series tasks associated with the topic to apply to their personal projects, with feedback from faculty provided on the results.Presenters???
?Carl Pearson is a Research Fellow at the London School of Hygiene & Tropical Medicine (UK).?Tom Hladish is a Research Scientist at the 中国体育彩票 of Florida in the De?partment of Biology and the Emerging Pathogens Institute (USA). Arlin Stoltzfus is computational evolutionary biologist and bioinformatician at the Institute for Bioscience and Biotechnology Research (IBBR) and Office of Data and Informatics, Material Measurement Laboratory, National Institute of Standards and Technology (USA).
All of the presenters have extensive experience in developing software for scientific research and communication. Carl and Tom have been working with participants in the SEAMS workshops for several years, and Arlin regularly leads local hack-a-thons.
The teaching assistants for the workshop are active junior scientists and past SEAMS workshop participants.