Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add prerequisites to Practice Exercises #318

Closed
Tracked by #324
ErikSchierboom opened this issue Jan 29, 2021 · 0 comments
Closed
Tracked by #324

Add prerequisites to Practice Exercises #318

ErikSchierboom opened this issue Jan 29, 2021 · 0 comments
Labels
x:action/improve Improve existing functionality/content x:knowledge/intermediate Quite a bit of Exercism knowledge required x:module/practice-exercise Work on Practice Exercises x:size/large Large amount of work x:type/content Work on content (e.g. exercises, concepts)

Comments

@ErikSchierboom
Copy link
Member

This issue is part of the migration to v3. You can read full details about the various changes here.

Exercism v3 introduces a new type of exercise: Concept Exercises. All existing (V2) exercises will become Practice Exercises.

Concept Exercises and Practice Exercises are linked to each other via Concepts. Concepts are taught by Concept Exercises and practiced in Practice Exercises. Each Exercise (Concept or Practice) has prerequisites, which must be met to unlock an Exercise - once all the prerequisite Concepts have been "taught" by a Concept Exercise, the exercise itself becomes unlocked.

For example, in some languages completing the Concept Exercises that teach the "String Interpolation" and "Optional Parameters" concepts might then unlock the two-fer Practice Exercise.

Each Practice Exercise should have one or more prerequisites, where each prerequisite describes the minimal set of concepts the Practice Exercise requires the student to be familiar with.

Although ideally all Concepts should be taught by Concept Exercises, we recognise that it will take time for tracks to achieve that. Any Practice Exercises that have prerequisites which are not taught by Concept Exercises, will become unlocked once the final Concept Exercise has been completed.

Goal

The "prerequisites" field of each element in the "exercises.practice" field in the config.json file should be updated to contain the prerequisite concepts. See the spec.

To help with identifying the prerequisites, the "topics" field can be used (if it has any contents). Once prerequisites have been defined for a Practice Exercise, the "topics" field should be removed.

Each prerequisite concept should have its own entry in the top-level "concepts" array. See the spec.

Example

"practice": [
  {
    "slug": "hello-world",
    "name": "Hello World",
    "uuid": "6c88f46b-5acb-4fae-a6ec-b48ae3f8168f",
    "prerequisites": ["strings"],
    "difficulty": 1
  }
]

Tracking

exercism/v3-launch#6

@ErikSchierboom ErikSchierboom mentioned this issue Jan 29, 2021
10 tasks
@ErikSchierboom ErikSchierboom changed the title [v3] Add prerequisites to Practice Exercises Add prerequisites to Practice Exercises Aug 17, 2021
@ErikSchierboom ErikSchierboom added x:action/improve Improve existing functionality/content x:knowledge/intermediate Quite a bit of Exercism knowledge required x:module/practice-exercise Work on Practice Exercises x:size/large Large amount of work x:type/content Work on content (e.g. exercises, concepts) labels Aug 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
x:action/improve Improve existing functionality/content x:knowledge/intermediate Quite a bit of Exercism knowledge required x:module/practice-exercise Work on Practice Exercises x:size/large Large amount of work x:type/content Work on content (e.g. exercises, concepts)
Projects
None yet
Development

No branches or pull requests

2 participants