Module Special Admissions Requirements
Prior Study of
CESCOM10083-4 Introduction to Software Development AND
CESCOM10073-4 Fundamentals of Computing and Mathematics, or their equivalents
Module Resources
Access to C++ development environment on standard University computers.
Module Texts
For the Mathematics:-
Foundation Mathematics, KA Stroud with DJ Booth, 2009, Palgrave MacMillan. ISBN 0230579078.
Discrete Mathematics for Computer Scientists, J Truss, 1999, Addison Wesley. ISBN 0201360616.
Numerical Mathematics and Computing, W Cheney & D Kincaid, 2008, Brooks/Cole. ISBN 0534389937.
For the Algorithmics:-
Data Structures and Algorithms in C++, Goodrich, Tamassia & Mount, 2011, John Wiley. ISBN 0-470-38327-8
Algorithm Design, Kleinberg and Tardos, 2005, Pearson/Addison-Wesley. ISBN 0-321-29535-8
Introduction to Graph Theory, Douglas B West, 2000, Pearson. ISBN 978-0130144003.
Module Learning Strategies
The material will be introduced over 72 hours consisting of 48 hours lectures and 24 hours tutorials/practicals. There will also be a further 24 hours of drop-in tutorials/practicals for those students in need of extra support.
Module Indicative Content
Advanced Mathematical Concepts
- Introduction to Differential Calculus.
- Introduction to Integration.
- Chain, Product and Quotient Rules and Partial Differentiation applied to polynomials and trig functions.
- Probability - Bayes' Theorem. The Normal Distribution.
- 2 and 3 Dimensional vectors - arithmetic, magnitude and scalar product
- Tangents and normals, line, curve and plane intersections
- Complex Numbers - basic arithmetic in rectangular and polar representations
- Quaternions - Representation, Euler versus Quaternion rotation, Linear and Spherical interpolation
- Gradient Descent - Newton-Raphson
Algorithmics
* Time and Storage complexity - Big O notation - Complexity Classes P and NP.
- Advanced Pseudo-Code
- Measures of complexity
- Algorithm Paradigms: Divide and Conquer, Greedy Algorithms.
- Advanced data structures - Balanced tree schemes.
- Efficiency and Tuning: Comparison of sorts, heaps, graph algorithms, greedy algorithms, divide and conquer.
- Graph Theory - Nodes and Paths, traversal, critical path analysis - Max-Flow / Min-Cut
- Matching algorithms
- Memory management - Stack, heap and frame memory
- Easy versus Hard NP properties.
- Characterisation of good algorithms
Module Additional Assessment Details
1. Test weighted at 50% assessing learning outcomes 1 and 2. This will be a portfolio of three multi choice tests, equally weighted.
2. Assignment weighted at 50% assessing learning outcomes 3 and 4. This will consist of a task requiring some programming and a comparison discussion.
The final assessment point will be the assignment.