Course description

Welcome to Python Programming! We hope to inspire you to learn and improve your programming skills.

We will assume that you have no prior knowledge about programming, but have basic Mathematical knowledge (you understand terms like functions, vectors, matrices, variables).

This webpage will be the main portal for the course. Most things you need will be available here. The exceptions are:

  • Announcements and questions/answers/discussions: on EdStem
  • Other materials like slides and recordings from our live sessions: available on Scientia

More details about arrangements for the course (e.g. lecture topics, courseworks) will be given during the first lecture on Tuesday 11am in Huxley 145.

📌 Josiah's note

Welcome to all MSc AI, MRes AI&ML, and AI4Health CDT students! My team is looking forward to meeting you this autumn!

Please study these before you come...

As a MINIMUM, please go through at least Core Lessons 1 to 7 of the guided learning materials (below) before you officially start your degree at the end of September 2026.

You are also strongly encouraged to complete all 10 Core Lessons before you start your degree. Your workload will be heavy otherwise, especially if you are an MSc AI student. A former MSc AI student regretted not doing this, and has asked me to advise you to complete all 10 core lessons before you start!

As a guide, your first programming coursework assignment will cover the content in Core Lessons 1 to 7, and you will need to submit this by the end of the second week of the first term. This will be followed by a second coursework (up to Core Lesson 9) due at the end of week 4, and a third coursework (up to Core Lesson 10) due at the end of week 6.

MSc AI and and MRes AI&ML students will need to complete all three courseworks.

AI4Health CDT students only need to complete and pass either the second or the third coursework.

If you are taking Machine Learning...

If you are also taking the department's Machine Learning module (compulsory for MSc AI), you will need NumPy for the coursework assignments for that module which may start as early as Week 3. Therefore, you are also advised to complete the lessons listed below as soon as possible after completing at least the first 9 core lessons:

  • Beyond the Standard Library
  • Introduction to Numpy and Matplotlib

Feel free to send me an email at josiah (dot) wang -[at]- imperial.ac.uk if you detect any mistakes or have any feedback!

Course materials

You will use our self-paced, guided study materials, designed to help you learn programming by doing!

classGuided Learning Materials

The link can also be accessed via the class button on the top right of the webpage.

Schedule

Lectures and lab sessions will be conducted in person.

Week 1 schedule (28th Sept-2nd Oct 2026)

The schedule for the first week is as follows:

Tue
11am-12pm
Tue
2-4pm
Wed
10am-12pm
Thu
10am-12pm
Thu
2-4pm
Fri
9-11am
Fri
3-4pm
Fri
4-6pm
Lecture
145
Lab
202/206
Lab
202/206
Lab
202/206
Lab
202/206
Lab
202/206
Lecture
145
Lab
202/206

For MSc AI students only, there are also two orientation lab sessions:

  • Monday (28th Sept), 4-5pm, Huxley 219/202/206;
  • Tuesday (29th Sept), 12-1pm, Huxley 219/202/206.
These sessions will specifically be on Linux Shell, SSH, remote working, and on submitting courseworks using the systems at the department. You should attend these sessions, especially if you do not have much experience with Shell commands!

Weeks 2-8 schedule (5th Oct 2026 onwards)

Tue
2pm-3pm
Tue
3-4pm
Thu
4-6pm
Fri
11am-1pm
Lab
219
Lecture
144
Lab
202/206
Lab
202/206

Week 9 schedule (w/c 23rd Nov 2026)

This week is mainly an information session for your programming test in January (for MSc AI and MRes AI&ML). A mock test is also expected to happen on Thursday.
Tue
3-4pm
Thu
4-5:30pm
Lec (Exam info)
144
Mock test
202/206

 

Teaching Team

Josiah Wang

Josiah Wang

Course Leader

Eugene Teoh

Eugene Teoh

Lab Assistant

Euodia Dodd

Euodia Dodd

Lab Assistant

Giorgia del Missier

Giorgia del Missier

Lab Assistant

Jacob Si

Jacob Si

Lab Assistant

Konstantinos Mitsides

Konstantinos Mitsides

Lab Assistant

Ollie Pitts

Ollie Pitts

Lab Assistant

Richard Bornemann

Richard Bornemann

Lab Assistant

Ruomeng Fan

Ruomeng Fan

Lab Assistant

Will Raftery

Will Raftery

Lab Assistant

Xavier Sumba Toral

Xavier Sumba Toral

Lab Assistant

Yiming Luo

Yiming Luo

Lab Assistant

Yupei Li

Yupei Li

Lab Assistant