School of Computer Science

Module 30181 (2019)

Module description - Mathematical Foundations of Computer Science

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

Module Title Mathematical Foundations of Computer Science
School School of Computer Science
Module Code 06-30181
Level 1/C
Member of Staff Achim Jung Paul Levy
Semester Semester 1 - 20 credits

Lectures, Problem Sessions

Contact hours: 66


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.


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

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