Coding is hard for the average person to learn, but even harder for the average coder to teach. The problem with learning how to code is that it's like learning a foreign language with very strict grammar rules. Most newbies (like me) who are learning to code find it very discouraging when we make simple mistakes involving syntax and quickly find themselves just on the verge of giving up. Therefore, we need to start learning in an environment that allows room for those mistakes, corrects them in an efficient manner and doesn't put off the learner. Thankfully for me, I stumbled upon Code School.
Code School is a very amusing online interactive platform that teaches a variety of programming and web design skills. The courses are taught through screencasts and interactive exercises in bite size levels similar to a video game. You can finish the whole course in around four to five hours as an experienced coder, and probably eight to 10 hours as a complete newbie. To simulate a game-like environment, you gain points through solving coding challenges on your own, and lose points when you ask for a 'hint'. Each course also comes with their own unique theme, design and interface which serves as part of the entertainment.
Gregg Pollack, one of the creators of Code School, believes that non-geeks can actually be very good coders when armed with good education and the drive to learn. In fact, he went as far to say that drive is the single most important factor in learning how to code. Code School can realistically only help with the good education bit, but couple it with your own drive to learn and you'll definitely go places. I've tried some of their lessons and I do feel that I am getting an overview of the language and some of its functionality. However, it is worth noting that Code School is primarily intended for existing coders who are beginning a new language or framework, not for complete beginners to coding. So, a developer beginning a new language might get more out of Code School than I ever would. The main challenge is just to constantly devote the time to do Code School. However, once you start a level, you'll find it hard to stop.
To date, there are over 100,000 enrollments received and around 30,000 courses completed to date which says a lot about the quality of the courses. Interestingly, some companies use 'Rails Best Practices', a Code School course, as part of their developer training to stay on top of the game.
These Code School courses originated from screencasts previously intended for introducing developers to Rails 3 which served as a lead generation channel for a web design consultancy called EnvyLabs. After a while, the creators of these screencasts started to include challenges and started expanding their range of educational material until it developed into what is now known as Code School. The constant development and addition of courses means that there will probably be a new course every month which will help keep you in tip top coding form through a fun and interactive way.
I will do a follow-up post elaborating a more detailed personal experience with Code School, but check out what they have to offer here in the meantime if you're interested.