View Theme Diagram
The Bash shell is a command-line interface used in Unix-based operating systems such as Linux and macOS. This course will introduce you to the basics of using the Bash shell.
This course introduces the basics of version control using the Git version control system. We will learn how to setup Git, and use it to track changes in our code.
This course introduces the basics of packaging and dependency management in Python and C++. For Python, we introduce `venv` for virtual envronments, and `pip` for package management and how to structure a modern Python package and publish it to PyPI. For C++, we introduce the CMake build system and how use it to manage dependencies and the build process.
This course covers how to style your Python code, and use linters to enforce a consistant style and highlight any code that can lead to commonly encountered bugs or problems.
Integrated Development Environments (IDEs)provide programmers with a complete development environment to write, edit, debug, and deploy their code. This course introduces the popular VSCode IDE, both for Python and C++ development.
This course introduces the basics of automated testing and debugging in Python, using the Pytest framework.
This course aims to introduce the use of Docker containers with the goal of using them to effect reproducible computational environments.
This course introduces the text-based workflow system Snakemake. Snakemake is a general-purpose workflow management system for any discipline.