John Harvard's Journal
CS50’s Expanding Global Reach
Photograph by Rose Lincoln/Harvard Public Affairs and Communications
Photograph by Rose Lincoln/Harvard Public Affairs and Communications
During the first lecture of “Introduction to Computer Science I,” best known as CS50, McKay professor of the practice of computer science David Malan invites volunteers to the front of the auditorium to make peanut-butter-and-jelly sandwiches. Students in the audience shout out instructions that Malan compiles into a sandwich-making algorithm. By the end of the exercise, it’s obvious the algorithm isn’t precise enough to teach a computer how to make a sandwich: one volunteer’s sandwich is a pile of bread covered by a pool of jelly. Malan calls the demonstration a “ridiculous example” that illustrates a rudimentary principle—that “computers are actually pretty dumb. They can only do literally what they are told.”
That example sticks with a lot of students: CS50 is Harvard’s largest undergraduate class, and, as of this year, Yale’s, too. The online version, which has recorded some 700,000 registrants this year, towers over the other HarvardX courses. Even as critics have focused on the software industry’s involvement in computer-science education, Malan’s instructional reach is on the verge of reaching another huge audience: American high-school students.
Angela Yake, who teaches CS50’s curriculum in a rural high school in Cedarville, Ohio, believes examples like the sandwich-making exercise help her students grasp abstract concepts in computer science. “Those kinds of ideas were really eye-opening,” she said; now every time the students “want to try something and it’s not working, they’ll say, ‘Think back to the peanut-butter-and-jelly-sandwich.’”
Yake is one of 40 teachers participating in a pilot of CS50 AP, an adaptation of the curriculum for high-school classrooms that will satisfy the requirements for Advanced Placement Computer Science Principles, a new course debuting this fall. With support from Microsoft, one of CS50’s corporate partners, Malan’s staff provides curriculum materials, teacher training, and online updates to participating schools (about half are public, four of them charter, the rest private). Microsoft hosted training boot camps for teachers at its headquarters last summer, and offers scholarships for teachers to take CS50 online through Harvard Extension School. The pilot has reached 1,500 students this year, Malan said. CS50 staff declined to provide a full list of schools participating, but a limited sample suggests that they (like AP courses generally) serve higher-income communities.
Malan’s teaching style complements the goals of AP CS Principles, which is meant to offer high-school students a broad and accessible introduction to the field. The College Board’s existing AP Computer Science A course focuses on programming in Java, while AP CS Principles is language-agnostic. The course also asks students to answer questions about the global impact of computing. The decision to focus on the big ideas of computer science in the new course was informed by research suggesting that K-12 students were intimidated by computer science and had narrow ideas about what the field is and what kind of people can succeed in it, said Lien Diaz, the director of the College Board’s entire AP program. The new curriculum aims to convey “the excitement that’s built around what you can do with programming,” Diaz explained, and to draw in more women and minority students, who are underrepresented in computer science. “I believe that is what David Malan tries to do,” she said. The College Board expects to endorse CS50’s curriculum, as well as curricula developed by other universities and private companies, all as teaching options for AP CS Principles.
But CS50’s AP curriculum is hardly watered down. The course teaches C, an old and notoriously opaque programming language, while some of the other introductory curricula opt for high-level languages that are easier to use, but teach students less about how computer processes work. Kathleen O’Shaughnessey, a teacher at the private Hopkins School in New Haven, believes CS50’s combination of rigorous material and encouraging pedagogy helps students understand computer-science principles with more depth than other curricula. “What Malan’s curriculum seems to do so well is create problems that reveal easy-to-miss details of computer science without totally alienating the less comfortable students,” she said. “It feels much more empowering than how my own C education at Yale went.” Diaz agreed that CS50’s curriculum involves more serious programming than other curricula developed for AP CS Principles.
Recruiting qualified teachers continues to be a barrier to implementing K-12 computer-science education on a mass scale. Computer-science professionals considering second careers have little incentive to consider teaching unless they have an intrinsic interest in the field: said Yake, who left a job in IT to become a teacher, “I could be making twice as much, at least, as what I’m making now.” Meanwhile, some states lack programs to train education students to become computer-science teachers, and even teachers with computer-science training, like O’Shaughnessey, can have qualms. “I had a computer-science degree and honestly found [the CS50 curriculum] intimidating,” she admitted, before adding, “It would be a shame if teachers didn’t take on this curriculum because it’s too hard for them, rather than too hard for their students.”
Teachers interviewed for this story said they welcome the software industry’s involvement in computer-science education, as long as corporations don’t influence what’s in the curriculum. Yake said CS50’s partnership with Microsoft motivates her students and opens them to new intellectual and career opportunities, but “I definitely don’t want Microsoft telling me what I should be teaching in my course.” Malan has said that Microsoft isn’t involved in developing the curriculum: “They’ve been involved in bringing people together, the running of the workshops, and so forth. But the curriculum remains the same [as it was a few years ago].”
The line sometimes appears fuzzy: for example, a CS50 AP blog post last summer indicated that Microsoft interns had created some of the course materials (Update, April 29, 2016: CS50 updated its blog post after the publication of this story to indicate that Microsoft interns had collated, but not created, materials for the course). Corporate partnerships might also influence students in subtler ways. When CS50 hosted a hackathon for high-school students in New York City (similar to the course hackathons for undergraduates), for example, O’Shaughnessey said her students “had a blast. They got to meet real professionals, and asked this woman from Microsoft great questions about what she does for a living. They left with Microsoft stickers and bags and stuff.” Such events may prime students to imagine jobs for themselves at proprietary software companies, rather than other careers involving computer science—academic research, for example, or data journalism, or public service. And to the extent that affluent schools are more likely to take on CS50 than disadvantaged schools, already privileged students are those most likely to benefit from the private sector’s resource-sharing. “I do wonder about the opportunities for less privileged kids,” said Andrew Judkis, a teacher at a magnet school in New Jersey. “Without some major efforts, they’re going to be left even further behind.”
But there’s a pragmatic argument for inviting the software industry into classrooms. At the moment, O’Shaughnessey stressed, most schools don’t believe they have the resources to expose students to computer science before college. The private sector does. Bridging that divide is a national priority—but in the short term, turning private interests away on principle, she said, “doesn’t make any sense.”