Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Platform · OtherFree

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.

Languages

83

exercism.org · Sept 2026

Cost

Free, not-for-profit

exercism.org · Sept 2026

Python track students

815,067

exercism.org · Sept 2026

Website repo stars

547

GitHub · Sept 2026

Format

Platform

Topic

Other

Provider

Exercism

Time needed

Ongoing

Level

Beginner

Access

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.

free courseopen sourcepythonjavascriptjavacpp

Ready to start?

Opens on Exercism in a new tab.

Open resource
Link broken or out of date?

Report a problem

With "Exercism". Only Tauseef reads this.

Work with me

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.