Skip to main content

Unit information: Machine Learning (Teaching Unit) in 2020/21

Please note: you are viewing unit and programme information for a past academic year. Please see the current academic year for up to date information.

Unit name Machine Learning (Teaching Unit)
Unit code COMS30035
Credit points 0
Level of study H/6
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Dr. Rui Ponte Costa
Open unit status Not open

COMS10016 Imperative and Functional Programming and COMS10017 Object-Oriented Programming and Algorithms I or equivalent.

COMS10014 Mathematics for Computer Science A and COMS10013 Mathematics for Computer Science B or equivalent.

COMS20011 Data-Driven Computer Science or equivalent.

Programming: Python or another major programming language (Java, C).

Maths: basic linear algebra, basic statistics, some calculus, some discrete maths.


EITHER Assessment Units COMS30033 Machine Learning (Exam assessment, 10 credits)

OR COMS30034 Machine Learning (Coursework assessment, 20 credits).

Please note:

COMS30035 is the Teaching Unit for the Machine Learning option.

Single Honours Computer Science students can choose to be assessed by either examination (10 credits, COMS30033) or coursework (20 credits, COMS30034) by selecting the appropriate co-requisite assessment unit.

Any other students that are permitted to take the Machine Learning option are assessed by examination (10 credits) and should be enrolled on the co-requisite exam assessment unit (COMS30033).

School/department Department of Computer Science
Faculty Faculty of Engineering


Machine Learning is the science of how we can build abstractions of the world from data and use them to solve problems in a data-driven way. This unit introduces the field of Machine Learning, and teaches how to create and use software that improves with experience. Examples include:

  • Introduction: tasks, models and features.
  • Binary classification and related tasks. Beyond binary classification.
  • Tree models.
  • Rule models.
  • Linear models.
  • Distance-based models.
  • Probabilistic models.
  • Features.
  • Model ensembles.
  • Machine learning experiments.

Intended learning outcomes

Successful completion of this unit will enable students to:

  1. Choose an appropriate learning algorithm for a given problem.
  2. Use machine learning algorithms in solving classification and prediction problems in a data-driven way.
  3. Understand theoretical and practical limitations of machine learning algorithms.

In addition, students assessed by coursework will be enabled to:

  1. Use existing machine learning libraries to implement a fully operational machine learning system.
  2. Empirically assess the performance of the system.
  3. Report on and justify the approach taken, and interpret the empirical results.

Teaching details

Teaching will be delivered through a combination of synchronous and asynchronous sessions, including lectures, practical activities supported by drop-in sessions, problem sheets and self-directed exercises.

Teaching will take place over Weeks 1-7, with coursework support in weeks 8-10 and for students assessed by examination, consolidation and revision sessions in Weeks 11 and 12.

Assessment Details

Examination details:

January timed assessment (100%, 10 credits)


Coursework details:

Coursework, to be completed over weeks 8-10. (100%, 20 credits)

Reading and References

Flach, Peter, Machine Learning: The Art and Science of Algorithms that Make Sense of Data (Cambridge University Press, 2012) ISBN: 978-1107096394