ELEC50006 Discrete MathematicsLecturer(s): Dr Dan Goodman; Dr Aaron Zhao Aims
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 datastructures 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. Syllabus
 BigO and complexity classes
 Graph algorithms  Inductive proofs  Dynamic programming  Sets and numbers  Turing machines  Computability Exam Duration: N/A Exam contribution: 90% Coursework contribution: 10% Term: Autumn Closed or Open Book (end of year exam): N/A Coursework Requirement: Laboratory Experiment Nonassessed problem sheets Oral Exam Required (as final assessment): no Prerequisite module(s): None required Course Homepage: unavailable Book List:
