exercism.io

Crowd-sourced code reviews on daily practice problems.

Public Beta.

Start Now (via GitHub)

Practice

We give you a README and a test suite. You make the tests pass... but that's just the first step.

The goal is to focus on expressive, readable code.

Work locally in your usual environment using your usual tools.

We have practice problems in Clojure, Coffeescript, Elixir, Go, Haskell, Javascript, Objective C, Ocaml, Perl5, Python, Ruby, and Scala.

Coming Up: Java, Rust, Erlang, PHP, and Common Lisp are in the pipeline.

Receive Feedback

exercism.io is intended to be a conversation about what good code might look like. There's no right answer, and many good questions.

That old adage about it being about the journey, not the destination? Yeah, that one. That's what we're going for.

Nitpick

Once you've completed an exercise, you are invited to provide feedback to other participants working on that exercise.

This means that the people who review your code are your peers, not a small handful of so-called experts.

Read about how to give feedback ยป

Try it!

You don't need to log in to try it out.

Go to a temporary directory.

$ cd /tmp

Download the command line client, unpack it into a temporary directory. The actual binary is named exercism.

Fetch the first exercise available for each language:

$ ./exercism demo

For more information about the command line client, including installation instructions, check out the CLI site.

Why GitHub?

Social applications use twitter for authentication. This is about code, so we use GitHub.

We ask for the smallest amount of information possible: read-only access to public information.

This means that we'll only have your email if it is publicly available on your GitHub profile.

Open Source

exercism.io is licensed under the GNU Affero General Public License.