futurecoder
Learn Python from scratch.
Redefines interactive learning
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:

About
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 very much a work in progress. While most of the groundwork is in place, there is a lot to do to make this a complete course ready for users. All kinds of help are needed and greatly appreciated!



Interested in contributing code or course content?
   Check out the contribution guide on GitHub
This site currently runs on low-cost hardware and cannot handle a large number of users simultaneously. We want to avoid displaying ads or restricting content to paid users, so please consider donating to keep servers running and allow more users to start learning.
Keep futurecoder alive!
   Donate on open collectiveContact Us
   Chat on Slack
   Open an Issue on GitHub
   hello@futurecoder.io