Skip to main content

Data Structures and Algorithms


Module description

Data Structures and Algorithms are fundamental to programming and to understanding computation. The aim of this module is to provide you 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. You will have an opportunity to examine practical problem solving for this area.

Indicative module content

  • 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) - programming, use of basic computer tools to develop programs, and transferable skills
  • have knowledge of how these data structures and algorithms may be used in program design and implementation.