[Coding] Code School
Posted by Khatharsis on March 15, 2013
About two weeks ago, I turned in my Code School 48-hour hall pass and proceeded to cram in as many courses as I could. Before turning in the hall pass, I first tried the free Try jQuery course to get an idea of how long the courses would take me so I could plan out my 48 hours. I managed to finish jQuery Air: Captain’s Log, CoffeeScript, and Real-time Web with Node.js. That’s 4 courses in 3 days. I was definitely burnt out at the end, but I’m considering paying $20 (normally $25, but finishing courses give rewards like a $5 coupon) for a month of access to explore the other courses when I get the chance.
I’ll go into some detail of how the courses are laid out and my impressions in more detail.
The courses are almost like separate entities. Each course has its own theme, aesthetically designed slides and webpage, as well as coding exercises to help cement the topic of the lesson. The variety is interesting, if not a bit jarring, because each course that are in similar areas (such as jQuery, CoffeeScript, and Node.js) are presented as completely separate courses. There is no visual “flow” from one course to another, although the courses do reference other courses at times. I understand that they are trying to design each course to stand alone and allowing the user to choose the which courses he wants to take and the order. However, the only “constant” between the courses is the really nice design work put into the webpages and slides. It just seems a little dissonant to get used to navigation being on the left, then have to get used to it being on the right, then it’s on the left again.. and so on.
Lessons are presented via video. This caused me a little bit of concern because the last thing I want to do is sit through a lecture. It wasn’t bad – the videos were around 5 – 15 mins long, but because I was writing down copious notes, it would sometimes take me 40 minutes to just get through the video. The videos and accompanying slides are all downloadable for offline use and review, which I’ve found to be handy.
However, I think the real drive of the “school” is doing the coding exercises which you can’t download. I wrote down copious notes so I could reference them without having to tab out each time. This included writing down the code examples presented in the video because you would be asked to write down some variant of it in the coding exercise. I have a great interest in knowing how they implemented the console in which you type your code because it functions much as you’d expect a code editor to, with syntax highlighting and all that good stuff (including a tab that doesn’t tab out of the text area). I’m also interested in knowing how they implemented some of the checks for your code vs. what they expect. Sometimes it would work with screwy code, i.e., clearly not quite what they were expecting when you go to the next exercise and they fill in the expected solution, and sometimes it would be incredibly nitpicky. This caused a lot of frustration for me as I wasn’t so interested in doing the coding exercise as much as getting to the next lesson (and to get to the next lesson, you have to complete a series of short exercises) – I had 48 hours and I wanted to finish as many things as I could.
As I mentioned above, I am considering putting down $20 for a month of access. I am interested in other areas besides JavaScript, like Ruby and iOS. Without the 48 hour pass, I’m not sure how long it would have taken me to get introduced to CoffeeScript or Node.js. I had a lot of fun with CoffeeScript but I think I was the most frustrated with the jQuery courses simply because jQuery requires a little bit of rewiring in terms of syntax and what to expect. Node.js was also interesting to learn because I haven’t touched much of server-side coding and I thought it was a nice introduction on that topic.
The one thing I don’t like is the gamification of the courses. Completing each lesson awards points. These points you can use on hints to help solve the coding exercises, which I found that I had to do because I was getting so frustrated with the nitpicky solution checker. It’s hard to not see the effects of your code, so you’re often blindingly submitting and hoping it works out as you intend. However, if you don’t have a good grasp of the topic (as is often the case, else why are you trying to learn it?), it can be difficult to run the simulation in your mind. There’s also no debugging (e.g., print or echo statements) and you have to rely on the messages the system sends back. Sometimes these are helpful, sometimes they are not. Really, what the messages are trying to send back is from a stock list of common errors, which may or may not apply in your case. I found a lot of the messages were too ambiguous.
All said and done, Code School is a nice resource to have a more structured approach to getting introduced to a topic. The exercises can be frustrating, but they are useful and provide a more concrete direction than trying to do various, disparate exercises. I especially like being able to download the videos and slides for offline use, either to review or use as reference. Additionally, at the end of each course is a nice reference list of where to go next to dig deeper into the topic. You are awarded with “prizes” for finishing the course, including a $5 coupon for Code School, a free webinar from a different website, and some other goodies which you may or may not find useful.