3. Week 3

The aim of Week 3 is twofold.

First, to introduce Python tools for how we organise code and keep track of which external libraries, and versions of different libraries, are needed for the code to work. This part will also introduce some other common Python concepts, such as functions to help build more complicated programs.

Second, to introduce common testing approaches, such as static code analysis, debugging, and unit testing. We want to introduce these concepts as early as possible. Even in the code you wrote in Week 2 you probably found lots of cases where it didn’t work first time. Python, and our software development environment, has lots of built-in tools to help us spot and fix issues with our code, and so we need to learn about these before writing too much code.