Preamble: This is in the hopes of adding some additional context to this now-closed post about explaining the content. I know that @jwilkins.oboe and @JeremyLT provided some comments there, and I hope this additional feedback is helpful toward the plans mentioned. Also, I am a professional trainer in the hospitality space and have deep experience and expertise in learning and development and lesson planning, for what that’s worth. Lastly, as a polyglot, I am comfortable learning new languages, their grammar (syntax), and vocabulary, and this is no different an exercise. Sorry for the long post.
Two suggestions:
- In the instructions, add the “why” or result of the prompt (I understand why this may not be desirable in various cases) and/or,
- the Success message, should reiterate/explain the impact of what you just performed.
I have spent almost the entirety of the JS course trying to understand the practical impact of the code I just wrote. As things get more complex, this compounds. When the lesson requires me to recall what I’ve learned (like in the DOM manipulation*) with very limited instruction, I really struggle because I just spent 170 steps being told what to do but not why.
For example, on this step of the project I’m working on, I was able to complete it, but I don’t entirely understand what it’s doing in my context. The instructions focus on the “what” and not the “why” in the context of building this player nor in the context of the UX.
In the lesson prompt it says, "In the example above, the callback function is (number) => number * 2
, and it’s run on each element in the numbers
array. The map()
method then returns a new array with the results." and then says, Pass in a callback function to the map()
method. The callback function should take song
as a parameter, use the arrow function syntax, and have an empty body.
So, to the point, I’m suggesting adding something like, “This will allow the player to ::do a thing::” or if in the success message, “Now what you’ve done is made it so the ::blah blah:: does ::thing it does::. This will enable us to ::thing-to-build:: later in the project.” Voila!
In the success message, this reinforces the initial prompt but contextualizes it. This context allows me to recall the lesson in because I don’t yet think in the highly abstracted way that these prompts require. In other words, for example, the first step in the Rock, Paper, Scissor project requires me to be able to recall that I need a randomIndex — something that was only introduced once in another lesson (pretty sure). If I had more context, I may be able to recall this (even after retaking other lessons I struggled here).
I think the issue that I am experiencing, and I think what the original post was getting at, is that these lessons are very abstracted which makes applying the concepts in a different context difficult or impossible (for me) and I think what I’m proposing is a reasonably easy solution to implement with a high-value impact. It’s also worth mentioning I did not have the same problem with the HTML or CSS courses at all.
###
*I had so much trouble with this I actually repeated the Role Playing builder lesson, still couldn’t do it, so I moved on to the music player in the hopes of understanding and cementing the core concepts. We’ll see what happens!