There are a number of terms that we use that have specific meaning within the context of Exercism.
People come to Exercism for the exercises and each exercise consists of the specification of a problem to solve and a concrete implementation of that problem.
The solution to an exercise is made up of one or more iterations
| Term | Explanation |
|---|---|
| exercise | an instance of a problem, made up of a specification and its implementation |
| implementation | a language specific test suite and documentation used to implement a specification |
| iteration | the code that someone writes to make a test suite pass |
| language | the name of a programming language, for example C++ or Haskell |
| problem | the abstract concept of a programming task on exercism.io |
| slug | a short, unique identifier for a problem, specification, or exercise (e.g. hamming). Consists of lowercase words separated by hyphens |
| solution | a collection of iterations that a single person has done to solve an exercise |
| specification | a language-agnostic description of a problem. These live in the x-common repository |
| track | a collection of exercises implemented in a given language |
| track id | a short, unique identifier for a track (e.g. cpp or haskell). Consists of lowercase words separated by hyphens |