Skip to content Skip to navigation

Period of transition: Stanford computer science rethinks core curriculum

Today the department is shaping a new type of computer scientist.

Period of transition: Stanford computer science rethinks core curriculum

June 14, 2012
Mehran Sahami

Computer Science Associate Professor Mehran Sahami teaching a class in the NVIDIA Auditorium, Huang Engineering Center. | Photo by Norbert von der Groeben

It is impossible to imagine Silicon Valley becoming what it is today without computer science and, when one considers the field of computer science, one cannot do so without thinking of Stanford Engineering.

The names of faculty and alumni of the Stanford Department of Computer Science are among the most recognized names in the field—Donald Knuth, author of The Art of Computer ProgrammingJohn McCarthy, a patriarch of artificial intelligence; and Vint Cerf, co-creator of Internet protocol, to name but a few. The companies that have formed out of the department read like a Who’s Who of Silicon Valley’s best known companies: Google, Sun Microsystems and Cisco, among others.

The department was founded in 1965 by George Forsythe, a man Knuth described as “the Martin Luther of the Computer Reformation.”

Despite this legacy, however, in 2008 computer science faculty at Stanford decided it was time for a change. And so, the department that virtually invented computer science as an academic discipline in the United States reinvented itself and the curriculum that had made Stanford a leader and the Department of Computer Science one of the top programs in the world. Oversight of the effort fell to Associate Chair for Education Mehran Sahami, and a committee of his fellow faculty members.

“Undergraduate computer science enrollment at Stanford had been on a rollercoaster, rising high with the dotcom boom in the late 90s and then plummeting,” said Sahami, who is a former research scientist at Google and now the Robert and Ruth Halperin University Fellow in Undergraduate Education.

The Bureau of Labor Statistics projects that from 2008 through 2018 there are three jobs awaiting every newly minted computer science graduate. “We needed to make the major more attractive, to show that computer science isn’t just sitting in a cube all day. Computer science is about having real impact in the world,” the professor explained.

"As a young field, computer science is evolving rapidly, and the tools used by practicing computer scientists in their craft are becoming more and more sophisticated. At the same time that the field is evolving and maturing, its reach is expanding dramatically-—across numerous academic disciplines within the university, and numerous sectors of the 'real world'," said Professor Jennifer Widom, chair of the department.

Going deep

The goal was to cast a wider net, to allow computer science majors to see how their skills could be directly applied in a variety of applications. Likewise, the department wanted to draw in students from other disciplines to see the impact of computer science on their fields and, perhaps, to encourage some of them to consider computer science for their major area of study.

“Virtually every field is touched by computer science in some way,” said Sahami. “In medicine and biology computational methods are used to analyze DNA, predict treatment outcomes and model drugs at a molecular level. In environmental sciences, there is need for climate modeling. In investing and finance, algorithmic approaches are widely used.”

Even in fields once considered far afield from computer science—the arts for instance—computers have come to play an important role.

“Computers have dramatically changed animation, and artists with knowledge of computers are increasingly in demand. Conversely, computer scientists studying graphics need an appreciation for art.  After all, a bad picture, even one in high resolution, is still a bad picture,” said Sahami. 

"We want to educate our students in modern computer science, in modern software engineering, and especially in appreciating the incredible potential and reach of CS. That meant revising our curriculum to update and coalesce the fundamentals, and to highlight the synergy of computer science and other fields," said Widom.

In re-imagining the curriculum, Sahami wanted to provide students with more flexibility. The previous core curriculum, which had become monolithic and inflexible, was pared in the re-design to just six core courses—three with a theoretical focus and three with an emphasis on programming and systems.

These courses provide a foundation that is built upon in a series of “tracks” that students can choose from in order to focus on their greatest personal interest. The set of tracks includes artificial intelligence, systems, theory, graphics, human-computer interaction, and several others. Additionally, students can further extend their studies through the choice of two to four electives, including course options in fields other than computer science with the approval of their advisor.

A number of relevant courses from other departments including, for example, biology, psychology, product design and studio art can be included as part of a student’s program in computer science. “This allows students to apply what they are learning in computer science to those other disciplines,” said Sahami.

Sahami did not completely rework the storied program on his own, of course. He collaborated with the faculty curriculum committee, which reviewed and debated the plan as it evolved. When it came to a final vote of the department faculty whether to adopt the new program, the vote was unanimous in favor.

Based on these experiences, Sahami has since taken on a similar role chairing the computing curriculum committee of the Association of Computer Machinery (ACM) as it reshapes its curricular guidelines for computer science programs across the country for the coming decade.

“There have been many significant changes in the field since the last time the ACM guidelines were updated in 2001,” said Sahami. The chair of the previous ACM guidelines was Professor Eric Roberts, also a member of the Computer Science faculty at Stanford.


Though computer science enrollments are up in general nationwide, owing much to the success of social and mobile applications like Facebook and Instagram, Stanford is outpacing the broader trend. The program has seen an 83 percent increase in enrollment in its first two years, and computer science has become the largest major on campus. 

In the 2011-12 academic year, the department broke the all-time record for students declaring computer science as their major: More than 220 students in that one class alone chose to major in computer science, a 25 percent leap from the previous record in 2000-01.

“We were surprised at the level of interest and the speed at which the community responded,” said Sahami. “Today, more than 90 percent of all Stanford undergrads take at least one computer science course. It’s pretty astounding.”

As for those new graduates, they are seeing rewards in an eager job market. They are finding jobs in traditional places like software companies and startups, of course, but also on Wall Street, where the demand for workers with quantitative skills is high, and in unexpected places like medical schools, where, Sahami said, “their impact may not be immediate, but it will come in time and it will be significant.”