Welcome to Python Programming!

Josiah Wang

Welcome to the gateway to Python Programming at the Department of Computing, Imperial College London!

My name is Josiah Wang, and I teach the Python Programming course at the department. The course is designed primarily for the MSc in Artificial Intelligence degree.

Here, you will find links to the materials used for the Python Programming course. I have also included resources developed for other related courses.

Some of the materials are restricted to only students registered on the course. Otherwise, most materials can be publicly accessed.

You are welcome to browse and learn from our materials, no matter who you are!

Python and programming for beginners


The Python Programming module (COMP70053) is primarily designed for those with no prior programming experience, but have some high school level Mathematical knowledge. You should know what functions, vectors, matrices, variables, etc. are.

Latest edition

  • Python Programming Autumn 2022
    • The materials in this edition is an incremental update on the 2021 edition. I designed the materials to be beginner friendly, 'applied' and 'holistic' so that you can start applying your skills quickly to solve practical programming problems. It introduces not only Python and programming, but also good software engineering practice and using git for version control.

Previous editions

  • Python Programming Autumn 2021
    • This edition boasts new self-guided learning materials. See the description in the 2022 edition above for more details about the materials.
  • Python Programming Autumn 2020
    • The materials in this older edition are useful if you need a crash course on Python. They are more focused on explaining Python features, rather than how to apply them to solve programming problems.

Python for Existing Programmers


I have also developed some Python crash courses geared towards existing programmers. These assume that you already know programming, and aim to highlight the differences between Python and the other language. These are currently 'crash courses' purely for passive consumption. I aim to make these more 'hands on' in the future.

Main Contributors

Josiah Wang

Josiah Wang

Senior Teaching Fellow