Exercism
A free, not-for-profit practice platform with tracks in 83 programming languages, where you solve exercises, get automated feedback and can request a human mentor to review your solution and discuss how to make it more idiomatic. It suits self-taught developers with nobody reviewing their code, and anyone learning a new language properly rather than just making tests pass.
83
exercism.org · Sept 2026
Free, not-for-profit
exercism.org · Sept 2026
815,067
exercism.org · Sept 2026
547
GitHub · Sept 2026
Platform
Other
Exercism
Ongoing
Beginner
Free
How it works
Each language has a track with a set of exercises. Many tracks have a learning mode with concept exercises that teach one language feature at a time, unlocking practice exercises as you go; you can also switch to practice mode and pick exercises freely. You can solve exercises in the browser editor or download them and use your own editor through the command line tool, then submit.
When you submit, automated tests check correctness and, on many tracks, an analyser comments on style. You can then request mentoring: a volunteer who knows the language reads your code and starts a conversation about improving it. After that you can browse other people's solutions to the same exercise, which is a lesson in itself.
The platform says it is 100% free and is run as an independent, community funded not-for-profit. Tracks are large; the Python track, for example, lists over 800,000 students.
Why the mentoring is the valuable part
Practice sites tell you whether your tests pass. They do not tell you that your solution is unidiomatic, or that the language has a construct that would replace ten lines. That feedback normally comes from colleagues, and people learning alone do not have any. Exercism supplies it at no cost.
How to use it well
- Pick a language you want to be genuinely good at, not one you already know.
- Follow learning mode on tracks that have it; the concept exercises teach the language, not just algorithms.
- Request mentoring on exercises you found interesting, and reply to the mentor. The conversation is the product; the exercise is the excuse for it.
- After mentoring, read three community solutions and note one idea you had not considered.
- Aim for a few exercises a week over months rather than a burst.
Where it falls short
Mentor availability varies by language: popular tracks can have queues, and some smaller tracks have few mentors. The exercises are small, self-contained problems, so they teach language fluency, not building applications, and you still need projects for that. It is also not aimed at timed algorithm practice.
Common questions
Is it really free? Yes. Donations and optional supporter perks fund it, but all exercises and mentoring are free.
Can I use it as a complete beginner? Some tracks work for beginners, but most assume you can already program a little in some language.
How is it different from LeetCode or HackerRank? Those focus on algorithm problems and timed practice. Exercism focuses on writing idiomatic code in a language, with human feedback.
Best for: self-taught developers with nobody reviewing their code, and anyone learning a new language properly.
Ready to start?
Opens on Exercism in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.