EE Department Intranet -
Close window CTRL+W

ELEC50006 Discrete Mathematics

Lecturer(s): Dr Dan Goodman; Dr Sen Wang


Computer engineers need to bridge the analogue/digital divide, and must be able to apply mathematical techniques from both discrete and continuous maths. This module will introduce you to aspects of discrete mathematics and abstract algorithms. It is not intended to cover all of computer science theory, but will provide you with the necessary theoretical background to allow you to work closely with computer scientists and apply applied and theoretical methods from computer science.

Learning Outcomes

Upon completion of this module, you will be able to:

1. Apply graph algorithms to efficiently explore data-structures
2. Define the number tower and arithmetic operations in terms of sets
3. Prove algorithms are correct using inductive logic
4. Describe computability in terms of turing machines
5. Use complexity notation to analyse running time and storage requirements of a computer program.
6. Use the divide and conquer strategy for designing algorithms, and analyse their efficiency in terms of complexity notation using the Master Theorem.


- Big-O and complexity classes
- Graph algorithms
- Inductive proofs
- Dynamic programming
- Sets and numbers
- Turing machines
- Computability
Exam Duration: 2:00hrs
Exam contribution: 90%
Coursework contribution: 10%

Term: Autumn

Closed or Open Book (end of year exam): N/A

Coursework Requirement:
         Laboratory Experiment
         Non-assessed problem sheets

Oral Exam Required (as final assessment): no

Prerequisite module(s): None required

Course Homepage: unavailable

Book List: