Learning Outcomes:
On completing this module, a student should be able to solve basic and intermediate programming problems involving data structures, mathematics, graphs, network flow, strings and geometry, as well as being conversant with various problem solving paradigms including greedy algorithms and dynamic programming.
Indicative Module Content:
The following indicative topics are envisaged:
Module Introduction
Data structures and libraries
Data structures
Problem solving paradigms
Greedy algorithms
Dynamic programming
Mathematics
Unweighted graphs
Graphs
Network flow
Strings
Geometry