Course syllabus

Data Structures and Algorithms

Begin with arrays, linked lists, stacks, queues, trees, and graphs. Each lesson shows how the data is laid out, how common operations work, and what those operations cost.

The algorithm lessons build on those structures. Sorting explains how order is created; searching explains how ordered data lets a program discard work.

Curriculum section

Start with the foundations

Learn how to describe an operation, estimate its running time, and choose storage that matches the work a program performs.

Curriculum section

Linear data structures

These structures keep values in a sequence. The important difference is how each one finds, inserts, and removes an item.

Curriculum section

Advanced structures and algorithms

Structures that combine concepts or maintain strict invariants to achieve faster lookups and dynamic state management.

Curriculum section

Trees, graphs, and indexed structures

Use these when relationships branch, connect in many directions, or need faster lookup than a simple scan.

Curriculum section

Core algorithms

Algorithms transform or inspect the structures above. Begin with ordering and lookup, then move to ways of exploring choices.

Curriculum section

Problem-solving methods

These methods help when a direct scan is not enough and a problem has overlapping choices, local decisions, or repeated subproblems.