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

See here.

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

See here.

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:

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