The course syllabus contains changes
See changesCourse syllabus adopted 2019-02-21 by Head of Programme (or corresponding).
Overview
- Swedish nameDatastrukturer och algoritmer
- CodeTDA417
- Credits7.5 Credits
- OwnerTKITE
- Education cycleFirst-cycle
- Main field of studySoftware Engineering
- DepartmentCOMPUTER SCIENCE AND ENGINEERING
- GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Course round 1
- Teaching language Swedish
- Application code 52111
- Open for exchange studentsNo
- Only students with the course round in the programme overview.
Credit distribution
Module | Sp1 | Sp2 | Sp3 | Sp4 | Summer | Not Sp | Examination dates |
---|---|---|---|---|---|---|---|
0119 Laboratory 3 c Grading: UG | 3 c | ||||||
0219 Examination 4.5 c Grading: TH | 4.5 c |
|
In programmes
- 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
- Senior Lecturer, Computing Science, Computer Science and Engineering
Eligibility
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
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.
The course syllabus contains changes
- Changes to examination:
- 2021-03-24: Examination datetime Examination datetime changed from 2021-08-19 Morning to 2021-08-27 Afternoon by examinator
[2021-08-19 4,5 hec, 0219] - 2020-09-30: Grade raising No longer grade raising by GRULG
- 2021-03-24: Examination datetime Examination datetime changed from 2021-08-19 Morning to 2021-08-27 Afternoon by examinator