Search course

Use the search function to find more information about the study programmes and courses available at Chalmers. When there is a course homepage, a house symbol is shown that leads to this page.

Graduate courses

Departments' graduate courses for PhD-students.

​​​​
​​

Syllabus for

Academic year
TDA417 - Data structures and algorithms  
Datastrukturer och algoritmer
 
Syllabus adopted 2019-02-21 by Head of Programme (or corresponding)
Owner: TKITE
7,5 Credits
Grading: TH - Five, Four, Three, Fail
Education cycle: First-cycle
Major subject: Information Technology
Department: 37 - COMPUTER SCIENCE AND ENGINEERING


Teaching language: Swedish
Application code: 52138
Open for exchange students: No
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   14 Jan 2020 pm H   30 Apr 2020 am DIST   20 Aug 2020 am J

In programs

MPSYS SYSTEMS, CONTROL AND MECHATRONICS, MSC PROGR, Year 1 (elective)
TKAUT AUTOMATION AND MECHATRONICS ENGINEERING, Year 3 (elective)
TKELT ELECTRICAL ENGINEERING, Year 3 (compulsory elective)
TKITE SOFTWARE ENGINEERING, Year 2 (compulsory)
TKTFY ENGINEERING PHYSICS, Year 3 (elective)

Examiner:

Peter Ljunglöf

  Go to Course Homepage

Replaces

TDA415   Data structures TDA416   Data structures and algorithms


Eligibility:

In order to be eligible for a first cycle course the applicant needs to fulfil the general and specific entry requirements of the programme(s) that has the course included in the study programme.

Course specific prerequisites

Programming in an object-oriented programming language, including recursive functions and methods. Basic mathematical concepts, such as sets, functions, relations, graphs, logarithms and proofs by induction.

Aim

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.

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

Knowledge and understanding

  • explain some 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

Judgement and approach

  • analyse the efficiency of different algorithms, for example searching and sorting algorithms
  • make informed choices between different data structures and algorithms for different applications

Content

The course covers the following topics:
  • abstract data types
  • asymptotic efficiency and simple complexity analysis of imperative code
  • common data structures such as arrays, lists, trees, 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
  • common algorithm design techniques, such as brute force, divide and conquer, and randomization

Organisation

The teaching consists of lectures, exercises, and laborations, as well as supervision in connection to the laborations.

Literature

See course homepage.

Examination including compulsory elements

The course is examined by an individual written exam given in an examination hall (4.5 hec) and laboratory work (3.0 hec). The laboratory work is normally done in pairs.


Page manager Published: Thu 04 Feb 2021.