alexmojaki/futurecoder
alexmojaki/futurecoder has 1,552 GitHub stars and 190 forks. GitHot measured 0 stars in 24 hours and +2 in 7 days. Last checked 2026-11-07 21:23 UTC. Last push 2026-05-09.
100% free and interactive Python course for beginners
What you can do
- The course is a fully interactive 'book' which requires the user to run code in the provided editor or shell to advance:
- This requires a mixture of solving problems or simply typing and running provided code. In the latter case, the user is often kept engaged by being asked to predict the output in a simple multiple choice question: - The code at each step is checked automatically. If needed, the student can get small hints to gradually guide them to the solution:
- If they're still really stuck, they can reveal the solution bit by bit: - Or in some cases solve a Parsons problem instead, where they have to put a shuffled solution in the correct order:
- Highlighting the exact operation that failed, not just the line, using executing
Measured star growth
- in 24h
- 0
- in 7 days
- +2
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalfuturecoder
This is a 100% free and interactive course for people to teach themselves programming in Python, especially complete beginners at programming. It is carefully designed to reduce frustration and guide the user while still ensuring that they learn how to solve problems. The goal is for as many people as possible to learn programming.
You can try it out here: https://futurecoder.io/
Please consider contributing or donating!
Alternatively, come have a chat on discord.
Features
For a fuller demonstration and explanation, watch this video.
| The course is a fully interactive 'book' which requires the user to run code in the provided editor or shell to advance: | |
|
|
| This requires a mixture of solving problems or simply typing and running provided code. In the latter case, the user is often kept engaged by being asked to predict the output in a simple multiple choice question: | The code at each step is checked automatically. If needed, the student can get small hints to gradually guide them to the solution: |
|
|
|
| If they're still really stuck, they can reveal the solution bit by bit: | Or in some cases solve a Parsons problem instead, where they have to put a shuffled solution in the correct order: |
|
|
Tracebacks are more helpful than usual, with several enhancements:
|
Common mistakes can be caught and pointed out to the student. This includes specific checks in some steps as well as linting tailored for beginners. |
|
|
Several debuggers are provided, including snoop... |
|
|
|
|
|
...and Python Tutor |
|
|
|
Running locally
- Fork this repo,
git cloneit, and enter the top-levelfuturecoderfolder. - Install Python 3.12.1 and poetry.
- Run
poetry installto install Python dependencies. - Run
./scripts/generate.sh. This will generate various static files from Python used by the frontend and run some tests. Repeat this step whenever you change Python files. - In the
frontendfolder:Install
node >= 22.17.0.Run
npm cito download dependencies.Run
npm run buildand then copyservice-worker.jsfrom thecoursefolder to thepublicfolder. The service worker is used by sync-message to handletime.sleepand reading from stdin (e.g.input()) in Python. If you want to enable caching (not a good idea when developing), set the environment variableREACT_APP_PRECACHE=1when building.Run
npm startto start the frontend development server.
- Go to http://localhost:3000/course/
To learn more about the system, see the contributing guide.
Controls
To explore the course more freely:
- Click the hamburger menu icon in the top left.
- Click Settings.
- Turn Developer mode on.
- This should give you two red buttons floating at the bottom of the screen. They change the currently active step, so you can move forward without having to complete exercises or backwards to test a step again.
Explore related projects
sindresorhus/awesome
😎 Awesome lists about all kinds of interesting topics [NOTE: Pull requests are temporarily disabled until I have a chance to catch up with the existing ones]
533,576 starsEbookFoundation/free-programming-books
:books: Freely available programming books
401,270 starsnilbuild/developer-roadmap
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
371,539 starsvinta/awesome-python
The definitive list that answers "I want to do X in Python, which tool should I use?"
333,329 stars




