It’s the small things

At 15 crosswords per page and 129 pages, teachers have generated almost 2000 crossword puzzles (it’s been about a month). It’s one of life’s small things, but it’s a nice feeling–that something you built is useful.

Lessons from Codecademy


My wife wants me to teach her Ruby so I did something very DRY: I tried out Codecademy. This new EdTech site teaches you to program with interactive lessons. I know they’re onto something because I have many things to say and suggestions that could apply to any website.


The UI is very clean and the flow is better than average, especially for the level of complexity in the lesson creator. The progression is very clear and the gamification adds some color (more on this later). I love the live interaction using the console and the conversational style of the lessons. I haven’t done any of the advanced Javascript lessons, but I did spend a few hours and managed to create my own lesson for Ruby.

Things to Improve

Make You Model Structure Crystal Clear

It’s pretty hard to grok the way things are structured on the site. There’s a diagram in the documentation, but one of the main things holding me back was understanding the connections between Topic, Section, Exercise, Lesson, etc. I often tried to reference the examples form the core Javascript lessons but there seemed to be a disconnect from that and the lesson creator. This is understandably new ground and complex, but whether I’m a teacher or the student on the site, I won’t get far if I don’t get the model structure.

Poor Linkage of Documentation to UI

Creating a lesson could be simpler. There seems to be an entire documentation section, but it would have saved me a lot of headache if there were links in the lesson creator directly to the pertinent sections of the documentation. For example, when you’re trying to specify the teacher code that checks the student submission, there’s a pop-out with three examples. What is critically missing is the fact that you have access to three variables called “code”, “result”, and “error”. Without this nugget, the teacher will be scratching their head for a bit. In fact, I would suggest making the configuration for the core lessons from Javascript viewable by lesson creators (I was trying to mimic it anyway) or even creating a lesson to teach you how to use the lesson creator.

Get Serious About Gamification

Even though the badges are cute, it’s obvious that the game mechanics are not well thought out. I’m not the game designer in my company, but I’ve been around them long enough to know that you probably want to have leaderboards, levels, progress, more messaging on the “how” and “why” of the system, etc. As a student and a teacher in the system, it wasn’t clear to me where I was in relation to other players and where I should be going. This part’s not as big of a deal, since they seem to have their core competency down, engagement is a big part of any crowd-sourced content site.

Overall, Codecademy has captured the core experience, which is why I would use it and from what I hear 500,000+ other people would too. One additional philosophical argument I would echo from this piece by Audrey Watters is that the site is lacking the conceptual component. Sure, there’s a “glossary” that you can link to from what I can glean in the Markdown examples (yeah, I made the connection!), but it’s almost an after thought. It’s equally important to weave conceptual learning into this experience as well. But it’s likely they’ll add that soon since they only launched last August.

Startups and Education

I’ve always been passionate about education and last weekend I finally did something about it. I spent 54 hours at Startup Weekend EDU immersing myself in the world of EdTech. At first I didn’t know what to make of it: 56 random people from diverse backgrounds giving 1-minute startup pitches ranging from a browser plugin for MLA citations to a “Million Student March”. Since none of the 3 ideas I voted for made the cut, I was disheartened. Was my gut really that far off??? Fate had other ideas apparently because the team I eventually joined won the whole thing.

The prize is a meeting with Andreessen Horowitz, but I already got my money’s worth. I had a candid chat with my teammate Ben, a high school teacher from rural Mississippi, who effortlessly shot down all my over-engineered and ungrounded ideas on how to “fix education”. I was inspired by an elderly woman and her son from Minnesota who combined her original songs with animated caterpillars to teach music and concepts together. Most valuable of all, I learned that we each hold but fragments of complete solutions.

At the end of our presentation, we whipped out an iPad and quipped “There’s an app for that!”. It was our flourish, demonstrating that what we built works seamlessly on the iPad as well as the web. I am simultaneously proud and embarrassed about it. I’m proud that we were able to build something that would have taken many times longer in the past but embarrassed that we spent the majority of our time building and not thinking. One day, Startup Weekend will produce startups that will build products, mature in the market and get acquired all before the 54 hours are over. Until then, I’ll be working on building the tools and improving the education needed to get us there.