Course materials for Turing's Research Software Engineering course. Also see UCL's.
Content: In this course, you will move beyond programming, to learn how to construct reliable, readable, efficient research software in a collaborative environment. The emphasis is on practical techniques, tips, and technologies to effectively build and maintain complex code. This is a relatively short (32 hours over 8 half-days), intensive, practical course.
Prerequisites: You must have reasonable experience in at least one compiled language, such as C++, C, or Fortran, and at least one dynamic language, such as Python, Ruby, Matlab or R. You must also have experience of the Unix shell.
Examples and exercises for this course will be provided in Python. You will therefore find it easiest to follow along if you have experience in at least one of these languages. Previous experience with version control (such as from Software Carpentry) would be helpful.
You are required to bring your own laptop to the course as the classrooms we are using do not have desktop computers.