DEPARTMENT OF COMPUTER SCIENCE COLLOQUIUM SERIES Dr Brian Kernighan, Princeton University What Should an Educated Person Know about Computers? Friday, April 23, 2010, 12:30pm-2:00pm, 70-1400 (auditorium) ABSTRACT All of us are affected by computing, in ways we may not even realize. Some of the technology is highly visible, like personal computers and the Internet; most is invisible, like the microprocessors in cars and appliances, the programs that fly planes and control telephones, power systems and medical equipment, or the myriad systems that quietly collect personal data about us. Even though most people will not be directly involved with programming such systems, everyone is strongly affected by them, so an educated person should have a good, if rather high level, understanding of how computer hardware, software, and networks operate. This includes knowing what programs are and understanding why programming is hard. It means being informed about issues like usability, reliability, security, privacy, and some of the inherent limitations of computers. It should include some idea of the history of computing and enough understanding of the technologies to make reasonable guesses about the future. This talk is based on my experience developing and teaching "Computers in Our World," a Princeton course for students in the humanities and social sciences. The course is meant to describe how computing works -- hardware, software, networking, and systems built upon them -- for a non-technical audience. The intent, or perhaps just fond hope, is not only to help students understand specific technologies, but also how to reason about how systems work and how to be intelligently skeptical about technology and technological claims. BIOGRAPHY Brian Kernighan received his BASc from the University of Toronto in 1964 and a Ph.D. in electrical engineering from Princeton in 1969. He was in the Computing Science Research center at Bell Labs until 2000, and is now in the Computer Science Department at Princeton. He is the author of 8 books and some technical papers, and holds 4 patents. He was elected to the National Academy of Engineering in 2002. His research areas include programming languages, tools and interfaces that make computers easier to use, often for non-specialist users. He is also interested in technology education for non-technical audiences.