exercism / lfe

Exercism exercises in Lisp Flavoured Erlang (LFE).
https://exercism.org/tracks/lfe
MIT License
25 stars 30 forks source link

Update config.json to match new specification #42

Closed kytrinyx closed 1 year ago

kytrinyx commented 8 years ago

For the past three years, the ordering of exercises has been done based on gut feelings and wild guesses. As a result, the progression of the exercises has been somewhat haphazard.

In the past few months maintainers of several tracks have invested a great deal of time in analyzing what concepts various exercises require, and then reordering the tracks as a result of that analysis.

It would be useful to bake this data into the track configuration so that we can adjust it over time as we learn more about each exercise.

To this end, we've decided to add a new key exercises in the config.json file, and deprecate the problems key.

See exercism/discussions#60 for details about this decision.

Note that we will not be removing the problems key at this time, as this would break the website and a number of tools.

The process for deprecating the old problems array will be:

In the new format, each exercise is a JSON object with three properties:

The difficulty rating can be a very rough estimate.

The topics array can be empty if this analysis has not yet been done.

Example:

"exercises": [
  {
    "slug": "hello-world" ,
    "difficulty": 1,
    "topics": [
        "control-flow (if-statements)",
        "optional values",
        "text formatting"
    ]
  },
  {
    "difficulty": 3,
    "slug": "anagram",
    "topics": [
        "strings",
        "filtering"
    ]
  },
  {
    "difficulty": 10,
    "slug": "forth",
    "topics": [
        "parsing",
        "transforming",
        "stacks"
    ]
  }
]

It may be worth making the change in several passes:

yurrriq commented 7 years ago

/cc @skovsgaard

skovsgaard commented 7 years ago

@yurrriq, so far I haven't encountered problems with any of this but I'm very early in the task set.

One thing I can help with is what we talked about regarding learning curve. I figure I can make a note of each task's perceived difficulty as I work my way through them to just sort of give a rough estimate from someone seeing them for the first time.

yurrriq commented 7 years ago

That would be awesome! I'm not sure if this update has to be done at all at once. If not, it could be good to do it exercise by exercise as you progress. I can try to give feedback or make some guesses at some point, but I'm not sure I'd be the best judge. If xerlang has done it or xlisp, we might take some cues from them.

yurrriq commented 7 years ago

Ah, it looks like an iterative approach is outlined above.