Eric Roberts

Charles Simonyi Professor of Computer Science, emeritus
Stanford University

Teaching Computer Science in a Time of Opportunities and Challenges

Academic computer science is at a critical juncture that offers both challenges and opportunities. More students than ever before are choosing to major in computer science and an even larger number of students are taking computer science courses in recognition of the fact that knowledge of computing is essential in the modern world. That interest, of course, is exciting. At the same time, most computer science departments are overwhelmed by the growing demand from students. In this talk, I draw on my own experience as a young faculty member in the similarly challenging 1980s to offer advice on how to make the most of the opportunities that are intrinsic to teaching in such a vibrant field.


After receiving his Ph.D. in Applied Mathematics from Harvard University in 1980, Eric Roberts taught at Wellesley College from 1980-85, where he organized and chaired the Computer Science Department. From 1985-90, he was a member of the research staff at Digital Equipment Corporation’s Systems Research Center in Palo Alto, California, focusing on programming tools for multiprocessor architectures. In September 1990, Roberts joined the Stanford faculty, where he remained until he retired from teaching in 2017. He is now the Charles Simonyi Professor of Computer Science, emeritus, and a Bass University Fellow in Undergraduate Education.

From 1990 to 2002, Professor Roberts was Associate Chair and Director of Undergraduate Studies for Computer Science. In that capacity, he was the principal architect of Stanford’s introductory programming sequence. He has written seven computer science textbooks that are used at many colleges and universities throughout the world. From 1998 to 2005, Roberts directed the Bermuda Project, which developed the computer science curriculum for Bermuda’s public secondary schools.

Professor Roberts has been active in professional organizations dedicated to computer science education. He is a Fellow of both the Association of Computing Machinery (ACM) and the American Association for the Advancement of Science (AAAS). From 1998 to 2001, Roberts served as co-chair and principal editor for the ACM/IEEE-CS Joint Task Force on Computing Curricula 2001, which published a detailed set of curriculum guidelines in December 2001. He also chaired the ACM Java Task Force from 2003 to 2007.

In 2003, Roberts received the annual Award for Outstanding Contribution to Computer Science Education from the ACM’s Special Interest Group in Computer Science Education (SIGCSE). In 2012, Roberts received both the Karl V. Karlstrom Outstanding Educator Award from the ACM and the Taylor Booth Education Award from the Institute for Electrical and Electronic Engineers Computer Society (IEEE-CS).