December 3, 2013

Joining Facebook’s ‘Open Academy,’ Cornell Teaches Student Programmers

Print More

By ERIC OBERMAN

For the past two spring semesters, Facebook and Cornell have teamed up to offer a course that allows computer science students to work on real-world products.

The course, CS 5152: “Open-Source Software Engineering,” is part of Facebook’s Open Academy program, which allows students to get experience working on open-source projects while working with industry mentors.

Cornell is one of 22 colleges worldwide and one of 13 schools in the U.S. that participates in Open Academy, according to a Facebook press release.

The program was designed to give students experience working on existing projects, rather than starting them from scratch, according to Prof. Ross Tate, computer science.

“Normally in classes, they’ll build a code base on their own,” he said. “It’s very different to hop on somebody else’s project, especially if it’s millions of lines of code already.”

In the past, students have worked on programs like MongoDB, an open-source document database, and Ruby on Rails, a web development program, according to Tate.

Qiming Fang ’13, who took the course last spring, worked on a program called socket.io, which is designed to “make realtime apps possible in every browser and mobile device,” according to its website.

The class splits students up into groups of three to five, which then work with industry mentors and students from other universities, Tate said.

Unlike other courses, the course’s results were used in the real world, according to Brian Toth ’13, who also took the course last spring.

“[It] was radically different from any other class I took at Cornell,” Toth said in an email. “Everything I wrote is now real code out in the wild.”

According to Fang, one of the most difficult aspects of the class was communicating with the people his team was working with.

“Collaboration is hard. We were working with contributors all over the world — in Finland, at MIT, in Brazil and California,” he said in an email. “Learning to deal with distance and being able to work remotely is important for students looking to enter industry.”

The class meets for 12 hours a week, according to Tate. Students spend 11 hours working on their projects and one hour in lecture.

Tate said the lectures are unusual because they focus on personal and practical skills for programmers, rather than algorithms or coding techniques.

“We go over gender issues in computer science and we go over documentation, writing skills and speaking skills,” he said. “It’s a bit of an unusual programming course.”

Grading for the course is also unusual. Seventy-five percent of students’ grades are determined by their mentors, who grade based on their hireability, according to the course website.

“The mentors aren’t really calibrated for academic grading schemes,” Tate said.

For example, according to Tate, an A in the course is reserved for students who mentors would make room in their companies to hire.

Conversely, students who mentors believe are not hirable receive Ds or Fs.

Overall, Fang describes the course as a beneficial experience.

“We were working on something that’s not simply being graded — we’re working on something that real-world developers use,” he said.