exercism.io

The devil is in the details

Crowd-sourced mentorship. Public prototype.

Start Now (via GitHub)

Practice

Focus on expressive, readable code.

Work in your local development environment using your usual tools in multiple languages. We give you a test suite, and you make the tests pass... but that's just the first step.

Communicate

The code is a conversation starter.

Have a thoughtful discussion with your peers about the choices that you made. Take this opportunity to explore idioms, style, and trade-offs. There's no right answer, and many good questions.

Pay it Forward

Explore other people's solutions.

Articulate what you like and dislike in other people's code. Have a thoughtful, nuanced discussion, deepening your own understanding of the design choices that you make every day.

Better code through conversations.

Thousands of conversations are happening on exercism. Here's one of them.

You start with some code. Talk about it a little. Rewrite the code a bit, then post the new version. Make it better. After a few cycles you've got improved code, and perhaps even a new friend!

Try it.

You don't need to log in to check out the problems. Go to a temporary directory.

$ cd /tmp

Download the command line client, unpack it.

The binary is named exercism. Fetch the first exercise available for each language:

$ ./exercism demo