Skip to content

About

What this is

A place to learn programming from the first line, in the order a course actually teaches it. Problems that begin with printing a line of text and end with building a queue, each one run on a real compiler against real test cases.

Most practice sites assume you already know how to program and are preparing for interviews. This one assumes you are in your first or second year and have not written much yet.

What makes it different

When your program fails, you are told which line broke and why, in plain English. A red cross teaches nothing; “you used a position that does not exist in the list” teaches something.

Every test case says what it is checking, so a failure reads “this one has an empty list” rather than “test 6 failed”. Every problem has four hints that go from a nudge to the answer, so being stuck does not have to mean giving up or reading the solution.

What it deliberately does not do

  • No certificates. A certificate from a site nobody has heard of is worth nothing, and pretending otherwise would be dishonest.
  • No paywall for students. Every problem, every lesson, the compiler and the playground are free to use, and that is not a trial. Colleges that want their own space, with their students together in one place, pay for that part. A student never does.
  • No global leaderboard. Ranking every student against every other is demoralising for almost all of them and useful to none.
  • No streak guilt. Streaks are shown as a fact. You will never be warned that you are about to lose one.

What is here

1,948 coding problems, 923 multiple choice questions and 17 case studies, across eight subjects: data structures and algorithms, dynamic programming, operating systems, computer networks, databases, object oriented programming, software engineering and problem solving. Every one is published, which means it has a verified solution and test cases that actually run.

Data structures and algorithms is the deepest, at over seventeen hundred problems. The smallest subject has seventy-three. They grow when there is something worth adding, not on a schedule: a half-written topic wastes more of your time than a missing one.

How the code runs

Your program is compiled and executed in an isolated sandbox with its own time and memory limits and no network access. It is the same setup for the graded problems and for the free compiler.

Nothing you write is shared with anyone, and your solutions are yours. Problem statements here are written from scratch rather than copied from other sites.

Why it exists

It was built because the tool described above did not exist. Everything here comes from sitting on the student side of the problem rather than guessing at it.

About · LeetFoundation