Exercism is spread across two locations:

  1. Your local computer: Download an exercise, write your solution locally, and submit it to the site. It's possible to submit an incomplete solution so you can see how others have completed the exercise.
  2. http://exercism.io: Once you've submitted a solution, people can discuss it with you on the site. They might ask questions, make suggestions, or simply muse out loud about things that are interesting.

Fetching exercises and submitting solutions is done via the Exercism command-line client.

Getting Started

  1. Sign up via GitHub.
  2. Select the language you wish to practice. See language tracks.
  3. Download and configure the command-line client.
  4. Fetch the first exercise (exercism fetch TRACK_ID).
  5. Write a solution to make the test suite pass.
  6. Submit your solution (exercism submit path/to/file).
  7. Optional: Kick off the discussion by noting what you found interesting or challenging about the exercise.

Next Steps

Once you have submitted your first exercise, there are several other things you can do:

  1. Iterate on your solution. Integrate feedback. Try other approaches.
  2. Browse other solutions to the same problem. Provide feedback: ask questions, suggest improvements, and ponder style and readability.
  3. Fetch a new exercise and solve it.

Command Line Tips

You can submit multiple files as part of your solution:

1
2
$ cd path/to/solution/
$ exercism submit file1 file2

Another way to submit a header file along with your implementation file: exercism submit path/to/file{.headerExtension,.ImplementationExtension} This works with shells like bash on the language tracks like C file{.h,.m} or C++ file{.h,.cpp} etc.

Sign Up via GitHub

All of Exercism, including the CLI, is open source. The CLI codebase is in Go, and it's not too big—pretty easy to read through if you're worried about executing code on your computer.