ELEC50006 Discrete Mathematics
Lecturer(s): Dr Dan Goodman; Dr Aaron Zhao
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.
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
Exam Duration: N/A
Exam contribution: 90%
Coursework contribution: 10%
Closed or Open Book (end of year exam): N/A
Non-assessed problem sheets
Oral Exam Required (as final assessment): no
Prerequisite module(s): None required
Course Homepage: unavailable