When trying to learn something new, you can easily get burned out and feel defeated if the subject is taught by rote. James Somers writes how badly he wanted to learn to code but kept failing — until he learned through play.
Photo by ianvoyce.
When computers first became popular, beginning programmers learned through exploration. Coding was a magical new world, a fun challenge offered by that blinking cursor on the screen.
Today, as with other subjects, programming is more often taught in a top-down approach of the principles and concepts educators think students need to learn, rather than letting them learn through creative challenges and play. The problem applies to books as well, as Somers describes:
I wanted in. So I did what you might expect an over-enthusiastic suburban nitwit to do, and asked my mum to drive me to the mall to buy Ivor Horton's 1,181-page, 4.6-pound Beginning Visual C++ 6. I imagined myself working montage-like through the book, smoothly accruing expertise one chapter at a time.
What happened instead is that I burned out after a week. The text itself was dense and unsmiling; the exercises were difficult. It was quite possibly the least fun I've ever had with a book, or, for that matter, with anything at all. I dropped it as quickly as I had picked it up.
The problem wasn't him, really. He had the desire and the itch to learn. The problem was the way the books "dragged [him]through a series of structured principles" lifelessly.
This is not to say that learning through books is bad (not all books are terrible) or that all classes are like this. If you find yourself, though, thinking of giving up on a subject you really want to learn because you're struggling with it, consider how you're learning or being taught. Try to find a way to learn through play (e.g. challenging, addictive puzzles like those offered on Project Euler).