Stream: ideas

Topic: Exercism: Learning Track


view this post on Zulip Aurélien Geron (Oct 01 2024 at 05:11):

Hey folks, why don't we add a learning track for the Exercism Roc track? :smiley:
It's basically a tutorial (and we already have a great one, we could mostly reuse it), accompanied by concept exercises for each concept, and the learning track is organised as a graph where you must master some concepts before you can move on to others. For example, here's what the top of Python's concept graph looks like:
image.png

view this post on Zulip Notification Bot (Oct 01 2024 at 07:12):

A message was moved here from #contributing > exercism by Luke Boswell.

view this post on Zulip Luke Boswell (Oct 01 2024 at 07:14):

I love the idea of a Learning Track, and really like the idea of having exercises that accompany it also. However, I think we might want to wait until after we land the purity inference and some of the syntax changes in the pipeline, and then give these some time to mature before we release a learning track for Exercism.

Richard has been refining the tutorial over time, and has gained feedback from it on design ideas and experiments.

He has mentioned a couple of times that he has some ideas he would like to try out for the next iteration of the turorial -- I think some of this may be tied to purity inference, though that could be unrelated.

@Richard Feldman would you have any concerns with re-writing the tutorial before purity inference lands? are your ideas something others could implement without you, or are you still incubating these?

Some concerns I have with developing/releasing a learning track based on the current tutorial;

Alternatively, I could see us starting to develop a Learning Track and new Tutorial as;

So I guess this is a long way of saying I really like the idea, but I'd like to clarify what our goals are, and how we think we will get there.

view this post on Zulip Aurélien Geron (Oct 01 2024 at 07:24):

Sounds good to me. Actually, after I wrote the message above, I went through the tutorial and started thinking about how that could map to a learning track, and while many sections are well suited, some would be tricky using the online editor (especially creating modules, packages, etc., anything that touches several files, anything that needs internet access, etc.), and the order would probably need to be changed a bit, for example testing is at the core of Exercism, so I think we would need to explain what expect means much earlier. Similarly, even the first exercise will have some comments, so we'd need to cover that. These could go in a "Basics" concept.
So basically I'm happy to decouple this discussion from the tutorial.
The only reason for hurry is that I'm starting the new edition of my book, so I'm about to enter a tunnel for 6 months. :sweat_smile:

view this post on Zulip Luke Boswell (Oct 01 2024 at 07:39):

The idea itself of a Learning Track with a dependency graph of knowledge ideas that build on each other is quite interesting I think. I hadn't really thought of that aspect.

This makes me think maybe we could reframe it as "the thing you do straight after you've finished the tutorial" and are looking for a more structured set of learning examples/problems to work through.

If the tutorial is the "basics" and assumed as prior knowledge; then I think this would unblock the idea of a "Learning Track", and also gives us a good way to gradually add content that builds on itself -- we map out some of the "concepts" into the graph and then develop exercises for those.

I'm sure @Greg Wilson would have some guidance on this. It's very similar to the ideas he's talked about with the Roc book of examples that is in progress.

view this post on Zulip Aurélien Geron (Oct 01 2024 at 08:15):

One of the best (if not the best) documentation I know is Scikit-Learn's. It's really awesome, and I think it could serve as a source of inspiration. It follows the Diátaxis approach, so you have tutorials and getting started guides for beginners, excellent deep dive guides on many topics for better understanding, as well as how-to guides and examples to get things done, and of course an API reference for detailed information. Also, I absolutely love the way they integrated the examples right into the documentation, wherever you need them.

For example, the SGDClassifier API documentation doesn't just have an excellent API reference for this class, it also points to the right place in the user guide on Stochastic Gradient Descent (with an excellent explanation), and at the end of the API page it points to over a dozen beautiful code examples that involve this class. Flawless.

view this post on Zulip Aurélien Geron (Oct 01 2024 at 08:25):

I guess my point is that this is part of a larger discussion about the structure of the documentation and how the pieces fit together.

view this post on Zulip Richard Feldman (Oct 01 2024 at 13:23):

Luke Boswell said:

Richard Feldman would you have any concerns with re-writing the tutorial before purity inference lands? are your ideas something others could implement without you, or are you still incubating these?

yeah so I personally plan to redo roc-lang.org/tutorial for purity inference...I don't think that needs to block any other efforts though!

view this post on Zulip Isaac Van Doren (Oct 01 2024 at 14:20):

Yeah it doesn’t seem like purity inference would impact the learning track much because most (or all?) of the track would be pure.


Last updated: Jun 16 2026 at 16:19 UTC