Evaluating Codecademy: A Response
After I posted about Codecademy last week, cofounder Zach Sims got in touch with me to continue the conversation. I suggested that they post over on their own blog, but he wanted to follow up in the same venue and his response was longer than a comment. So here it is: The first-ever guest post on this blog, by Zach Sims of Codecademy.
I read Ben’s great post about his students using Codecademy and felt I had to respond to explain a bit more about what we’re working on and how we plan to change the way CS is learned across the world.
Codecademy was founded in August of 2011 by Ryan Bubinski and I. Ryan had spent four years at Columbia helping CS majors and others learn how to practically apply their programming skills. Through the Application Development Initiative, an organization he founded, hundreds of Columbia students learned (and often taught each other) practical programming skills and technologies.
At the same time, I was working at a bunch of startups (drop.io before it sold to Facebook and GroupMe before it sold to Skype) working on product and business. It became increasingly frustrating that I didn’t know how to code so Ryan helped me chart a path towards programming literacy. I took an introductory CS class at Columbia and read several books, along with a healthy complement of videos and tinkering. Yet for some reason, programming never clicked the way I wished it would.
Ryan and I started Codecademy with the mission to make sure others didn’t have that same problem. We’re trying to teach the world to code in a way that’s more fun, exciting, and motivating than what exists now. We’re firm believers that code will be part of twenty-first century literacy, and we’d like to be one of the biggest educators of twenty-first century citizens.
Startups and Education
There’s a bit of a problem for education startups – the lifecycles and timing of both don’t quite match up. We’re a small team (and released our first iteration when it was just the two of us) and we’re used to building and changing our product quickly before it’s perfect. Hierarchical education is a bit different – lesson plans are established and teachers have set methodologies of teaching.
As a startup, we think a bit differently. We tweak our curriculum every day depending on feedback from users and data we receive every time an exercise is completed. We see where our users are stumbling and we get hundreds of comments and emails a day. We’re constantly refining our curriculum. That means the first iteration that Ben saw is different (as he mentions in his addendum) from the one on the site today. We think using data and feedback from our students is the best way to create the best, most informative lessons. That said, lessons are almost never perfect (just as they’re rarely perfect in the classroom).
We’re thrilled to see that teachers and educators have used us in their classrooms. We’re excited about becoming a resource for students both inside of and outside of the classroom. But while we’ve been happily surprised by how quickly this use case has grown, it’s also not one we had planned on from the beginning. We know we have lots of work to do before Codecademy works right out of the box for all ages, grade levels, and skill sets out there. Ultimately we’re looking to create a good educational experience for everyone – including teachers and students.
Help Us Out!
It’s great to know that Codecademy is watching their Google Alerts and paying attention to what people are talking about. I was hoping for a bit more in this response on the specifics of the issues I raised — most notably, the problem that completing an exercise immediately pushes you to the next exercise without a chance to see your correct solution in context. It’s nice that they’re open to feedback, but I have a feeling most people will be wary about donating curriculum-improvement efforts to a for-profit company unless there’s a clear open-content commons-style agreement in place.