Skip to main content

Unit information: Algorithms and Machine Learning in 2024/25

Please note: Programme and unit information may change as the relevant academic field develops. We may also make changes to the structure of programmes and assessments to improve the student experience.

Unit name Algorithms and Machine Learning
Unit code MATH20017
Credit points 20
Level of study I/5
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Dr. Reeve
Open unit status Not open
Units you must take before you take this one (pre-requisite units)

MATH10017 Algorithms and Programming in C(++) and R, MATH10016 Matrix Algebra and Linear Models, MATH10013 Probability and Statistics, MATH10023 Applied Analysis A, MATH10024 Applied Analysis B

Units you must take alongside this one (co-requisite units)

None

Units you may not take alongside this one

None

School/department School of Mathematics
Faculty Faculty of Science

Unit Information

Why is this unit important?

An algorithm is a finite sequence of well-defined rules for solving a computational problem. Just as every good chef strives to understand what makes a great recipe, every Data Scientist should understand what makes for a good algorithm. Algorithms play a foundational role throughout Computer Science and Data Science; in Machine Learning, algorithms are the principled methods we use to convert data into models. In this unit you will learn about some of the key algorithmic ideas which will enable you to apply these ideas to your own projects in future years.

How does this unit fit into your programme of study?

Learning about algorithmic ideas serves as a vital building block in understanding how to efficiently and effectively transform data into statistical models. As such, this unit has a strong symbiotic units on statistical methodology which will give a stronger understanding of issues such as estimation and uncertainty quantification. The unit will rely heavily upon mathematical ideas from the previous year including probability, linear algebra and analysis as well as drawing upon an understanding of programming fundamentals.

Your learning on this unit

An overview of content

We will study the following topics:

  • Introduction to algorithms, computational complexity and run-time analysis
  • The divide and conquer paradigm
  • Greedy algorithms
  • Graph search algorithms
  • Basic data structures
  • Randomised algorithms
  • Algorithms for least squares
  • Singular value decomposition

How will students, personally, be different as a result of the unit

Students will have an improved understanding of a variety of different algorithmic paradigms. This will improve their ability to solve new algorithmic challenges as well as having a better understanding of the Data Science toolbox.

Learning Outcomes

By the end of this unit students should be able to:

  • Describe, identify and reason about several common algorithmic design paradigms and adapt these paradigms to new problems.
  • Utilise concepts from asymptotic analysis to compare the run-time of algorithms.
  • Prove the correctness of algorithms.
  • Decompose larger problems into a sequence of smaller problems.
  • Explain the behaviour of algorithms used in machine learning and assess their suitability for given problems of interest.

How you will learn

Learning will be through a combination of the following:

  • Problem sheets with a combination of programming tasks completed in Python and more mathematical questions;
  • Lectures with active participation;
  • Computer labs where students will work on problems;
  • Reading recommended books to strengthen understanding.

How you will be assessed

Tasks which help you learn and prepare you for summative tasks (formative):

There will be problem sheets to be completed through a combination of programming tasks completed in Python and more mathematical questions.

Tasks which count towards your unit mark (summative):

This unit will be assessed through a final exam (80%) and summative coursework (20%).

When assessment does not go to plan

The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit. The Board considers each student's outcomes across all the units which contribute to each year's programme of study. If you have self-certificated your absence from an assessment, you will normally be required to complete it the next time it runs (this is usually in the next assessment period).

The Board of Examiners will take into account any exceptional circumstances and operates within the Regulations and Code of Practice for Taught Programmes.

Resources

If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.

If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. MATH20017).

How much time the unit requires
Each credit equates to 10 hours of total student input. For example a 20 credit unit will take you 200 hours of study to complete. Your total learning time is made up of contact time, directed learning tasks, independent learning and assessment activity.

See the University Workload statement relating to this unit for more information.

Assessment
The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit. The Board considers each student's outcomes across all the units which contribute to each year's programme of study. For appropriate assessments, if you have self-certificated your absence, you will normally be required to complete it the next time it runs (for assessments at the end of TB1 and TB2 this is usually in the next re-assessment period).
The Board of Examiners will take into account any exceptional circumstances and operates within the Regulations and Code of Practice for Taught Programmes.

Feedback