Exercism (exercism.org) is a free coding practice and mentoring platform. Content is organised into per-language tracks, and learners build fluency by solving small exercises that ship with full test suites. Every submission receives automated analysis, and when you get stuck you can request free, one-to-one feedback from a volunteer mentor. The site reports 83 programming languages and 8,618 exercises (checked 2026-09-03), is 100% free and ad-free, is run by a not-for-profit organisation registered in the UK, and its code is open source. Unlike curriculum platforms such as freeCodeCamp, Exercism offers no courses or certificates; its value is the practise → automated feedback → human mentoring loop, which is why it is catalogued here for readers looking for focused language practice.

At a glance

  • URL: https://exercism.org/
  • Type: Coding practice and mentoring platform
  • Cost: 100% free, no advertising, funded by donations; there are no paid tiers
  • Registration: Required to practise; sign up via GitHub or email. Browsing the homepage and docs needs no account
  • Interface language: English only
  • Scale: 83 language tracks and 8,618 exercises (checked 2026-09-03); the official Impact page reports roughly 2.99 million students, nearly 70 million exercise submissions and over 413,000 mentoring discussions to date

Background

Exercism was created by software developer Katrina Owen. While teaching programming at Jumpstart Labs, she built it to solve a problem of her own: her students received no feedback on the exercises they practised. She put the site online in 2013, and within twelve months it had grown organically to more than 6,000 users submitting code or feedback, with hundreds of volunteers building out languages and tooling (Wikipedia, citing Wired's report; the Exercism CLI repository was created in August 2013, corroborating the timeline). Jeremy Walker joined as co-founder in 2016 and is now CEO (official FAQ). A July 2018 relaunch (v2) centred the site on a formal mentoring mode, and the 2021 v3 relaunch added the in-browser editor, ending the CLI-only era.

As an organisation, Exercism describes itself as a "not-for-profit organisation registered in the UK". The UK Companies House register shows EXERCISM incorporated in December 2018 as a private company limited by guarantee without share capital (company number 11733062) — the standard legal form for British non-profits; it is not a registered charity. Funding comes from community donations (card, PayPal, GitHub Sponsors), employer matching and foundations. The team says only about 1% of users donate, and the entire platform has been built for under $500,000. The core team is tiny: the team page lists the two co-founders and two full-time staff, backed by roughly one hundred maintainers and key contributors plus more than 6,000 contributors across 231 countries.

Language tracks and how practice works

Practice is organised into 83 language tracks, from 8th to Zig, and the popular tracks are heavily used — about 790,000 students on Python, 485,000 on JavaScript and 272,000 on Java (homepage figures, checked 2026-09-03). After joining a track you pick one of two progression modes (FAQ): the default Learning Mode unlocks exercises step by step as you complete concept tutorials, while Practice Mode unlocks everything for free selection.

Each exercise gives you a stub implementation plus a complete test suite, and your goal is an implementation that passes every test — a workflow close to test-driven development. Exercism deliberately frames its exercises as "small, trivial, and seemingly simple", with the difficulty in the details (FAQ): computing an allergy list from a score, deciding whether two queens attack each other on a chessboard, and so on.

There are two ways to solve exercises (official docs):

  • In-browser editor: nothing to install; all 83 languages can be written and tested on the website, ideal for starting a new track or trying a language quickly;
  • Command-line interface: Exercism describes itself as "primarily built as a CLI-first tool". exercism download pulls an exercise (README, tests and stub files) to your machine, you solve and test it locally in your own editor, then exercism submit uploads the result — better if you want full debugging and your normal tooling.

Submitting an incomplete solution is allowed, which lets you view other people's community solutions or ask a mentor for help (CLI docs).

Automated analysis and mentoring

Feedback comes in two layers. The first is automated analysis: the platform runs static analysis over your submission and immediately flags points for improvement. The second is human mentoring: when you are stuck on an exercise you can file a mentoring request, and a mentor discusses your code with you in an on-site conversation (getting started). Mentors are all volunteers and mentoring costs nothing; becoming a mentor is open to every user and earns reputation (mentoring page).

Mentoring is the feature that sets Exercism apart from most exercise sites, and it operates at real scale: the Impact page counts over 413,000 mentoring discussions and more than 85,000 testimonials left by students for their mentors (checked 2026-09-03). Set realistic expectations on response time, though: the official FAQ cautions that wait times can stretch depending on mentor availability and the time of year, and a queue that appears stuck for a while is not unusual. Mentor coverage varies by track, and popular languages tend to move faster.

Open source and community

All of Exercism's code lives in the exercism GitHub organisation (287 repositories, per the team page):

  • The website itself, exercism/website, is licensed AGPL-3.0, but its README declares it an "internal repo": the source is public, yet pull requests are not accepted, local setups are unsupported, and forking is discouraged;
  • The CLI, exercism/cli (written in Go), is MIT-licensed and has been actively maintained since 2013;
  • Language tracks and the shared exercise specifications (problem-specifications) are likewise published under the MIT licence, so the exercise content can be freely reused.

The main ways to contribute are maintaining a language track, writing exercises and mentoring; new tracks are created when a community member steps up as maintainer (FAQ).

Good fit for

  • Learners with some programming basics who want structured small exercises to become idiomatic in a specific language — especially with mentors correcting unidiomatic habits.
  • Developers who want to try a new language with zero setup (browser editor), or practise inside their real local toolchain (CLI).
  • Experienced developers who want to reinforce their own learning and build open-source reputation by mentoring others.

Limitations

  • Account required: you can browse without one, but practising, submitting and mentoring all require registration.
  • Mentor response times vary: mentors are volunteers, waits fluctuate with track popularity and season, and the official FAQ says as much — do not rely on mentoring when you need immediate feedback.
  • Exercises, not projects: the platform deliberately focuses on small drills. There is no curriculum, no project work and no certificates; beginners wanting a full course path are better served by platforms like freeCodeCamp.
  • English only: the interface, exercise texts and most mentor conversations are in English.
  • Core repository closed to PRs: the website's source is public but maintained as an internal repo; code contributions are channelled into tracks, exercises and tooling instead.

Similar sites

  • freeCodeCamp (also catalogued on this site): likewise a free, donation-funded non-profit, but with an entirely different approach — a project-based curriculum with free verified certifications of roughly 300 hours each (official About), suited to structured learning from zero. Exercism focuses on per-language drills plus human feedback and fits people polishing a specific language.
  • Codewars: another practice-focused platform, organising algorithm and language drills as ranked kata, useful as a point of comparison.

References