Skip to content Search
Search our website:

Data Structures and Algorithms

Short name: DSA
SITS code: BUCI030H5
Credits: 15 credits
Level: 5
Module leader: Igor Razgon
Lecturer(s): Igor Razgon, Trevor Fenner

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