Coldbrain.

Abstruse Goose » How to Teach Yourself Programming

More how-to hilarity. The link above is a cartoon on how to teach yourself C++ in 21 days.

I moan about this stuff (‘50 Ways To… X’, ‘Teach Yourself Y in Z days’) because it is ridiculous; it fosters the belief that you can become an expert/master of a chosen subject by reading a bunch of articles or a book. In reality you won’t have got out of novice mode - at best you’ll be an advanced beginner. (Italicised terms and overall concept explained here.)

And of course, like everyone else that rages against this stuff, I speak from some personal experience.

In my first year of university I took a computer programming course. We were to learn C. My friend and I were the only people taking this course as part of a wider interdisciplinary science degree; the other 20 people in the lectures were taking it as part of a computer science degree. They all had some experience of or interest in programming at its most basic (pun unintended). My pal and I were looking to do something different from the physics, maths and chemistry lectures that completed our week’s timetables.

And of course we were awful at it. The course content whizzed past us. Concepts remained unexplained in our minds, lectures were literally in a different language.

The final exam was a practical session where we had a few hours to code something or other. My pal and I walked out after 30 minutes to find we had both sent similar, apologetic emails to the professor about our total lack of understanding of the course and failure to even attempt the problem.

But I thought I was going to ace it. Because, of course, I’d bought a ‘Learn C in 24 hours’ book earlier that week, and spent some time (<24 hours, natch) working through the examples. But when it came to applying these concepts in new or different ways, I had no concept of how to begin.

I could complain about how the course was mis-sold to me, that I did not possess the pre-requisites for attendance. But this would be to miss the point. I had plenty of time to undertake the required study, to talk to the professors and my peers, to use the library and the internet to get to where I needed to be.

Instead, I paid £15 on the basis that I could shortcut my understanding. I did this because I was lazy.

There will always be lazy people who will buy these books and read these websites and perpetuate the how-to industry. Please don’t be one of them. If you want to be a computer programmer, or web designer, or trapeze artist, invest the significant time and effort required. Write some code, design some sites, swing some trapeze.

As Frank says, there are no recipes.



Posts I Liked on Tumblr