Skip to content

Data Structures & Algorithms

DSA Algorithms banner

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

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.

Overview → · Sprint 1 → · Final Project → ·

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.

Hero image