School of Computer Science

Module 06-21254 (2018)

Mathematical Techniques for Computer Science

Level 2/I

Martin Russell Semester 1 10 credits
Co-ordinator: Martin Russell
Reviewer: Achim Jung

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


Computer Science makes use of a variety of mathematical techniques to describe and solve computational problems. Often, these techniques are quite deep and outside the scope of standard mathematical syllabuses, for example, the use of structural recursion in the analysis of data structures and programming languages. The module aims to present a core of mathematical techniques in a sample computational context, and tries to strike a balance between systematic introduction and an application-orientated "maths-by-need" approach.


The aims of this module are to:

  • present mathematical techniques that underly Computer Science
  • present these techniques in a sample Computer Science context
  • illustrate the power of mathematics in solving problems in Computer Science
  • provide an introduction to Linear Algebra, Set Theory, and Probability

Learning Outcomes

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

  1. solve simple mathematical problems in the areas covered by the module
  2. apply a given mathematical technique to solve a problem within a computer science setting


06-20415 (Introduction to Mathematics for Computer Science) or A-level Mathematics at grade C or above (or equivalent)

Teaching methods

2 hrs/week of lectures plus 1 hr/week exercise classes.

Contact Hours: 34


Sessional: 1.5 hr examination (80%), continuous assessment (20%).

Supplementary (where allowed): By examination only.

The continuous assessment consists of two class tests (10%) plus weekly homework (10%).

Detailed Syllabus

  1. Linear Algebra
    • solving systems of linear equations
    • finite fields
    • matrices
    • describing geometric objects in the plane and in space
    • vector spaces
  2. The language of sets
    • sets
    • cardinality
    • functions
    • relations
    • inductive definitions
  3. Probability
    • finite probabilities
    • distributions
    • random variables

Programmes containing this module