Introduction
This course has been developed at QuTech and built using The Carpentries Workbench.
The purpose of this course is to introduce the basics of professional software development to QuTech PhD students and researchers. We firmly believe that adopting professional software development practices throughout our research organization will yield significant long-term advantages, including:
- Faster onboarding of new PhD students
- Efficiencies across the organization through potential software and know-how reuse
- More transparent and reproducible results for research that relies on in-house built software tools
The course is structured in three parts intended to be offered as half-day workshops:
- Part 1 (Episodes 1, 2, 3) starts by framing the course in the context of the QuTech Software Maturity Model, and then dwells into its technical content by introducing the fundamentals of version control and Git.
- Part 2 (Episodes 4, 5, and 6) introduces GitLab, and its support for more advanced Git workflows and ends with introducing the basics of Python Virtual Environments.
- Part 3 (Episode 7) covers the basics of “clean code”, with a focus on Python and its development tools ecosystem.
This course focuses on practical knowledge that can be immediately applied. It also emphasizes “learning by doing”, with several hands-on, interactive assignments designed to help participants practice and apply newly introduced concepts and tools.
This course has no prerequisites. However, participants should have an interest or affinity for Python programming and a basic understanding of using Linux/Unix command line interfaces.
Required Software
This setup document will walk you through the process of installing or upgrading the required software in the following order.
- Git (≥ 2.45 recommended)
- Python (3.12 recommended)
- A number of Python tools:
- PyCharm (use the Community Edition)
- PyLint
- Coverage.py (≥ 7.3 recommended)