Search programme

​Use the search function to search amongst programmes at Chalmers. The study programme and the study programme syllabus relating to your studies are generally from the academic year you began your studies.

Syllabus for

Academic year
DAT038 - Data structures and algorithms
Datastrukturer och algoritmer
Syllabus adopted 2021-01-22 by Head of Programme (or corresponding)
Owner: TKDAT
7,5 Credits
Grading: TH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Education cycle: First-cycle
Main field of study: Computer Science and Engineering, Software Engineering

Teaching language: English
Application code: 49124
Open for exchange students: Yes
Maximum participants: 215
Only students with the course round in the programme plan

Module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0119 Laboratory 3,0 c Grading: UG   3,0 c    
0219 Examination 4,5 c Grading: TH   4,5 c   13 Jan 2022 pm J,  15 Mar 2022 pm J,  18 Aug 2022 am J,  04 Jun 2022 am J

In programs



Peter Ljunglöf

  Go to Course Homepage


General entry requirements for bachelor's level (first cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

The same as for the programme that owns the course.
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

Knowledge in object oriented programming corresponding to at least 7.5hp, including recursive functions and methods. Basic mathematical concepts, such as sets, functions, relations, graphs, logarithms and proofs by induction.


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.

Learning outcomes (after completion of the course the student should be able to)

Knowledge and understanding

  • explain basic abstract data types and data structures, including lists, queues, hash tables, trees, and graphs
  • explain some of the algorithms used to manipulate and query these data structures in an efficient way, and explain why they are correct

Competence and skills

  • apply basic abstract data types and data structures, and algorithms related to these
  • implement and use abstract data types as interfaces, and data structures as classes, in an object-oriented programming language
  • use a standard library of data structures and algorithms
  • read, specify, and describe algorithms, at a higher level of abstraction than code

Judgement and approach

  • analyse the efficiency of basic algorithms and data structures
  • make informed choices between different data structures and algorithms for different applications


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


The teaching consists of lectures, group work, exercises, as well as supervision in connection to the exercises.


See course homepage.

Examination including compulsory elements

The course is examined by an individual written exam carried out in an examination hall, and assignments normally carried out in smaller groups.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.

Page manager Published: Mon 28 Nov 2016.