- Notifications
You must be signed in to change notification settings - Fork0
A platform for beginners to learn programming in Python
License
OnlineCS/futurecoder
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This is a free platform/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/
Currently this is 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 - please considercontributing!
Alternatively,come have a chat on slack.
| The course is a fully interactive 'book' which requires the user to run code in the provided editor or shell toadvance: | |
| This requires a mixture of solving problems or simply typing and running provided code. In the latter case, theuser 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. Ifneeded, 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 aParsons problem instead, where they have to put a shuffled solution in the correctorder: |
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, includingsnoop... | |
...andPython Tutor | |
- Fork the repository, and clone your fork.
- If you want to run the system using Docker, which may be easier and will more closely resemble the production environment:
- Ensure you have docker and docker-compose installed.
- Create an empty file called
.envin the repo root. - Run
docker-compose up. - Skip the following two steps, everything should be running now.
- In the
backendfolder:- Ensure the
pythoncommand points to Python 3.8. - Run
./setup.sh. This will:- Install
poetryif needed. - Create a virtualenv and install Python dependencies.
- Create a sqlite database, run migrations, and create a user.
- Install
- Activate the virtualenv with
poetry shell. - Run the backend development server with
./manage.py runserver.
- Ensure the
- In the
frontendfolder:- Ensure you have recent versions of
nodeandnpm. - Run
npm installto download dependencies. - Run
npm startto start the frontend development server.
- Ensure you have recent versions of
- Go tohttp://localhost:3000/accounts/login/ and login with the email "admin@example.com" and the password "admin".
- You should be redirected tohttp://localhost:3000/toc/ and see the Table of Contents.
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.
About
A platform for beginners to learn programming in Python
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Languages
- Python64.8%
- JavaScript12.3%
- SCSS10.2%
- HTML6.6%
- CSS5.6%
- Dockerfile0.3%
- Shell0.2%










