Data Structures & Algorithms¶

Algorithms and data structures help you write programs that stay correct and fast as the input gets bigger. They teach you how to store data well and how to solve problems step by step, instead of guessing.
Even in the era of intelligent systems, these fundamentals matter, probably more than ever: they help you check results, understand trade‑offs, and build solutions you can explain and trust.
Quick links
- Start here: Foundations
- Course project: Project overview
- Reading list: Literature
How to use this site¶
- Use the top menu to jump between the 4 blocks.
- Each lecture page has Slides (PDF) and Practice tasks.
- Before class, skim the lecture page and try 1-2 tasks.
Course blocks¶
-
Foundations
What an algorithm is, how to describe steps clearly, and how to reason about solutions.
Open → -
Linear structures
Arrays, linked lists, stacks, queues-core building blocks you’ll use everywhere.
Open → -
Core techniques
Searching, sorting, recursion-patterns that keep returning in different problems.
Open →
Project¶
Course project (3 sprints)
A substantial project where you apply the course concepts in three sprints-each with clear goals, practical deliverables, and feedback to help you improve as you build.
How to succeed here¶
This course rewards steady work more than last‑minute effort.
- Keep a small notebook (digital or paper) of ideas, mistakes, and patterns you notice.
- When you get stuck, write down what you tried and what failed-then ask a precise question.
- Aim for understanding first, speed later; clean solutions come from clear thinking.
A good week
Read the lecture notes → solve a few tasks → review your solution → only then look at model answers.
