Data Structures and Algorithms
Aims
Data Structures and Algorithms are fundamental to programming and to understanding computation. The aim of this module is to provide students with a coherent introduction to techniques for using data structures and some basic algorithms. Teaching and learning methods include lectures and reading materials describing techniques for analysing algorithms and applications of data structures. Students will have an opportunity to examine practical problem solving for this area.
Syllabus
- Introduction to Data Structures and Algorithms;
- Data structures: arrays, lists, queues, stacks, and sets;
- Trees: binary trees;
- Recursion - Traversing binary trees;
- Dictionary based data structures: binary search trees, hash tables, maps;
- Analysis of running time of algorithms;
- Algorithms for sorting and searching;
- Elementary tree and graph algorithms: depth first and breadth first search;
- Finite state machines (automata) and regular languages;
- Turing machines.
Prerequisites
Introduction to Programming or Software and Programming 1
Timetable
All dates and timetables are listed in the programme handbooks of individual programmes.
Assessment
two hour written examination (80%) and coursework (20%).Recommended reading
TBD