Logic101

About Logic101

Logic101 is a problem-set-driven course that teaches computational thinking through Python — not by memorizing syntax, but by understanding how humans, systems, and information interact.

Philosophy

Most programming courses start with variables and loops. Logic101 starts with the real world.

Every problem is rooted in something humans have been doing for thousands of years — greeting each other, encoding messages, processing language — and then asks: how would you make a computer do that?

This approach teaches you to think computationally before you think syntaxically. The code follows from the logic, not the other way around.

How It Works

  • Problem Sets — Each problem comes with cultural/historical context, a clear specification, starter code, and hidden tests.
  • Codespaces — One click opens a fully configured development environment. No setup needed.
  • l101 CLI — A command-line tool for pulling starter code, running tests, and submitting solutions.
  • Autograding — Hidden tests run on a remote server. Every test you pass earns you a point. Full marks are achievable by any student who passes all tests.

Grading

Each problem set has a set of hidden tests. Your score is the number of hidden tests you pass. The maximum score equals the total number of hidden tests.

You can submit multiple times (up to a limit per problem set), and your best score is kept. There is no penalty for resubmitting to improve your score.

Inspired by CS50

Logic101 draws heavy inspiration from CS50 — Harvard's introduction to computer science. We've adopted its philosophy of problem-set-driven learning, autograding, one-click development environments, and the idea that every student can succeed.

Technology

  • GitHub Codespaces — One-click development environments using the student's own GitHub account.
  • l101 CLI — Pull, test, and submit problem sets from the command line.
  • Docker-based autograding — Student code runs in isolated containers for fairness and safety.
  • GitHub OAuth — Authentication tied to each student's GitHub identity.
  • Private repositories — Each student's code lives in a private repo, invisible to other students.

Open Source

The l101 CLI and coursekit library are open source. The grading server infrastructure is designed to be reusable — if you want to run your own Logic101-style course, you can build on top of coursekit.