Research Software Engineering with Python
Research Software Engineering with Python¶
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 course (8-10 half-day modules) which is intensive and involves hands-on exercises.
It would be helpful to have experience in at least one programming language (for example
R) but this is not a requirement.
Experience with version control and/or the
Unixshell, for instance from Software Carpentry, would also be helpful.
You should bring your own laptop to the course as there are several hands-on exercise for you to work through.
We have provided setup instructions for installing the software needed for the course on your computer.
Eligibility: This course is primarily aimed at Turing-connected PhD students. Other Turing-affiliated people might join too if capacity allows.
Examples and exercises for this course will be provided in
We will assume you have prior experience with at least one programming language but
Python syntax and usage will be introduced during this course.
However, this course is not intended to teach
Python and you may find supplementary content useful.
None: you are not graded. There are two exercises that you can use for self-assessment.
You can browse through course notes as HTML or download them as a printable PDF via the navigation bar to the left.
If you encounter any problem or bug in these materials, please remember to add an issue to the course repo, explaining the problem and, potentially, its solution. By doing this, you will improve the instructions for future users. 🎉