Learning to Code

Previous posts have been about languages and how to learn them. Not all languages are for communication with other people, though. It is a truism that more and more of our lives are lived through various technologies -- be it computers, 'smart' phones or other appliances -- but we often aren't too good at understanding how those things work. I've been trying to remedy this by getting a better understanding of the back end through programming languages. Not only has it been an interesting intellectual exercise, but I have found practical applications for the skills I have learnt. Recently, for example, I wrote a piece of code that crawled through webpages, saving only the parts of text that I needed to a separate database.

There is a huge variety of things that you can try out here, so I'll just offer some suggestions for things that I've found useful along the way. Most of this is aimed at complete beginners. I'll assume that's where you are as well.

Python is considered by many (if not most) to be the best place to start as a novice programmer. It teaches lots of transferrable skills that can be applied to other languages that you might want to pick up.

My top recommendation would be to enrol in Udacity's CS101 course. Udacity is a relative newcomer to the scene, but I've found the parts of this course that I've done (I'm still working my way through) to be excellent. It has LOTS of practice, frequent testing of your ability to solve problems along the way, and is not dull to watch at all (as some of these courses are). What's more, by the end of the course you will have built your own search engine using the skills you've learnt. It's free, so you have no excuse. Go sign up.

(If that's not for you, although I'm not sure why that would be the case, then visit Codeacademy or Learn Python The Hard Way for alternatives.)

In case you're interested in learning Ruby, you can try the following, many of which are designed for young children to be able to use and follow along, so, again, no excuses...



Hackety Hack

Rails for Zombies

CodeAcademy Ruby

LearnStreet.com Ruby

Now go try some of those out...