Adding one track's Concept exercise as another track's Practice exercise

Hi everyone!

I’m creating a new track for Cairo language, and due to the language’s similarity with Rust, I’m often using Rust’s track as inspiration for certain exercises.

Note: I’m not trying to create a copy/pasted version of Rust’s track, but it seems natural to “borrow” from it as much as possible, given Rust’s and Cairo’s similarity.

I’m currently focusing on adding only Practice exercises, and one the exercises I recently added is Rust’s “Low power embedded game”, although this is a Concept exercise in their track.

I have some questions:

  1. This exercise isn’t found in the “official” Exercism collection (see repo exercism/problem-specifications). Can it still be added to a language track?
    If not, then there’s no need to answer the next question.
  2. Rust included this exercise among their “concept” exercises. Is there a problem if I include this among Cairo’s “practice” exercises?
    Note: I may turn this exercise into a “concept” one, or even remove it before the track is ready to be officially “published”. I posted these questions to know what should and shouldn’t be done in general.

Hey :slight_smile: Thanks for posting here.

Context for others: Original PR

My quick-fire answers:

  1. It can be, but it may well not be a great fit. Any exercise can be added to a track, regardless of whether it’s in problem specs, another track, or totally new.
  2. However, reusing a Concept Exercise as a Practice Exercise is generally discouraged because:
    a) Concept Exercises are designed to teach things as part of a syllabus with one fixed goal, whereas practice exercises are designed to let students practice ideas with a myriad of possible solutions.
    b) Structurally the exercises are different. For example, you have an introduction file, which isn’t appropriate for a practice exercise as it teaches the user about a concept (Tuples). This is perfect for a Concept Exercise but not a Practice one.
    c) If you ever decide to add a syllabus, you can’t use this exercise for that, which means you “lose” a potential good exercise.
3 Likes

All clear. Thanks for responding so quickly!

1 Like