May – Week 3

Too often I interview someone that proudly lists JavaScript on their resume having only done some simple onClick handlers or form validation that they pieced together from code samples. The use and knowledge of frameworks such as jQuery or Dojo is great, but you can’t become a master of these toolkits without a good understanding of the JavaScript behind them.
– Michael Woloszynowicz from You Don’t Know JavaScript

A rather terrifying development has emerged this week, it dawns upon you (as it dawned on me) You don’t know JavaScript. We’re still beginners and we can’t really advance ourselves without a more solid understanding of the foundations of the language. (All that time on Codecademy and we still can’t confidently – and independently – write a fizz buzz program!) Codecademy held our hand while we stepped through the door but now we’ve got to go it alone.

If you read the whole of “Eloquent JavaScript” and did all the exercises, well at this stage you’re further ahead than I was because I was very much still on shaky ground with JavaScript. This weeks task can’t really be completed in one week and is an investment in the long-term, you’ll hopefully keep returning to it as the months progress. I hope, coupled with your growing WordPress abilities you’re keen to take off the training wheels.

This week I discovered a blog called JavaScript is Sexy (via Reddit and it’s associated course group). Bookmark them both, you’ll be coming back to them a lot. I really enjoyed following Richard’s blog/curriculum “how to learn JavaScript properly” and felt it was effective (and I count it as one of the inspirations for this blog). I highly recommend taking the time to work through the 8 week course, I did and it was great for building on the foundations laid by Codecademy. Here’s how I started:

  • 1. Richard suggests buying Professional JavaScript for Web Developers or JavaScript: The Definitive Guide. I bought the former, Professional JavaScript, don’t buy the kindle version (more on that in a second).
  • 2. Get eloquent JavaScript if you haven’t already
  • 3. Richard suggests using Jfiddle to test code, Jfiddle is not to my taste, I use the Sublime Text and the browser, his Week 1 and 2 suggestions are based around Codecademy and reading the material, you’ve finished CA and already have some experience so we’re waiting for the book(s) to arrive!

Why choose “Professional JavaScript”? It’s a massive reference book, it’s a tough read and sometimes it’s like chewing on dry bread but you’ll get through it. Personally I prefer it to the The Definitive Guide (and with our CA and Tuts+ experience we can safely put our foot to the metal). Also I can’t imagine reading it from a small Kindle screen, not for me.

At this point, book in hand, you’ll probably want to start working through his curriculum. Therefore you might want to return here later when what follows will make more sense. I’d recommend devoting part of your time to Richard’s blog, keep making sites and making sure not to forget what you’ve learnt in the previous weeks.

At the end of Richard’s week 4 he’ll talk about writing a dynamic quiz, independently. Week 5 and 6 were a bit of a Waterloo moment for me, I ran into various problems (quiz scores wouldn’t save, array values misbehaving, back buttons not working hard enough) I gave up a few times only to come back weeks later, creating something from a blank canvas – as Richard states and I agree, is vital to your understanding of JS fundamentals. (I used Professional JavaScript and Codecademy (as reference) a fair bit). Try at least to create a basic working quiz before you check other people’s code, try re-factoring it to fit your quiz, (I don’t really consider it copying if there’s some kind of re-factoring and editing which at least requires an amount of understanding) don’t blindly copy, use the big books and I hope you can make it through!

The feeling you’ll get from creating – independently – what is a fairly capable program makes all the sweat and tears worth it. I’d take it up to week 8 and stop just before backbone and node. By which time you should be very pleased with what you’ve accomplished. Upload your quiz to Github and feel free to gloat (only a bit though…stiff upper lip and all that).

1. Start the curriculum over at JavaScript is Sexy . Buy one of the suggested books over there and keep investing time into learning JavaScript properly.

Leave a Reply