In undergraduate computer science classes, students are graded on whether their programs do what they’re supposed to.
In the real world, however, clear, concise code is as important as software performance. Large software projects can involve hundreds of programmers, and testing, revising, and updating software may require people to review code that they had no hand in writing.
So last fall, for the second year in a row, students in Charles E. Leiserson and Saman Amarasinghe’s Performance Engineering of Software Systems class had their code regularly reviewed by 20-odd volunteer programmers from the Boston area. After each of four class projects, roughly 70 students met with the professional programmers in pairs for code reviews of 60 to 90 minutes each.
Leiserson and Amarasinghe introduced the class three years ago, initially holding their own half-hour code reviews with individual students. “That killed us,” Leiserson says. “Even though we had a small class at the time, it was clearly not scalable.” So in the summer of 2009, they began recruiting seasoned programmers to mentor their students—and have had to turn away applicants each year. The professors believe theirs is the country’s first computer science class to incorporate code review with professional software engineers.