> Enormous subjects are best approached in thin, deep slices. I discovered this when first learning how to program. The textbooks never worked; it all only started to click when I started to do little projects for myself. The project wasn’t just motivation but an organizing principle, a magnet to arrange the random iron filings I picked up along the way. I’d care to learn about some abstract concept, like “memoization,” because I needed it to solve my problem; and these concepts would lose their abstractness in the light of my example.
This also applies to less-cerebral tasks. For example, I didn't learn to touch-type due to a school class with edutainment software, but because after one summer of arguing with people over dial-up, I had learned it just to get the words out faster.
I guess a less usual one, compared to the other comments: For me it was StarCraft multiplayer, had to type fast so I could get back to controlling my units.
Because I was rapidly going back and forth between the keyboard and mouse, it resulted in an unusual style where I use the outline of the keyboard for hand placement, and attempting to use the home row slows me down significantly.
Starseige: Tribes and Counter-Strike: Sometimes a short thing while the character is coasting through the air.
Tribes in particular also had a voice-tree, and while it was shorter than prose it still encouraged a certain degree of touch-typing.
For example, typing VSAF (mnemonically [start][self][attack][flag]) led to text and prerecorded audio for "I will attack the enemy flag." Little of it survives now beyond references like VGZ for "Shazbot!"
It’s a wonderful experience when hazy abstractions of complexity click into clarity. I’m not sure I’ve ever found that without tangible motivation and immersion in a problem space, although excellent writings can bring one to the doorstep.
It's just focussing on the useful practical applications rather than the abstract theory.
Anchor your explanation in something with actual practical use.
It's why so many mathematicians are so shit at explaining maths to laypeople. They don't understand that regular people don't give a shit about numbers. They're just a means to an end.
Explaining how to turn numbers into more numbers doesn't land with people who dgaf about numbers.
> Enormous subjects are best approached in thin, deep slices. I discovered this when first learning how to program. The textbooks never worked; it all only started to click when I started to do little projects for myself. The project wasn’t just motivation but an organizing principle, a magnet to arrange the random iron filings I picked up along the way. I’d care to learn about some abstract concept, like “memoization,” because I needed it to solve my problem; and these concepts would lose their abstractness in the light of my example.