One of the pioneers of teaching programming online is moving up the stack. Codecademy has partnered with 10 organizations, as a start, to lay out how to use their APIs.
Starting here, learners can now go step by step through getting data from the initial partners Codecademy has worked with to develop lessons, which include Bitly, NPR, Parse, Twilio, and YouTube. For example, the student could use APIs to search for the top YouTube videos, or to retrieve the full transcripts of NPR stories. Sims characterized the process of learning to use these organizations' APIs as "Definitely not easy, but I think we made it pretty easy to understand."
Codecademy and its brethren -- including pretty much all online courses that aim to teach programming to non-programmers -- have their detractors. I-Programmer's Mike James makes the case against superficial, syntax-based approaches to teaching programming: "Programming is a mental skill that you have to acquire and it is difficult... The first step in programming isn't thinking up complex algorithms, it is in seeing the connection between simple algorithms and the equivalent text." And Bret Victor's detailed proposal for an integrated language and visual method of teaching it, which we discussed here last year, stands in stark contrast to the (by comparison) crude teaching methods employed by Codecademy and its ilk.
What has Codecademy wrought?
If the online tutelage available through Codecademy is not ideal for teaching beginners to program, what is it good for? It could well become the best way for experienced programmers to approach unfamiliar APIs. Codecademy's Sims hopes the ten partners that have created the initial API lessons will be only the beginning examples of "a platform where anyone can add a lesson for their API," according to the WSJ.
What do you think? Any APIs you have been itching to learn? Will Codecademy's approach help you to move your knowledge forward?