Course syllabus

All content in the course page will be found in the modules section.


  • TDA417 Datastrukturer och algoritmer, lp2 HT22 (7.5 hp)

Teachers and student representatives

  • Teachers: Jonas Duregård (examiner), Peter Ljunglöf
  • Teaching assistants

Preferred mode of contact is through slack (join it here). Otherwise email Sensitive or urgent matters can be handled by phone: +46317721028.

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 in timeedit.

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 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 detailed schedule is in TimeEdit, and details about the lectures and assignments are in the Modules, but here is some general information.


  • Three times per week. May include some exercises. 


  • There are 4 compulsory assignments
  • Every assignment has two 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 second deadline to correct your solution.
  • The laborations are done in groups of 3 students.
    • Every student should find someone to team up with, and there are Slack channels to help you find lab partners.
    • 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.
  • Lab supervision will be done both on campus, and online via Zoom.
  • The assignments are not graded, but you have to pass all of them.

Weekly exercises

  • Every week we will publish new quizzes and exercises which will help you in your learning.
  • You are encouraged to attend weekly exercise sessions: Mondays, Tuesdays or Thursdays, 13–15 or 15–17. 
  • The exercise sessions will be on campus.

Written examination

  • There is a written exam at the end of the course; as usual it is compulsory and individual.
  • Your final course grade will be decided from your result on the written exam. 

Passing the course

  • To pass the course you need to pass all 2 or 3 laborations, 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