Skip to main content

Data Structures and Algorithms


  • Credit value: 15 credits at Level 5
  • Convenor: Dr Igor Razgon
  • Assessment: an online quiz (50%) and three-hour examination (50%)

Module description

Data structures and algorithms are fundamental to programming and to understanding computation. In this module we introduce you to techniques for using data structures and some basic algorithms. You will have an opportunity to examine practical problem-solving in this area.

Indicative 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

Learning objectives

By the end of this module, you will:

  • understand a variety of techniques for designing algorithms
  • understand a variety of data structures and be able to use them appropriately to solve problems
  • understand some fundamental algorithms and apply them to solve practical problems
  • have further experience with the skills developed in the Introduction to Computer Systems module (or equivalent)
  • have knowledge of how these data structures and algorithms may be used in program design and implementation.