The NYU-Codecademy Partnership
By Jon L. Denby
Two blocks north of Union Square are the offices of an innovative tech startup. Founded by programmers Zach Sims and Ryan Bubinski, Codecademy offers interactive online instruction in programming languages such as JavaScript, HTML, CSS, Python, Ruby on the Rails, and APIs—all at no cost. Recently, they have teamed up with NYU’s Steinhardt School of Culture, Education, and Human Development to offer students the chance to learn coding in both a classroom and online environment.
This new collaboration, overseen by Assistant Professor Liel Leibovitz of Steinhardt’s Department of Media, Culture, and Communication, provides no grades, no accreditation, and is not an official NYU class. That said, the course helps prepare NYU students for a career and a future that will undoubtedly be dominated by technology. “If you don’t speak ‘computer’ in our current economy, it’s a little like not being able to read the street signs; it’s a major handicap,” says Leibovitz. Thankfully, there is no shortage of students eager to learn. Leibovitz’s first class, co-taught with programmer David Hu in fall 2012, had only 50 seats available. They were all reserved in less than three minutes of class registration opening, and the wait list grew to 120 students.
Why Codeacademy?
While teaching courses at NYU Steinhardt like Video Game Theory, Video Game Industry, and Digital Literacy, Professor Leibovitz realized that many of his students lacked an understanding of how digital systems actually worked. He was looking for a simple way to teach his students computer programming when he stumbled upon the Codecademy website:
I realized it was a really, really good solution for several reasons. First of all, it was something that was modular. You could do it on your own time. You could do several units, or all the units or tracks. It really gave you options. It was also based on real-world, complete projects—I mean every single track that you have there is based on building a game, building a tip-calculator, building a Blackjack game, building a choose-your-own-adventure game—all kinds of real-world projects. It was written in this language that I thought would resonate tremendously well with our students because it was down to earth, it was English, it was easy to understand.
Indeed, Codecademy.com’s main strength is its usability. Users create an account, sign in, and begin navigating the site’s many interactive lessons—all in under five minutes. Lessons, also known as “units,” comprise coding exercises that take students step-by-step through the process of understanding programming syntax and inputting commands. The interface could not be simpler; instructions are displayed on the left-hand side of the screen, while a programming console is displayed on the right-hand side. Students are presented with a series of simple commands to input, they type the commands into the console, and the console instantly displays the results.
The Program
As fate would have it, Codecademy’s offices happened to be located, at the time, across from Professor Leibovitz’s classroom. He walked over, introduced himself, and asked the Codecademy people if they would be interested in forming a partnership. “They replied, ‘Are you kidding me? That would be amazing,'” says Leibovitz. They sat down and hammered out the details of a course called “Speaking in Code.” From the beginning, Leibovitz insisted that this be a real partnership; he was not interested in outsourcing a class to a private company. The result of this collaboration was a program with three main components:
- Classroom instruction: Face-to-face instruction has always been the hallmark and strength of universities. In the case of Speaking in Code, students come to the classroom and the instructor lectures about the week’s topic—whether it is Boolean, CSS, JavaScript, or another unit. “We explain the logic behind these languages: what does it do, what is it used for, how does it work? We also provide the opportunity to do in-class drills and give individual attention to each student,” says Leibovitz.
- Online instruction: The in-class experience is augmented by leveraging Codecademy’s online learning platform. Once students leave the classroom and go home, they can sign on to Codecademy’s website and work on the material they were learning in class. According to Leibovitz, the student has great flexibility in how many lessons, or “units,” they want to complete. “They can really go as deep or as shallow as they feel.”
- Guest speakers: Learning abstract programming languages is one thing, but how are they put into practice in the real world? To answer this question, Leibovitz invites guest speakers, experts from within and outside of the tech sector, to talk about how technology has played a role in their lives. For example, Mark Seidenfeld, Vice President and Deputy General Counsel at the children’s publisher Scholastic, discussed how online piracy has affected the publishing business. Omri Marcus, an Israeli TV format developer, talked about the Web’s effect on television programming. Students also heard from Srdja Popovic, a well-renowned Serbian activist who has been credited with inspiring the protest strategies of the Arab Spring.
Each semester’s course spans ten weeks, starting with a general introduction to programming and the structure of the Internet (e.g., servers, gateways, and protocols). The first four weeks are dedicated to learning HTML and Cascading Style Sheets (CSS), the basis for modern web design. The last six weeks of the course are dedicated to learning JavaScript and Python, object-oriented languages for performing advanced functions.
The average class begins with a five to ten-minute discussion about the Codecademy exercises that the students completed at home earlier. Then, the instructor gives a twenty-minute introduction to next week’s theme, which the students will later go home and complete on Codecademy.com. The remainder of the time may be spent performing various programming drills and toying around with in-class projects.
There is also a final project that each student is expected to complete. “The final projects [from the first semester] were mind-blowing,” says Leibovitz. Though most students started the class with little background in programming, they produced a myriad of projects (see sidebar). While some were more functional (such as websites and a tip calculator), others were more creative (such as a choose-your-own-adventure game about a hungry dinosaur looking for restaurants in Manhattan and a zombie-themed random Haiku generator). “You could see that they understood what we wanted them to grasp, which was that these were tools, tools only limited by your imagination,” says Leibovitz.
The Experience
Paige F. MacGregor, who built the zombie-themed random Haiku generator (see sidebar), came into the class with some coding experience. But when she discovered Professor Leibovitz’s class, she saw an opportunity to brush up on her knowledge. “I began learning Python on my own over the summer, but hadn’t had time to keep up with it and had forgotten a lot of the syntax,” explained MacGregor. The class not only reinforced what she knew already, but further developed her coding skills. She eventually hopes to use some of this knowledge to design a data processing program to analyze social media data.
Kathleen Jacoby, a senior in the Media, Culture, and Communications department, decided to enroll in Leibovitz’s course to challenge herself. As an electric violinist, she hoped to attain the skills to build herself a sleek artistry website. “Maintaining and sculpting a presence on the Web is becoming more and more important to success in the industry,” says Jacoby. “It was apparent in the first week of Codecademy classes that I was building the skills to do just that. I suppose I’d sort of relate it to the old ‘give a man a fish’ adage. We were being taught to fish and feed ourselves for a lifetime, literally and figuratively.”
Like Jacoby, Jeff Kaminsky also wanted to design a website for himself. “I learned HTML and CSS from the class. I had experience with HTML before so it wasn’t completely foreign, but I think I solidified my skills and picked up many new ones by learning CSS. I also learned a ton about the architecture of the Internet and various protocols,” says Kaminsky. He found it very useful that he could go to an actual classroom, which reinforced what he was learning on Codecademy.com: “I love the interactive aspects of (Codeacdemy’s) site, but being able to ask the teachers questions really helped.”
The one complaint about the first iteration of the course shared by all three of the above students seemed to be its timing. Classes were held at 9:30 on Friday mornings, which to any college student is, as they say, a real bummer. Leibovitz acknowledges that holding a class that early is for “NYU students like walking through Mordor”—the hellish land in the The Lord of the Rings.
However, feedback from Leibovitz’s students has been overwhelming positive. Even though there were some critiques about which units to drop and which to add, students really enjoyed their experience. MacGregor, for instance, reflected that “resources like Codecademy.com are great for students looking to learn how to code, but there’s still something to be said for in-class demonstration and troubleshooting. This course bridges that gap perfectly.”
The Future
What is in store for the Codecademy-NYU partnership? Following the kick-off, the Spring 2013 semester’s class was opened to the entire Steinhardt student body. Leibovitz also expanded the class size from 50 to 60 students.
“I should say cautiously that I hope this partnership evolves into something more permanent, better structured, and more official,” says Leibovitz. So far, he has received a very supportive and enthusiastic response from the NYU administration. The challenge now is to make the larger University community aware of the program. “As we grow and as we gain more traction, I see no reason why this wouldn’t become a University-wide initiative,” says Leibovitz.
Professor Leibovitz and Codecademy are not alone in their views about the role coding will play in the future. Recently, Bill Gates and Facebook’s Mark Zuckerberg have launched an initiative to teach young people the virtues of learning how to code. Along with Twitter’s creator and basketball-star Chris Bosh, Gates and Zuckerberg appear in a new, six-minute video entitled What Most Schools Don’t Teach. The message is simple: Schools need to include coding in their curriculum to prepare students for a digital future. The video is sponsored by Code.org, a nonprofit that, like Codecademy, promotes coding education. “Our policy is literally to hire as many talented engineers as we can find,” Zuckerberg says in the video. “The whole limit of the system is there just aren’t enough people who are trained and have these skills today.”
Professor Leibovitz and Codecademy aim to change that.