This is a fascinating topic and I can't wait to delve into some more reading about the role that emotions play in learning. The nature of constantly solving problems is that majority of our time is spent standing on the edge of our existing knowledge and peering out into the unknown. The unknown by its nature is unfamiliar.
Being comfortable with the unfamiliar isn't natural for most people, myself included. The more we problem-solve, the more practice we get, but sometimes I feel like I'm spinning my wheels by not practicing the right things. I enjoy revisiting the fundamentals when that feeling becomes a burden.
The How to Code course is highly rated by students because it provides a process for solving problems that can be applied across all problem-solving endeavors, not just programming. I'm going to be taking the course soon and trying to convert its lessons into ClojureScript. Perhaps problem-solving recipes like this have the potential to mitigate excess frustration. People might be motivated by just the right amount of frustration, but at some point they will quit the path if the frustration is too high. Hey, another problem to solve.
The other thing that came to mind for me is how powerful music is for memorizing things. As soon as I hear a melody, the words come immediately to mind. It would so cool to write some AI that would syncopate a melody to the text snippets that need to be memorized. This is something we can put on our list of ideas to hack on if others like the idea. Music triggers a great variety of emotions which might free us from over-relying on frustration to make progress. I feel like we're scratching the surface of something really important. Thank you, Bastien.