Skip to main content Skip to navigation

CS909 Data Mining

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

Announcements

We will be adding major announcements for the module below.

Module Teaching Team

Instructor: Fayyaz MinhasLink opens in a new window

Teaching Fellow: Ayşe SunarLink opens in a new window

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 Ayşe Sunar.

Instructor Office HoursLink opens in a new window

Moodle & Other Links

We shall be using this Moodle page for discussion and Q/A in the module.Link opens in a new window

Students can Post your QuestionsLink opens in a new window to the Moodle forum.

A series of Self Assessment QuestionsLink opens in a new window that you can answer for self-assessment and feedback are also available. 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 or via Moodle.

Lecture CaptureLink opens in a new window is also accessible via Moodle.

Timetable

  • All Times are UK Times

Lectures - Weeks 110

Time

Location

Monday 11:00 - 12:00 R0.21
Thursday 12:00 - 13:00 L3
Friday 13:00 - 14:00 OC1.05

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 (DCS.UG.Support@warwick.ac.uk / DCS.PGT.Support@warwick.ac.uk). The teaching staff wil only be able to sign-post to support teams.

Coursework Assignments

  • Assignment-1 (25% of final mark)
    Assignment Announcement: Week-2 (W/C Jan 13 2025): Assignment-1 Announced
    Assignment due: 12 noon Wed 12ᵗʰ February 2025
    Feedback due: Wed 12ᵗʰ March 2025
    Tabula Submission Links: CS429 CS909
  • Assignment-2 (MEng: 25% of final mark, MSc: 35% of final mark)
    Assignment Announcement: Week-6 (W/C Feb 10 2025): Link to assignment will be available soon.
    Assignment due: 12 noon Mon 17ᵗʰ March 2025
    Feedback due: Wed 16ᵗʰ April 2025
    Tabula Submission Link for Student will be available soon.
  • There will be a final exam in the module. Please check exam deadlines directly with Warwick Student Administrative ServicesLink opens in a new window

    Books and Other resources

    [PML-1] Probabilistic Machine Learning: An Introduction by Kevin Patrick Murphy. MIT Press, 2021. link: https://probml.github.io/pml-book/book1.html 

    [PML-2] Probabilistic Machine Learning: Advanced Topics by Kevin Patrick Murphy. MIT Press, 2023. link: https://probml.github.io/pml-book/book2.html 

    [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: https://www.deeplearningbook.org/Link opens in a new window

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

    [SODL] The Science of Deep Learning by Iddo Drori link: https://www.thescienceofdeeplearning.org/

    Reading listLink opens in a new window

    Casual Reading:

    1. The master algorithm
    2. The Alignment Problem
    3. 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. Please see the Lab Access section below for guidance on running the lab materials and Python guides.

    NOTE:

    • It is strongly recommended that you attend all lectures in person as 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. However, if you are unable to attend lectures due to a genuine issue, you can use the links 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 (https://bit.ly/2RannLB )

    Lab Access and Machine Requirements

    Remote Machine Login: https://warwick.ac.uk/fac/sci/dcs/intranet/user_guide/remote-login/

    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:

    Notebook and VSCode Setup GuideLink opens in a new window

    If using your own machine, you will be needing the listed libraries.

    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: https://docs.python.org/3/tutorial/index.html

    NumPy Website: https://numpy.org

    Matplotlib Website: https://matplotlib.org

    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