Skip to content

Learn It, Then Practise It

Learn it, practise it, prove it.

Every subject runs in course order, so nothing arrives before you are ready. Your code runs on a real compiler in five languages and tells you what went wrong in plain English.

leetfoundationLive
OverviewProgress
4618491246Solved
78%81%76%78%Accuracy
72%61%44%72%Complete
Activityprev+18%+31%+126%+18%
7d3dNow
30d15dNow
Y1Y2Now
Continue
  • Current module68%
  • Practice set45%
  • Weekly goal82%
All tests passed: acceptedModule marked completeSubmission queued for judgingPractice streak extendedEditorial unlockedjust now2m5m11m20m

~/learn

Start where your course starts

Each subject runs from the first idea to the interview question, so you are never asked to use something you have not been taught yet.

View all learning paths

Data Structures & Algorithms

Problem solving and algorithmic thinking.

Structured Path
Beginner to Advanced

Database Management Systems

How data is stored, queried and kept correct.

Structured Path
Beginner to Advanced

Operating Systems

What the machine is doing while your code runs.

Structured Path
Beginner to Advanced

Computer Networks

How systems talk to each other, layer by layer.

Structured Path
Beginner to Advanced

Object Oriented Programming

Designing programs that stay easy to change.

Structured Path
Beginner to Advanced

Dynamic Programming

Turning exponential problems into fast ones.

Structured Path
Beginner to Advanced

Software & Systems Engineering

Building systems a team can still change later.

Structured Path
Beginner to Advanced

Problem Solving

Structured path, beginner to advanced.

Structured Path
Beginner to Advanced

How it works

Read it, write it, keep it.

  1. 01

    Read the idea

    Short pages that explain the thing itself, in the order a course teaches it, with a diagram where a diagram helps.

    Open a course
  2. 02

    Write the code

    Type it, run it on a real compiler, and when a case fails you are told which one and why, not just that it broke.

    Solve something
  3. 03

    Keep the proof

    Every solve is recorded. What you have done becomes the thing you point at when somebody asks what you can do.

    See the board

The workbench

A real compiler,
not a checkbox.

Five languages, hidden cases, and output you can read. The same toolchain that grades your submission is the one you write against, so there is no gap between practising and being marked.

main.cppgcc 10.2
#include <bits/stdc++.h>
int main() {
  int n, m; std::cin >> n >> m;
  // mark on enqueue, never on dequeue
  std::vector<char> seen(n + 1);
}

$ g++ -O2 main.cpp && ./a.out

Accepted · 9/9 tests · 41 ms · 3.2 MB

Ways in

More than one way in.

Forge 100

Nine hundred days of deliberate practice, one problem at a time, with the streak and the proof kept for you.

Start the challenge

Your résumé

A record of what you have built and solved, in a form somebody hiring can read in thirty seconds.

Build a résumé

Your college

See who else on your campus is working through the same material, and where you sit among them.

Find your college

The playground

A model you download into your own browser. Ask why an error happened, or for an idea in different words. Nothing is sent anywhere.

Open it

Start with one problem.

The first one prints a line of text. The last one cannot be brute forced.