CS429 Machine Learning Algorithms and Practice
General Information
Check this website for future updates. We will also be using the mailing list to contact you; make sure you are registered for the module. If you have any questions, please contact (both) the module organisers:
- Amina Asif - Amina.Asif@warwick.ac.uk
- Gabriele Pergola - Gabriele.Pergola.1@warwick.ac.uk
Timetable
- Lectures
- Labs
Details of the timetable can be found hereLink opens in a new window.
Labs
In order to attend a lab session, you need to have registered for the module. Attendance at lab sessions is obligatory and their purpose is to help you with assessed assignments and provide oral feedback.
Labs and TA contact details
Teaching Assistants:
- Boyang Fu: Boyang.Fu@warwick.ac.uk
- Piotr Keller: Piotr.keller@warwick.ac.uk
On-campus labs:
- Thursday 9–10am: CS0.01
- Thursday 3–4pm: MB3.17
Assignments
There are two assignments, each worth 25% of the final mark. The other 50% will be from the final exam in May/June.
Assignment 1 — 25%
- Release: Week 2
- Deadline: Week 6, Thursday, 12 November 2026, 12 noon
- Submission via this Tabula link
Material:
Assignment 2 — 25%
- Release: Week 6
- Deadline: Thursday, Week 11
- Submission via Tabula link [TBC]
Note that any submission after the deadline will incur a penalty of 5% per day. No submission will be accepted beyond 6 days after its corresponding deadline.
If the wrong file is submitted and the deadline has passed, please contact dcs.ug.support@warwick.ac.ukLink opens in a new window to have the original submission removed so that you are able to upload a new submission. This will incur a late penalty. Late penalties will not be waived unless via a Mitigating Circumstances panel decision.
Lab Access and Machine Requirements
Use "module load cs909-python". The following guide will show you how to run Jupyter-notebook as well as loading using notebooks with the module loaded in Visual Studio Code:
If using your own machine, you will be needing the listed libraries:
- Anaconda Python (3.6+), Jupyter Notebook or Jupyter Lab, Matplotlib, Numpy, SciPy, Pandas, Scikit-learn, Keras, PyTorch, TensorFlow (with GPU configuration, if GPUs available).
If needed, Remote Machine Login: https://warwick.ac.uk/fac/sci/dcs/intranet/user_guide/remote-login/
Resources
Textbooks
The module does not follow strictly a single textbook. The following books provide useful complementary references:
- Murphy, K. P. (2022). Probabilistic Machine Learning: An Introduction.
-
Deisenroth, M. P., et al. (2020). Mathematics for Machine LearningLink opens in a new window.
- Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep LearningLink opens in a new window.
- Nielsen, M. A. (2015). Neural Networks and Deep LearningLink opens in a new window.
Python books
If you don't have any experience with Python, or want to learn more about programming with Python, the following books are useful:
- The Coder's Apprentice: Learning Programming with Python 3, by Pieter Spronck
Module Schedule
Lecture recordings are available via MoodleLink opens in a new window.
Week |
Lectures |
Reading |
Seminars |
Labs |
|---|---|---|---|---|
| 1 | 1. Introduction to Machine Learning |
- | - | |
| 2 | - | Continual Learning. J. Hurtado [Slide] [Notebook] |
||
| 3 | Model Evaluation & Experimental Design | |||
| 4 | Multivariate Analysis & Dimensionality Reduction | |||
| 5 | Regression & Unified Frameworks | |||
| 6 | Deep Learning | |||
| 7 | - | |||
| 8 | - | |||
| 9 | - | |||
| 10 | - | |||
| - |