When I was first introduced to coding, I was so put off that I wanted to give up right away and never touch it again.
It’s a good thing I gave it a second chance. Learning new things can be daunting, and coding is no different. It all comes down to how it’s taught.
The Computer Wouldn’t Listen to Me
In my first year of A-Levels, I took a computing course with a crazy red-haired teacher who kept her dog locked in her car all day. This did reflect on her teaching ability.
There wasn’t really a structure: it felt like a coding nerd at the front of the class trying to explain ideas she didn’t really understand. Her enthusiasm was there, but it wasn’t coming across.
Coding appeared to be this mysterious thing, where you had to be a certain level of nerd with a pasty quality to your skin to get it. Being from Cornwall I had the skin part covered, but for some reason that wasn’t enough. It still looked like a weird combination of symbols, jumbled together by some crazy person. I figured that taking a course in Computing would unveil this mystery, and allow me to delve into the inner workings of a computer. Instead, the class clouded it further.
I saw a computer as this powerful thing that makes fun things like games and clever calculations I could never perform in my own head. I wanted to take the ideas from my head and turn them into something cool, but the damn computer just wouldn’t listen.
A teacher’s job isn’t just to teach you, but to inspire you to learn. I wasn’t inspired. I was bemused, baffled, and belittled. It made me feel like I had to be Stephen Hawking to write even the simplest line of code.
What Changed My Mind
One simple conversation changed everything.
A few years later, I was having a conversation with my dad, telling him how I took this computing class, yet I knew nothing about computers. I was still keen to learn, but I was also very much put off. He gave me some wise advice: Google it.
So I did. I discovered a whole world of coding and other related courses, and I hopped on one: Stanford’s Programming Methodology, by Mehran Sahami. It was awesome. The course used Java, and gave an even friendlier introduction by first teaching about Karel the robot. This little critter changed my life.
It was problem solving in its purest form. I was writing Java programs, but using calls like turnLeft(). English! The computer was finally behaving itself. I was making that little guy pick up beepers all over the place! A chequer board of beepers? No problem for Karel!
My computing teacher’s mistake was diving in the deep end on day 1, trying to explain software, when really, I needed to grasp the fundamentals first. At the end of the day, the software languages and toolkits that we use are just that: tools. Just like a hammer or a screwdriver is to a maintenance guy. The root of it all is problem solving, and this course hopped straight onto that. It didn’t feel like the monster that I thought programming was – it was like solving a puzzle, in my own language!
Once I progressed, with the help of Karel, Mistress Coding was unmasked. Actually, we had been writing Java programs the whole time. We then learned the fundamentals of the Java language, through more games: Block breakers, Hangman, Tetris. Every video game nerd’s dream.
The course was on YouTube, so you could pause it, rewind it, whatever. It was explained concisely, and taught in the familiar way that I had learned Maths and Science courses. On top of it all, Mehran’s enthusiastic delivery was so inspiring. Not that it would have made any difference to me, sitting in my chair at home, but every time students in the real classroom got a question right, they’d get a sweet.
At the end of the course, I was inspired, excited, and I finally felt ready to take some of my ideas and have a computer implement them, just like I’d dreamt of doing years ago. The computer was finally listening to me, the barrier was broken.
A World Wide Web of Resources
It’s really thanks to the coders that I discovered coding in the first place. Geeks at places like Google and YouTube that we might take for granted every day. Through Stanford’s online course I was able to learn coding in an unconventional classroom, even though it wasn’t my subject at uni.
Coding really is something that anyone can do, from the homeless to the ambitious historian, with the right introduction, and some perseverance anyone can code. Thanks to the Internet, the tools are there. The help and support are there, even.
Now I’m working with LiveCode and have found yet another intro to coding that would have given my computing teacher a run for her money. Perhaps LiveCode could be your Karel the Robot?
3 comments
Join the conversationLiveCode - November 20, 2014
Is LiveCode the next Karel the Robot? Our Software Developer, Steve, explains why he almost wasn’t a coder. http://t.co/SLL7E5qQCY
Andy Piddock - November 23, 2014
Steve, what a great post!
I’ts amazing how relitively easy it is now to find good coding courses on the web.. As I’m writing this I’ve just realised that when I had my first attempt at coding the Internet did not even exist!
Ones first experience at coding and coding tools is very important, a bad one can put you off for life. Fortunately we have LiveCode now to ease the pain.. if only it was around 30+ years ago.
I hope the dog survived.
Mark Hidden - November 25, 2014
Ok 27 years ago, HyperCard was born… not quite 30 years.