Wednesday, May 30, 2012

How I learnt programming - Codeacademy

My professional ambitions are related to the information technology management. This is the path I partly follow now - and this is the direction I want to grow in further.

Having worked close to 4 years in an IT-company, I see almost every day that people without technical background education consider the developers' room as "a-place-where-magic-happens". In many occasions, I represent one of those.

Indeed, although I intuitively understand why some things take longer than expected in programming, although I often ask questions from my IT-skilled colleagues, at times I feel simply dumb. What all these lines of code REALLY mean?

Few weeks ago I read of an exceptional U.S.-based start-up which enables people like me to actually learn programming in a fully interactive mode - Codeacademy. You start to learn immediately, as you go - all by solving exercises which start with trivial things and get more and more complicated. There is a good explanation for each component and hints if you don't get it at once - all framed into an easy and clean interface. I have used it and have passed two sets of exercises already. And I can say I love this tool! One needs patience and determination to handle it - but, well, so it goes for all kind of learning.

For me, this project is now on the same line as Khan Academy which I discovered somewhat earlier (and thanks to which I have learnt a great deal about the biology for example). Viva la life-long learning!

Below is the example of the code I wrote for one easy numerical algorithm (with the help of replication and instructions, of course):

Just a couple of days ago I would have struggled understanding it all. What does this code result in? This array of digits/words:


One can learn JavaScrip, jQuery as well as the web fundamentals (HTML and CSS) through Codeacademy. As for now, completely free. I just need time to master it all (and I hope I will have enough of it) - in order to be able to see the real math behind the apparent "magic" when working with the software developers :)

No comments: