Points and badges

For the past week or so, I have been working my way through Codecademy’s JavaScript tutorials. I can’t recommend them highly enough.

As things stand, I have a full house of 480 points and 35 badges and, as the Codecademy creators would undoubtedly hope, I am rather satisfied with the JavaScript proficiency I have attained. ‘Attained’ is probably the wrong word to use though. Being a self-taught Matlab hacker, I have found most of my coding know-how has translated fairly well into Javascript. A few concepts (recursion in particular) have presented me with some difficulty, but the overall experience has been more like learning a new coding dialect  than a new language altogether. I haven’t attained a proficiency, so much as uncovered a hidden one.

Which brings me to why I sought out Codecademy in the first place (thanks to @m_wall for the twitter-solicited tip-off) – I am preparing to teach Psychology undergrads how to code. From 2012/2013 onwards, my academic life is going to be a little more ‘balanced’. As well as the research, admin and small-group teaching I currently enjoy, I’m also going to be doing some large-group teaching. Although I have plenty to say to undergraduates on cognitive neuroscience and cognitive psychology, I think giving them some coding skills will actually be much more useful to most. As my experience with Codecademy has recently reinforced to me, coding basics are the fundamental building-blocks of programming in any language. They will hold you in good stead whatever dialect you end up speaking to your computer in. What’s more, they will hold you in good stead whatever you end up doing, as long as it involves a computer: coding is the most versatile of transferable skills to be imparting to psychology graduates who (rightly) believe they are leaving university with the most versatile of degrees.

With all this in mind, one of Codecademy’s limitations is the difficulty with which its students can translate their new-found JavaScript skills into useful ‘stuff’ implemented outside the Codecademy editor. As Audrey Watters points out, there is barely any acknowledgement within the Codecademy tutorials that the goal of all of these points and badges is to encourage you to write interactive web contact in an IDE. Indeed, last night when I thought about how I would use JavaScript to administer online  memory experiments, I had to do a lot more reading. This could all be about to change though. If the latest Code Year class on HTML is anything to go by, the folks at Codecademy are mindful of this limitation, and are attempting to remedy it.

It’s just a shame that the html integration has come so late in the Code Year (yes, I say this with full awareness that we’re only on week 13).  If the HTML-Javascript confluence had come a little further upstream, I think there probably would have been a fledgling memory experiment linked to from this blogpost!

11 thoughts on “Codecademic

    • I hadn’t properly explored teamtreehouse until you posted that link. Thanks! (Just when I thought I’d have to wait another week before I could collect another badge!!)

      Having taken a look, there appear to be two major differences between the teamtreehouse and the codeacademy approaches:
      – passive vs active learning. Teamtreehouse (passive) uses well-edited videos to teach the fundamentals of coding, but requires you to have the discipline to practice yourself. Codeacademy (active) uses an IDE-like interface that sets you coding tasks you have to achieve in order to progress to the next stage. Codeacademy works better for me, though I can see teamtreehouse being useful if there is a major topic area (with a well-indexed video) I would like a refresher on without necessarily jumping through all the badge-geared hoops.

      – Web-integration from lesson1 onwards. At least with JavaScript, teamtreehouse gets this right. The videos show JavaScript being used to modify web-pages through manipulation of CSS etc. More of this from codeacademy please!

  1. If you’re looking to dive into css and html, you may enjoy diving into creating a child template for wordpress. I’d be more than happy to help with the process.

    • I may take your offer up on this! Having done most of my html learning from a For Dummies book back in the late 90s, I’m currently a little out of touch. (My attempts at learning CSS in the mid-00s were thwarted by my desire to not be the webmaster – remember that word?! – for the Leeds University Film Society anymore).

  2. Good work Akira! I’m ashamed to say though that my recommendation of CodeAcademy was based on 10 minutes playing around with the first few sections – you’ve now inspired me to actually sit down and go through it properly though! Will report back when I’ve done it…

    • Please do. Having taken my newfound JavaScript skills into the wild, I’m noticing a fair amount more dissimilarity with more traditional coding approaches than I first spoke about in the blog. The most critical difference lies in the user-input driven execution of code. Namely, I can’t nest a ‘wait’ for a participant response in a for or while loop without crashing the browser – I therefore have to have each set of events (record time, record response, code whether or not response was correct, etc) coded as a discrete chunk that finishes before the next participant input is initiated. I too will blog more about this when my first full experiment is more completely coded.


Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>