Skip to navigation | Skip to main content | Skip to footer

This is an archived syllabus from 2019-2020

COMP11120 Mathematical Techniques for Computer Science syllabus 2019-2020

COMP11120 Mathematical Techniques for Computer Science

Level 1
Credits: 20
Enrolled students: 232

Course leader: Andrea Schalk

Additional staff: view all staff

Additional requirements

  • Students who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.

Assessment methods

  • 80% Written exam
  • 20% Coursework
Sem 1 Examples G41 Thu 09:00 - 10:00 W
Sem 1 Examples G41 Thu 10:00 - 11:00 X
Sem 1 Lecture 1.1 Thu 12:00 - 13:00 -
Sem 1 Examples G41 Tue 15:00 - 16:00 Y
Sem 1 Examples G41 Tue 16:00 - 17:00 Z
Sem 1 w1-5,7,9-12 Lecture Chemistry G.51 Mon 09:00 - 10:00 -
Sem 1 w8 TEST G36 Mon 14:00 - 15:00 -
Sem 1 w8 TEST Simon TH E Mon 14:00 - 15:00 -
Sem 2 Lecture Chemistry G.51 Mon 11:00 - 12:00 -
Sem 2 Lecture 1.1 Thu 11:00 - 12:00 -
Sem 2 w2+ Examples G41 Tue 13:00 - 14:00 W
Sem 2 w2+ Examples G41 Fri 13:00 - 14:00 Y
Sem 2 w2+ Examples G41 Fri 14:00 - 15:00 Z
Sem 2 w2+ Examples G41 Tue 14:00 - 15:00 X


This course covers the fundamental maths required by Computer Science students in order to successfully complete the reminder of their courses as well as for a career in computer science. Topics covered include complex numbers, logic, probability, recursion and induction, relations, vectors, matrices and transformations.


This is a full year course that focuses on areas of mathematics required to model and analyse the kind of problems that arise in computer science.

Probabilities are used for example in artificial intelligence, and play a vital role in machine learning, while the combinatorics required here also plays a role in the field of computational complexity. Vectors and matrices are the mathematical model underlying computer graphics. Logic is a tool used to reason about computer programs as well as the real world. Recursion is an important programming principle that comes with an associated proof rule, and other mathematical notions such as functions and relations are used routinely in computer science, for example when talking about database systems. Theoretical computer science can be considered an area of mathematics, and the unit also provides an introduction to the fundamental notions of this area.

Specifically the unit aims to

- introduce  mathematical notions relevant to computer science and their applications;

- illustrate how abstraction allows the formulation and proof of properties for real-world and computational phenomena, and enable students to apply this technique;

- give an understanding and some practice in the fundamental notion of proof.

Students are required to undertake background reading, which is supported by lectures to explain various notions and to show the application of various techniques using examples. The coursework requires the students to solve exercises each week. Feedback for and help with this work is provided in the examples classes.

Teaching methods


44 in total, 2 per week

Examples classes

22 in total, 1 per week

Study hours

Attendance: 3 hours per week

Self-study and solving coursework: ca 4 hours per week

Revision and exams: ca 45 hours

Feedback methods

One to one feedback will be provided during examples classes. Written feedback will be provided on the marked homework and exam papers. End of semester and end of year feedback on exam performance will also be provided.

Study hours

  • Assessment written exam (4 hours)
  • Lectures (44 hours)
  • Practical classes & workshops (22 hours)

Employability skills

  • Analytical skills
  • Problem solving

Learning outcomes

On successful completion of this unit, a student will be able to:

  • perform the standard operations on complex numbers
  • apply formal definitions and construct formal arguments based on these in the context of mathematics relevant to computer science.
  • employ abstraction to move from concrete phenomena to ones which are amenable to the application of mathematical techniques.
  • interpret the meaning of logical formulae as part of a natural deduction system, via the model based on truth values, or via a given intended model.
  • construct logical formulae to describe aspects of a given system, and manipulate these formulae to derive properties of the system.
  • apply concepts from the mathematical theory of probability to describe and analyse a variety of situations.
  • use Bayesian reasoning to construct a simple algorithm for learning in a variety of situations.
  • recognize recursively defined structures and define recursive operations satisfying some given specification, as well as construct inductive arguments to prove some given property for such operations.
  • use vectors and matrices to describe suitable situations, such as systems of equations or operations in two- and three-dimensional space, and are able to carry out relevant calculations for these.
  • choose suitable mathematical techniques to analyse questions from computer science and devise approaches to solving them.


Reading list

Discrete mathematics with applications Epp, Susanna S.9781337694193Cengage Learning2019
Interactive computer graphics : a top-down approach with WebGL Angel, Edward, author.9781292019345Pearson2015
Discrete mathematics for new technology Garnier, Rowan.0750306521Institute of Physics2002.
How to think like a mathematician a companion to undergraduate mathematics Houston, Kevin, 1968-9781139129718Cambridge University Pressc2009.
Mathematical techniques : an introduction for the engineering, physical, and mathematical sciences Jordan, D. W. (Dominic William)9780199282012Oxford University Press2008.
Linear algebra : a modern introduction Poole, David, 1955- author.9781285463247Cengage Learning2015
Discrete mathematics for computer scientists Truss, J. K.0201360616Addison-Wesley1999.

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.