Codecademy may not be a substitute for more traditional forms of programming instruction, but this new platform does offer possibilities for shaping hybrid learning or building coding familiarity into a course dedicated to another topic, as customized tutorials could supplement face to face instruction. Julie Meloni makes some great points about the pedagogical problems of Codecademy and the question of results: "...it is not teaching you how to code. It is teaching you how to call-and-response, and is not particularly helpful in explaining why you’re responding, why they’re calling, or—most importantly—how to become a composer.” I share a number of these concerns, particularly when Codecademy is the only source of knowledge--and I hope that this new tool affords Codecademy the opportunity to crowdsource new approaches to pedagogy.
There are some great examples of instructional programming tools available for free on the web, such as Scratch, MIT’s young-learner friendly code “building blocks.” (Scratch is just one kid-targeted programming tool: there are other great suggestions at Digital Humanities Q&A.) But these are often starter languages that don’t directly apply to web development or other applications, and thus require additional investment before literacy in more widely-used languages is achieved.
The choice of languages in Codecademy’s toolset focuses on utilitarian scripting languages with a range of potential applications. As Ryan Cordell noted in Ruby for Humanists, Ruby is a great starting language and its inclusion is particularly promising. As Ryan mentioned, there’s already a site for learning programming basics through Ruby tutorials: Hackety Hack. But Codecademy moves a step further with an easy system for building and sharing interactive tutorials.
The interface for building courses in Codecademy resembles the minimalist console-based system of their current tutorials, with the sections of planning an exercise or project clearly labeled and spaces for entering the correct code solutions and prompts for each stage. The design of the tutorials currently ties the creator to the Codecademy model for displaying information, but there is some flexibility in layout and total control over the content.
Getting started with the course creator is as easy as creating a free account, which makes it a very accessible platform for experimentation. As each lesson is built to encourage feedback from users, there’s also the possibility for a back and forth on content and the hope of an extended or more customizable lesson-building interface in the future.
There are several possibilities for the new toolset: providing tutorials for understanding a precoded utility, asking students to build tutorials for sharing knowledge, or providing specific directions for a coding project as part of an online class or take-home project. Do you see any possibilities for crowdsourced tutorials for your learning and teaching? What tools do you use in coding literacy? Let us know in the comments!