8 ms·
Show HN: Futurecoder – A free interactive Python course for coding beginners
Some highlights:
- 100% free and open source (https://github.com/alexmojaki/futurecoder https://github.com/alexmojaki/futurecoder), no ads or paid content.
- No account required at any point. You can start instantly. (You can create an account if you want to save your progress online and across devices. Your email is only used for password resets)
- 3 integrated debuggers can be started with one click to show what your code is doing in different ways.
- Enhanced tracebacks make errors easy to understand.
- Useful for anyone: You can have the above without having to look at the course. IDE mode (https://futurecoder.io/course/#ide https://futurecoder.io/course/#ide) gives you an instant scratchpad to write and debug code similar to repl.it.
- Completely interactive course: run code at every step which is checked automatically, keeping you engaged and learning by doing.
- Every exercise has many small optional hints to give you just the information you need to figure it out and no more.
- When the hints run out and you're still stuck, there are 2 ways to gradually reveal a solution so you can still apply your mind and make progress.
- Advice for common mistakes: customised linting for beginners and exercise-specific checks to keep you on track.
- Construct a question that will be well-received on sites like StackOverflow: https://futurecoder.io/course/#question https://futurecoder.io/course/#question
- Also available in French (https://fr.futurecoder.io/ https://fr.futurecoder.io/), Tamil (https://ta.futurecoder.io/ https://ta.futurecoder.io/), and Spanish (https://es-latam.futurecoder.io/ https://es-latam.futurecoder.io/). Note that these translations are slightly behind the English version, so the sites themselves are too as a result. If you're interested, help with translation would be greatly appreciated! Translation to Chinese and Portuguese is also half complete, and any other languages are welcome.
- Runs in the browser using Pyodide (https://pyodide.org/ https://pyodide.org/). No servers. Stores user data in firebase.
- Progressive Web App (PWA) that can be installed from the browser and used offline.
-----------
A frequent question is how does futurecoder compare to Codecademy? Codeacademy has some drawbacks:
- No interactive shell/REPL/console
- No debuggers
- Basic error tracebacks not suitable for beginners
- No stdin, i.e. no input() so you can't write interactive programs, and no pdb.
- No gradual guidance when you're stuck. You can get one big hint, then the full solution in one go. This is not effective for learners having difficulty.
- Still on Python 3.6 (futurecoder is on 3.10)
I am obviously biased, but I truly believe futurecoder is the best resource for adult beginners. The focus on debugging tools, improved error messages, and hints empowers learners to tackle carefully balanced challenges. The experience of learning feels totally different from other courses, which is why I claim that if someone wants to start learning how to code, futurecoder is the best recommendation you can make.
- samwillis 4y agoThis looks really good, going through the first couple of tasks it seems well considered. I'm introducing my 8yo daughter to programming at the moment, she is beginning to play around with Scratch. I'm keeping my eye out some something closer to proper coding though. I think this may be a little too far at the moment, but I may try her out on it with me sitting next to her and see how she gets on! Is there any way for users to construct their own multiple stage tutorials? (It looks like we can do single questions) Currently you have the console output, have you considered having a canvas/bitmap output that could be targeted with the various Python drawing and image manipulation apis? Incredibly generous of you to make it open source!
- dndn1 4y agoFor 8yo, maybe you can consider bringing her through Hedy: https://hedy.org/ https://hedy.org/ It's gradual (starts easy but limited, then with progress through levels gets more precise and powerful), and I read that it gets to full blown Python programming. Theres an excellent talk on the approach by the author: https://m.youtube.com/watch?v=fmF7HpU_-9k https://m.youtube.com/watch?v=fmF7HpU_-9k Edit: +Hedy is designed with kids in mind, as opposed to adults, which I believe future coder and others are more targeted to.
- samwillis 4y agoHedy looks really good, thanks for the tip! Yes, Future Coder is clearly aimed at adults or older teenagers, and looks really good for them. That was mostly the point of my question about user created tutorials. Using the current tutorial as a basis, but simplifying the language and some of the conceptual stuff would make something that could work for younger kids.
- insane_dreamer 4y agoI'm thinking of going through it with my kids, and then I can explain what they don't understand.
- 4y ago