Best practices for scientific computing

As a scientist, your core business is science, not software engineering. Nevertheless, having a good understanding of how best practices in software engineering can help you work more efficiently, or give your work more exposure is quite useful. This training is flexible in that it can be tailored to any combination of C, C++, Fortran or Python, and to many levels of detail.

Subjects:

  • code style
  • version control & collaboration
  • testing
    • unit testing
    • functional testing
    • code coverage
  • documentation
  • deployment
  • continuous integration

Prerequisites:

  • fluency in at least one programming language

Supplementary material: