Scientific software projects become increasingly complex, and tools have evolved to help manage the complexity, keep track of the project life cycle, as well as maintain code quality. The course will presents some of the tools that are most useful for the development of scientific applications.
Content:
A large part of the course will be devoted to hands-on session, illustrating the tools on a typical (small-size) project
Learning outcomes
Knowledge of best practices for software development.
Awareness of some advanced tools to help manage scientific programs.
Prerequisites
Knowledge of Unix, and basic knowledge of C programming.
Content:
- Version control with git
- Build management with cmake
- Unit tests with cUnit
- Continuous integration with Travis
- Bug tracking with GitHub
- Coding style with kwstyle
- Project management with Scrum and XP
A large part of the course will be devoted to hands-on session, illustrating the tools on a typical (small-size) project
Learning outcomes
Knowledge of best practices for software development.
Awareness of some advanced tools to help manage scientific programs.
Prerequisites
Knowledge of Unix, and basic knowledge of C programming.