Skip to main content Skip to navigation

CS909 Data Mining

Welcome to CS909/CS429 Data Mining in Term-2 of 2023! This webpage is the primary source of information for all updates, announcements and content for this module.


We will be adding an major announcements for the module below.

Module Teaching Team

Instructor: Fayyaz MinhasLink opens in a new window

Teaching Fellow: Anna Guimarães

Teaching Assistants

Communication between students and teaching team

Please use moodle for non-urgent communication. It is very difficult to monitor and respond to emails from individual students due to the large size of the class.

For questions about Logistics or other issues, the first point of contact is Anna Guimarães.

Instructor Office HoursLink opens in a new window

Moodle Link (For QA & Discussions)

We shall be using this moodle page for our module.

Each week, the instructors will create a post in moodle for students to post their questions about the lectures in that week.

The instructors will also be posting a series of questions on Moodle each week as well that you can answer for self-assessment and feedback. As the goal of these questions is to encourage students to explore and self study, answers to all of these questions will not be provided but students are welcome to discuss them with the instructors in lab sessions or as questions in lectures.


  • All Times are UK Times

Lectures - Weeks 110



Monday 11:00 - 12:00 R0.21
Thursday 12:00 - 13:00 L3
Friday 13:00 - 14:00 MS.01

Lab Sessions - Weeks 110

Each student has been allocated a lab session. Please check your scheduled lab session on Tabula and attend that. Please make sure that you attend the whole of an assigned lab session so that you do not miss attendance.

TA allocation to labs may change from week to week due to scheduling constraints. However, there should be at least one TA common between sessions.

NOTE: The following information may change if there are changes to face-to-face teaching.

Students who might need to change group (due to mitigating circumstances or a timetable clash) should email queries to the relevant resource email account ( / The teaching staff wil only be able to sign-post to support teams.

Coursework Assignments

    Books and Other resources

    [PML] Probabilistic Machine Learning: An Introduction by Kevin Patrick Murphy. MIT Press, 2021. link: 

    [IML] Introduction to Machine Learning 3e by Ethem Alpaydin (selected chapters: ch. 1,2,6,7,9,10,11,12,13)

    [DBB] Deep Learning by Ian Goodfellow, Yoshua Bengio, Aaron Courville, (Ch 1-5 if needed as basics), Ch. 6,7,8,9 link: opens in a new window

    [FNN] Fundamentals of Neural Networks : Architectures, Algorithms And Applications by Laurene Fausett, (ch. 2,6)

    [PRML] Pattern Recognition and Machine Learning by Chris Bishop link:

    Casual Reading:

    The master algorithm

    The Alignment Problem

    The book of why

    Course Materials

    Slides and reading materials will be posted each week. The lab session will be available prior to the start of the lab session.


    • It is strongly recommended that you attend all lectures in person. However, if you are unable to attend lectures due to a genuine issue, you can use the l inks to archived lecture recordings from previous years which are available at this Course Stream ChannelLink opens in a new window as well as on YoutubeLink opens in a new window ( ). However, this year's lectures would be significantly different in content and delivery from previous ones and we cannot guarantee the sufficiency of archived content for effective learning in terms of success in coursework or examination.

    Lab Access and Machine Requirements

    Remote Machine Login:

    Use "module load cs909-python" or if using your own machine, you will be needing.

    1. Anaconda Python (3.6+)
    2. Jupyter Notebook or Jupyter Lab
    3. Matplotlib
    4. Numpy
    5. Scipy
    6. Pandas
    7. Scikit-learn
    8. Keras, PyTorch and TensorFlow (with GPU configuration if GPUs available)

    Learning Python

    The following resources may be useful when familiarising yourself with Python.

    Python Documentation:

    NumPy Website:

    Matplotlib Website:

    Video Tutorials

    Courtesy of Dr. Greg WatsonLink opens in a new window

    1. Introduction
    2. Basic Variables
    3. Lists
    4. Control Flow
    5. Functions
    6. Tuples
    7. Sets
    8. Dictionaries
    9. NumPy
    10. Matplotlib
    11. Classes