Practical sessions will take place on Thursday. Practical sessions will take place between 14:00-16:50. These are computer practical sessions. Please bring a laptop. If you do not have a laptop, or if your laptop is broken, please contact the course organizers immediately, so we can make alternative arrangements.Occasionally, we will use practical sessions for other activities, for instance tutorials, project presentations and so on. Please check your e-mails and Blackboard Learn for information on timetables and rooms.

Just like a laboratory practical, you need to document your work done in a computer practical. This is not done by using a physical lab book, but by keeping electronic records. You may want to keep those records on your own computer and keep track of changes using git, or you may choose to have a public portfolio on GitHub. It is up to you. In this course, your portfolio is not assessed. However, you may later find it useful (both during the revision stage of this course, and in later years) to go through your code from this course again. Therefore, make sure that your code is well- organized, well-documented and suitably backed up.

In this course, most of the programming tasks covered in practical sessions will be completed with Python language unless the instructor has other instruction. Please check your e-mails and Blackboard Learn for information.


You'll implement all the practicals in Python3. The Python web site contains lots of tutorial information. You can check your Python version by running python3 --version


We recommend that you work on the practicals on your own machine, so you can use the tools, text editors, etc. that you are already familiar with. Alternatively, you can work on the labs on the ZJE server.




Depending on your Linux distribution, you might be able to get an up-to-date version of Python from the package repository, e.g. by running apt install python3. Alternatively, you may want to compile from source.
tar -zxvf Python-3.9.6.tgz
cd Python-3.9.6
make && make altinstall
Note that some development librarys should be preinstalled before compiling Python from source, e.g. by running sudo yum groupinstall -y "Development Tools" in CentOS.


You may download python from the Python official website.


An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development. Here we recommend some useful IDEs for Python:

  • Sublime Text 4 Light text editor, with support on Python syntax extensions.
  • VSCode Provides useful extensions for Python, including debuggers and testers.
  • PyCharm Better for larger programs.

Python Styles

You may want to look at the Google Python Style Guide

for good programming practice.