Learn Python from scratch.

Redefines interactive learning

100% Free & Open Source

Designed with care for beginners

Take a peek inside!

Fully Interactive

Users must run code in the provided editor or shell and answer questions to advance.

Easy Debugging

With a single click, users can run powerful debuggers to visualise execution and find problems. There are three debuggers, each with their own strengths: Python Tutor, Snoop, and Bird's Eye (pictured).

Enhanced Error Messages

Normal Python tracebacks are intimidating to beginners. futurecoder removes the fear and makes them helpful instead.

Parsons Problems

If a student is stuck trying to solve an exercise, and they've exhausted all the hints, they can try putting the shuffled solution in the correct order instead. This ensures they still apply their mind while reducing frustration.

Solution Breadcrumbs

As a last resort, students can gradually reveal the solution until they have enough information to fill in the remaining gaps themselves.

This is just a sample of the features.
For more, watch the video below for more information or get started immediately!

Watch a demo of the features and benefits:

Want to receive updates about futurecoder?


futurecoder is a free and open-source platform and course for complete beginners to teach themselves programming in Python.

The long-term goals of futurecoder are ambitious:
  • Revolutionise computing education. We believe current learn-to-code platforms could be so much better.
  • Make the best learning resource possible which everyone can contribute to and improve
  • Allow anyone to learn programming on their own, regardless of background or talent
We mean to achieve this by:
  • Keeping students engaged and interested as they learn to write real code
  • Providing powerful tools that are easy to use to prevent frustration
  • Teaching Python, widely considered to be the best language to learn first as well as the most popular language in real applications.
  • Consistently iterating with an open-source codebase

This is a never-ending project. There is lots of work to do to make this site bigger and better. All kinds of help are needed and greatly appreciated!

Interested in contributing code or course content?

   Check out the contribution guide on GitHub