exercism / problem-specifications

Shared metadata for exercism exercises.
MIT License
327 stars 544 forks source link

scale-generator: should we retain chromatic test cases? #1372

Open coriolinus opened 6 years ago

coriolinus commented 6 years ago

Excerpted from discussion in https://github.com/exercism/problem-specifications/pull/1366:

@petertseng The thing that gives me pause currently is that the property chromatic is about test cases with chromatic scales.

@coriolinus I interpret the presence of the chromatic tests as a test of student understanding of music theory: chromatic tests are equivalent to interval tests with an interval of "mmmmmmmmmmmm".

As a general policy I'm not a fan of exercises requiring external domain knowledge of students. At the same time, I recently implemented this exercise for the Rust track and didn't even notice that it required external domain knowledge.

I suggest that we pick from among the following options:

  • decide that the knowledge of what constitutes a chromatic scale is general knowledge we can expect of the population, and therefore no action is required
  • decide that the knowledge of what constitutes a chromatic scale is easily googleable, and therefore no action is required
  • decide that knowledge of chromatic scales is domain knowledge, and therefore that the chromatic-property tests should be removed

@petertseng I'd also consider the possibility of:

Explicitly state in the README the need to be able to produce a chromatic scale.

I do think that the README already provides an explanation of what a chromatic scale is, though there's always the possibility that it could be clearer.

petertseng commented 6 years ago

I think there is value in observing that the submitted solution can in fact enumerate every note.

It seems that producing all the notes in as few tests as possible is the clearest way to observe this.

For that reason, it makes sense to me to keep the tests, in some form.

I'm indifferent to various other choices we have here, some of which are:

squeakyboots commented 3 years ago

I'm pro-retaining the chromatic test cases but believe the README.md should be updated as suggested on #1640.

I like exercises that offer some level of domain level knowledge, but I think it's important for a short explanation or at the very least a reference to good resources.

Specifically, common convention on when natural notes follow a sharp scale or flat scale had me confused for a bit, especially with the wording of "No Sharps or Flats" when from what I could gather it's more "both sharps and flats depending on if ascending or descending the scale (by common convention sharps for ascending, flats for descending)."