School of Computer Science

Module 06-30181 (2018)

Mathematical Foundations of Computer Science

Level 1/C

Achim Jung Semester 1 20 credits
Co-ordinator: Achim Jung
Reviewer: Paul Levy

The Module Description is a strict subset of this Syllabus Page.


Most areas of Computer Science, from graphics to machine learning to cryptography, require specialised mathematical knowledge. Also, Computer Science as a discipline shares deep connections with the foundations of mathematics. This module introduces linear algebra (as used in graphics and machine learning), algebra (as used in cryptography), and set theory (a fundamental language of mathematics). It also deals with the formalisation of computability via (mathematical) automata, learning about regular expressions and grammars along the way, concluding with non-computability and complexity.


The aims of this module are to:

Learning Outcomes

On successful completion of this module, the student should be able to:

  • solve mathematical problems in algebra and set theory
  • apply mathematical techniques to solve a problem within a computer science setting
  • explain the basics of automata theory, formal language theory, computability theory and complexity theory
  • describe and use the connection between finite automata and regular language
  • explain non-computability and undecidability issues


Teaching methods

Lectures, Problem Sessions

Contact hours: 66


Assessments: 2hr Examination (80%), Continuous Assessment (20%) Reassessment: 2hr Examination (100%)

Detailed Syllabus

Programmes containing this module