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 on 29th September 2025.

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 Introduction to Machine Learning...

If you are also taking the department's Introduction to Machine Learning module (compulsory for MSc AI), you will need NumPy for the coursework assignments for that module from the start of Week 3. Therefore, you are also advised to complete the lessons listed below as soon as possible after completing the 10 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 (29th Sept-3rd Oct 2025)

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 (29th Sept), 4-5pm, Huxley 219;
  • Tuesday (30th Sept), 12-1pm, Huxley 219.
These sessions will specifically be on Linux Shell, SSH, 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!

Week 2 schedule (6th-10th Oct 2025)

Note the unusual venue for the Monday 11am lecture in the Chemistry building, opposite Sherfield building across Queen's Lawn/Dangoor Plaza [Google Maps | Official University Map].
CHEM C660 is on level 6. Click on level 6 on this interactive map for the floor plan.
Mon
11am-12pm
Mon
12-1pm
Wed
9-10am
Thu
9-10am
Thu
4-6pm
Lecture
CHEM C660
Lab
202/206
Lab
202/206
Lab
202/206
Lab
202

Week 3-6 schedule (13th Oct 2025 onwards)

We are fully back in good old Huxley building from Week 3 onwards.
Mon
11am-12pm
Mon
12-1pm
Wed
9-10am
Thu
9-10am
Thu
4-6pm
Lecture
342
Lab
202/206
Lab
202/206
Lab
202/206
Lab
202

Week 7-8 schedule (w/c 10th and 17th Nov 2025)

Our course slows down in the final two weeks for you to focus on your other modules. You have already worked hard in the first few weeks anyway! We will have guest lectures on Monday 11am. After you have submitted coursework 3, any remaining labs will mainly be 'bonus' support labs to help you with Python in your other modules.
Mon
11am-12pm
Mon
12-1pm
Thu
9-10am
Thu
4-6pm
Lecture
342
Lab
202/206
Lab
202/206
Lab
202

Week 9 schedule (w/c 24th Nov 2025)

This week is mainly an information session for your programming test in January. A mock test is also expected to happen on Thursday.
Mon
11am-12pm
Thu
4-5:30pm
Lec (Exam info)
342
Mock test
202/206

 

Teaching Team

Josiah Wang

Josiah Wang

Course Leader

Maxence Faldor

Maxence Faldor

Course Support Leader

Euodia Dodd

Euodia Dodd

Lab Assistant

Konstantinos Mitsides

Konstantinos Mitsides

Lab Assistant

Lisa Coiffard

Lisa Coiffard

Lab Assistant

Mary Kenneth

Mary Kenneth

Lab Assistant

Ollie Pitts

Ollie Pitts

Lab Assistant

Ruomeng Fan

Ruomeng Fan

Lab Assistant

Will Raftery

Will Raftery

Lab Assistant

Xavier Sumba Toral

Xavier Sumba Toral

Lab Assistant

Yichong Chen

Yichong Chen

Lab Assistant

Yiming Luo

Yiming Luo

Lab Assistant