Module Descriptors
FURTHER MATHEMATICS AND ALGORITHMICS
COSE50650
Key Facts
Digital, Technology, Innovation and Business
Level 5
30 credits
Contact
Leader: Craig Weightman
Hours of Study
Scheduled Learning and Teaching Activities: 96
Independent Study Hours: 204
Total Learning Hours: 300
Assessment
  • A multi choice test assessing part of the module content. weighted at 15%
  • A multi choice test assessing part of the module content. weighted at 15%
  • A multi choice test assessing part of the module content. weighted at 20%
  • A task requiring some programming and a comparison discussion related to the algorithmics content d weighted at 25%
  • A task requiring some programming and a comparison discussion related to the algorithmics content d weighted at 25%
Module Details
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
RESOURCES
Access to C++ development environment on standard University computers.
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.
SPECIAL ADMISSIONS REQUIREMENTS
Prior Study of
COSE40577 Introduction to Software Development AND
COCS40691 Fundamentals of Computing and Mathematics, or their equivalents
LEARNING OUTCOMES
1) DEMONSTRATE A CRITICAL UNDERSTANDING OF MATHEMATICAL, NUMERICAL AND STATISTICAL CONCEPTS THAT ARE APPLICABLE TO THE DOMAIN OF COMPUTER GAMES. (Analysis, Knowledge and Understanding, Learning).
2) EXPRESS PRACTICAL PROBLEMS IN THE APPROPRIATE MATHEMATICAL, NUMERICAL OR STATISTICAL NOTATION AND SOLVE THEM. (Analysis, Application, Communication, Problem Solving).
3) DEMONSTRATE A CRITICAL UNDERSTANDING OF ALGORITHMIC PARADIGMS AND APPROACHES FOR COMPARISON OF ALGORITHMIC APPROACHES FOR EFFICIENT PROBLEM SOLVING. (Analysis, Knowledge and Understanding, Learning).
4) CREATE ALGORITHMS FOR PROBLEM SOLVING IN THE DOMAIN OF COMPUTER GAMES. (Analysis, Application, Communication, Problem Solving).
Assessment Details
A multi choice test assessing part of the module content. (Learning Outcomes 1 and 2) 15% weighting

A multi choice test assessing part of the module content. (Learning Outcomes 1 and 2) 15% weighting

A multi choice test assessing part of the module content. (Learning Outcomes 1 and 2) 20% weighting

This will consist of a task requiring some programming and a comparison discussion related to the algorithmics content delivered on the module. (Learning Outcomes 3 and 4) 25% weighting

This will consist of a task requiring some programming and a comparison discussion related to the algorithmics content delivered on the module. (Learning Outcomes 3 and 4) 25% weighting
Module Learning Strategies
The material will be introduced over 78 hours consisting of 52 hours lectures and 26 hours tutorials/practicals. There will also be a further 26 hours of drop-in tutorials/practicals for those students in need of extra support.
Web Descriptor
For this module, the programming students' knowledge base is grown to include an appreciation of mathematical techniques that are commonly utilised within games programming. The module also gets students thinking algorithmically in order to facilitate efficient code and process design.