Course syllabus
All content in the course page will be found in the modules section (most of it will be added as the course progresses).
Course-PM
- DAT525 Datastrukturer och algoritmer, lp1 HT25 (6.0 hp)
Examiner:
Yehia Abd Alrahman, Associate Professor in Computer Science
- yehiaa@chalmers.se
- Office: Here
- Preferred mode of contact is through Discord (join link in modules section); otherwise email. Lecture breaks are also a good time to talk to me.
Student Representatives:
TKAUT erik_andreen@hotmail.com Erik Andréen
TKAUT edmananders05@gmail.com Anders Edman
TKAUT alem5hamza@gmail.com Alem Hamza
TKAUT alice.mellbo@gmail.com Alice Mellbo
TKAUT alfred.nyman@outlook.com Alfred Nyman
Language
The course material is in English. I lecture in English
Course purpose
Data structures and algorithms are fundamental building blocks in almost all software products. Knowledge of data abstraction, data structures, and algorithms is important in the construction, use, and maintenance of adaptable, reusable, and efficient program components.
The course gives knowledge and skills in the construction and use of data structures and algorithmic concepts, and gives an introduction to algorithm analysis and data abstraction.
Schedule
All lectures will be given twice, once for DAT525 and once for TDA417, so if you miss a lecture (or like it so much you want to see it twice) and happen to have time on the other slot, you can attend. You fined Here a combined schedule for lectures.
The same is true for the lab supervision sessions, if there's room, it's fine if you attend sessions for the other course.
Schedule in TimeEdit (only DAT525).
Course literature
- The main course book is a modified version of the online book, Open Data Structures and Algorithms. Some additional material will be made available during the course.
- A book authored by our teaching team and is based on the materials of this course can be found here. Please report any typos or issues so that the authors correct them.
- A very good additional book is Robert Sedgewick and Kevin Wayne (2011). Algorithms, 4th edition. You can find this book as a quite inexpensive online book.
- Other interesting books and useful websites are listed under Reading material.
Course organisation and examination
The course consists of two "modules": one (4.5hp) is the written examination, and one (1.5hp) are the assignments.
Lectures
- On average three times per week. The may include some exercises. (Details are TBD)
Assignments
- There are 3 compulsory assignments (called laboratories).
- Every assignment has two main deadlines:
- You must submit something for the first deadline, even if it's not working.
- The teachers grade and comment on the first submission, and if it's not accepted, you have until the final deadline to correct your solution.
- The first lab is individual.
- The labs 2–3 are done in groups of at most 3 students.
- The labs can be done in Java or Python, and it's up to the lab group to decide.
- There are lab supervision sessions where you can get help from course assistants.
- The labs/assignments are not graded, but you have to pass all of them.
- In addition, you have to complete individual Canvas quizzes to get a passing grade on the assignments.
More information:
- Information about the labs (lab-info) [Lab 4 is not required for DAT525]
- Working with Chalmers GitLab (chalmers-gitlab.md)
Weekly exercises
- Every week we will publish new quizzes and exercises which will help you in your learning.
Written examination
- Exam: Written exam 29 Oct 2025 pm J, 4.5 credits. (Always check this page for examination dates)
- Information about the exam (exam-info) (including upcoming dates).
- Detailed list of what topics you should know for the exam (exam-topics).
- A repository of past exams (past-exams).
Passing the course
- To pass the course you need to pass all 3 labs for DAT525, and the written examination.
- The final grade is the same as the grade on the written examination.
Learning objectives and syllabus
You can read the complete syllabi on Studieportalen.
Course summary:
Date | Details | Due |
---|---|---|