Module Special Admissions Requirements
Prior study of CE00396-1 Object Oriented and Event Driven Programming and CE00371-1 Introduction to Software Development or equivalent.
Module Resources
E-Notes /E-Formative exercises.
Java compiler.
Module Learning Strategies
Each week, there will be, 2 lectures and 1 tutorial - to help the understanding of the underpinning key algorithmic concepts.
Formative Exercises used to highlight concepts and notions.
Pre-coded algorithms to illustrate concepts and notions.
E-notes + E-exercises to read ahead the pedagogic material.
(1:n)2 (1:20)1
Module Indicative Content
Pseudo-Code standard. B-trees, comparison of sorts, heaps, graph algorithms,
greedy algorithms, divide and conquer, dynamic programming.
Matroids. Matching.
Measures of complexity, big-Oh notation.
Complexity Classes P and NP.
Easy versus Hard NP properties.
Characterisation of good algorithmics.
Generic concurrency algorithms.
Module Additional Assessment Details
One 50% assignment. A critical appraisal of two computing algorithms, 2000 words. (Learning outcomes 1-4)
One 50% examination (2 hours) (Learning outcomes 1-4)
Module Texts
Data Structures and Algorithms in Java, 4th Edition, M T Goodrich, R Tamassia, WILEY 2006, ISBN: 0471-75884-0
Introduction to Graph Theory 2nd Edition, D B West, PEARSON HIGHER EDUCATION 2000, ISBN: 0-13-0144400-2
Algorithm Design, J Kleinberg and E Tardos, Pearson Education, 2006, ISBN: 0-32-29535-8