The course syllabus contains changes
See changesCourse syllabus adopted 2024-02-01 by Head of Programme (or corresponding).
Overview
- Swedish nameDatastrukturer och algoritmer
- CodeDAT495
- Credits7.5 Credits
- OwnerTIDAL
- Education cycleFirst-cycle
- Main field of studyComputer Science and Engineering, Software Engineering
- DepartmentCOMPUTER SCIENCE AND ENGINEERING
- GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Course round 1
- Teaching language English
- Application code 62119
- Maximum participants150
- Open for exchange studentsNo
Credit distribution
Module | Sp1 | Sp2 | Sp3 | Sp4 | Summer | Not Sp | Examination dates |
---|---|---|---|---|---|---|---|
0121 Laboratory 3 c Grading: UG | 3 c | ||||||
0221 Examination 4.5 c Grading: TH | 4.5 c |
|
In programmes
- TIDAL - COMPUTER ENGINEERING, Year 2 (compulsory)
- TKELT - ELECTRICAL ENGINEERING, Year 3 (compulsory elective)
Examiner
- Christian Sattler
- Senior Researcher, 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
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.Aim
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
- 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
Content
The following topics are covered by the course:
- abstract data types
- data structures and algorithms focusing on imperative och object-oriented languages
- 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
- using different libraries for data structures and algorithms
- basic complexity analysis of data structures and algorithms
Organisation
The teaching consists of lectures, exercises and supervised group work.Literature
See the course homepage.Examination including compulsory elements
The course is examined by an individual written exam (4.5 hec), and assignments carried out in groups (3.0 hec). To pass the course, students must receive a passing grade in both modules. The grade for the entire course will be determined by the written exam.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.
The course syllabus contains changes
- Changes to course rounds:
- 2024-04-25: Examinator Examinator changed from Peter Ljunglöf (peb) to Christian Sattler (sattler) by Viceprefekt/adm
[Course round 1]
- 2024-04-25: Examinator Examinator changed from Peter Ljunglöf (peb) to Christian Sattler (sattler) by Viceprefekt/adm