In order to succeed in this course, you need to know a few things beforehand.
First, this course is aimed at people who already know how to program in Python. We will not be teaching Python programming as such. However, that said, you do not need to be an expert in Python programming either.
We expect you to be familiar (and comfortable) with:
- Python syntax
- Basic built-in datastructures (lists, tuples and dictionaries)
- Control structures (if-else, while, for)
- How to write and use functions and modules
- File I/O
You can test if you have the prerequisite level of skills and knowledge by going through the quiz in the next step.
Second, previous knowledge of high-performance computing is not needed, we will discuss the relevant topics as we proceed.
Third, the course duration is four weeks. Each week we discuss a different topic related to Python performance. The main aspects of each topic is covered in articles and videos, but most importantly, these are followed by hands-on exercises on the topic. At least half of your time should be devoted to the exercises, since getting your hands dirty and doing it yourself is simply the best way to learn programming.
We provide simple instructions for setting up a virtual machine with the programming environment for the course in your own laptop/workstation. The virtual machine is based on Linux, and in order to carry out the exercises some familiarity with the Linux command line is useful.