Programming and interview foundations

Software Engineer

Learn the data structures, algorithms, and problem-solving patterns used in technical interviews and everyday engineering decisions.

By the end

Reason about performance, choose suitable data structures, and solve unfamiliar programming problems systematically.

Suggested next course

Big-O Notation

Count how much work code performs, then describe how that work grows with the input.

Start with Big-O
Jump to a phase 4 phases

Learn how programs use data

4 courses · 1 practice activities

View phaseHide phase

Start with runtime, then learn the containers used in nearly every program.

Learn the concepts

  1. AlgorithmsSuggested nextBig-O Notation
  2. AlgorithmsArrays
  3. AlgorithmsStrings
  4. AlgorithmsHash Tables and Sets

Put it into practice

Build and search structures

6 courses

View phaseHide phase

Recognize reusable patterns

6 courses · 2 practice activities

AI-assisted Coding included
View phaseHide phase

Replace repeated brute force with small, recognizable techniques.

Learn the concepts

  1. AlgorithmsTwo Pointers
  2. AlgorithmsSliding Window
  3. AlgorithmsPrefix Sums
  4. AlgorithmsIntervals
  5. AlgorithmsMonotonic Stacks
  6. Algorithms · OptionalTries

Put it into practice

Solve connected and constrained problems

9 courses

View phaseHide phase