Skip to main content

Data Structures and Algorithms

Bachelor’s level
7,5 credits (ECTS)


Data structures and algorithms are fundamental building blocks in almost all software products. Knowledge and skills in data abstraction, data structures, and algorithms are important in the construction, use, and maintenance of adaptable, reusable, correct, and efficient program components.

The course gives knowledge and skills in the construction and use of algorithms and data structures, an introduction to various techniques for the analysis of algorithms, and insights in the advantages of using data abstraction in program development.

The following topics are covered by the course:

  • abstract data types
  • common data structures such as arrays, linked lists, unbalanced and balanced trees, heaps, and hash tables
  • how these can be used to implement abstract data types such as stacks, queues, priority queues, maps, sets, and graphs
  • standard algorithms for these data structures, including their resource demands
  • searching and sorting algorithms
  • standard libraries for data structures and algorithms
  • asymptotic efficiency and simple complexity analysis of data structures and algorithms

Prerequisites and selection


Successfully completed 7.5 credits in object oriented programming (for example DIT042 Object-Oriented Programming, 7.5 credits) and successfully completed 7.5 credits on basic mathematical concepts such as sets, functions, relations, graphs, logarithms and proof by induction (for example DIT022 Mathematical Foundations for Software Engineering, 7.5 credits).