Course syllabus
Course PM
DIT182 and DAT495 Datastructures and algorithms, V24 lp3 (7.5 hp)
This course is offered by the department of Computer Science and Engineering.
Note: get started with the starting guide!
Teachers and student representatives
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.
Course literature
Schedule
See TimeEdit.
Course design
We use the following tools to communicate:
- Canvas. General information, announcements, lecture material, exercises, online quizzes.
- Slack (web version). Our primary question and discussion medium. Also used to request lab supervision. Sign up with your student email address.
- Chalmers GitLab. The lab projects happen here. Sign in with Chalmers Login.
- Mentimeter. Interactive quizzes during lectures. You can install the app on your phone.
- Zoom. We may offer online lab supervision via Zoom.
The course consists of:
Examination form
To pass the course, you need to pass:
- all four laborations (including supervision checkpoints),
- the written hall exam at the end of the course (no help allowed).
Examination dates
Learning objectives and syllabus
Your study portal has the complete syllabus. Below are main intended learning outcomes.
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
- use a standard library of data structures and algorithms
Judgement and approach
- analyse the efficiency of basic algorithms and data structures
- make informed choices between different data structures and algorithms for different applications
Changes made since the last occasion
The labs are now also offered in Python (in addition to Java as before).
Course summary:
Date | Details | Due |
---|---|---|