CS-A1140: Data Structures and Algorithms

Course name Data Structures and Algorithms
Course code CS-A1140
Abbreviation DSA
Period I-II
Lecturer Lukas Ahrenberg & Tomi Junttila

Description

Compulsory course introducing fundamental data structures and algorithms in Scala. Topics include sorting, searching, hashing, dynamic programming, graph algorithms, and parallel algorithms.

Course material

Official material

A+ online platform with weekly chapters, quizzes, programming exercises, and an optional textbook based on Introduction to Algorithms.

Extra material

IntelliJ IDEA documentation and online videos.

Contents and workload

Overall workload

Approximately 7–9 hours of work per week. The middle weeks are the most demanding.

Weekly contents

Week Topics
1 Big-O notation, basic data structures
2 Sorting algorithms
3 Trees and heaps
4 Binary search trees
5 Hashing
6 Dynamic programming
8–9 Graphs and graph algorithms
10 Parallel algorithms
11 NP-completeness, graph colouring
12 Extra assignments
13–14 Revision and final exam

Practicalities

Weekly A+ programming exercises together with a mandatory final written exam. Exercise sessions are available.

Official prerequisites

Additional prerequisites

More like this

Trivia