I’m wondering about the intention of the Exercism team. I’m going through the Python track now, and it’s going well.
One thing I’m confused about, though: Is the intention to go through just the exercises that unlock the next concept until I reach the end, then go back and do all practice exercises to really complete the track?
I ask because practice exercises are both unlocked and shown as I go through the track, but it’s unclear to me whether I should solve all unlocked exercises in any concept right away or simply keep going, doing the minimum to advance through the track, then return later to complete all practice exercises.
I should add that I absolutely intend to solve ALL available exercises to get the most out of Exercism.
What do you suggest to maximize learning and retention?
This is somewhat subjective. Practice exercises can usually be solved in many different ways and are only loosely tied to specific concepts. Some of them can become much harder if you haven’t learned more advanced concepts beforehand.
Got it, thank you! So if I read you correctly, this seems to suggest that while completing all available exercises for a concept in learn mode does imply a simplified version of “mastery” of the concept, the idea of learn mode is to actually get through the track ASAP, then return and fill in gaps.
In other words, if a new concept does unlock as a result of me solving an exercise, the meaning is that I go and explore that exercise etc.
Just trying to understand the intended path. After all, people put in time and effort to put together these exercise and in a specific order so I’m trying to get the most out of it in terms of learning.
That depends. You may want to practice a bit to solidify your knowledge before moving on to new concepts. After completing a concept exercise, new information may sometimes be added in the concept, so it’s worth going back and forth a few times.
I’d start with easy exercises because they are usually more constrained. They are also more likely to be picked up by a mentor, and the review can be more focused on the core aspects of the language that you should learn well in the beginning.
No. Each concept has a single associated concept exercise. All the other linked exercises are practice exercises … some of which may be medium or hard. I’d highly encourage working through the easy ones before working on any medium or hard exercises.
I’ll provide the same advice phrased a different way: when you are doing a practice exercise that’s linked to a concept, if there are parts of it you don’t understand, don’t worry about it: just put it aside and move on to the next concept. Practice exercises don’t only practice that concept (this is the “loosely tied” that oxe-b mentioned above)
I sometimes wonder whether linking practice exercises to syllabus concepts is worth the confusion it causes.
Some tracks use a lot of these links, others not so much. We haven’t (yet) included many in the Julia syllabus I’ve been involved with, and we will need to make this decision for the part-written R syllabus when it gets closer to public release.
Learning exercises aim to be possible (not necessarily easy) with the knowledge gained up to this point in the syllabus. Practice exercises have no restrictions, and some are challenging even for experienced programmers in that language. As a maintainer, I don’t always feel comfortable about mixing them - am I an outlier in this?
I share your concerns. I’m thinking linked exercises should probably all be easy exercises (and on the easier side of easy) with well definitely prerequisites.
At least for me, the confusion stems from Exercism explaining the two different modes, “Learn”, and “Practice”, very nicely when you first join.
But then as you do exercises in Learn mode, the practice exercises are all there and listed as well and also unlock as you go, so then I’m left wondering… should I be doing those as I go through learn mode or leave them for later in practice mode?
Of course this is subjective, but more guidance might be helpful here.
A design goal could be to remove all ambiguity by being more opionated. Something like strictly hide all practice problems in Learn mode and expose only sufficiently “easy” exercises that aid initial learning and defer practice exercises for “mastery” later.
Could be structured in a sense that if you make it through the whole track in Learn mode, you know enough “to be dangerous” with a language. Then you flip into practice mode which deepens your understanding and sharpens your skills–likely not to the point of true proficiency as I think that’s probably out of scope of Exercism as a platform, but at least part of the way there.