Breakout Session

What Should a Well-informed Person Know about Computers?

Track:  Technology

All of us are affected by computing, in ways we may not even realize. Some of the technology is highly visible, like laptops, cell phones and the Internet; most is invisible, like the computers in everything from gadgets to infrastructure, or the myriad systems and services 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 a well-informed person should have a good, if rather high level, understanding of how computer and communication systems operate.

This talk is based on my experience teaching “Computers in Our World,” in courses for students in the humanities and social sciences at Princeton and at Harvard. 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 to help students understand computing and communications technologies, how to reason about how systems work, and how to be intelligently skeptical about technology and technological claims.

Brian Kernighan
Department of Computer Science
Princeton University

Brian Kernighan is a Professor in the Computer Science Department of Princeton University. Before joining Princeton, he worked at Bell Labs in the group that created the Unix operating system.

He is the coauthor of several books on computing and programming, including “The C Programming Language”, written with Dennis Ritchie. He is also a coauthor of the widely used AWK and AMPL programming languages. His latest book, “D is for Digital”, explains what a well-informed person should know about computers and communications.

Kernighan has a B.A.Sc. in Engineering Physics from the University of Toronto and a Ph.D. in Electrical Engineering from Princeton University. He is a member of the National Academy of Engineering.


Invalid rotator ID specified (path No_Rotator_Path_Specified doesn't exist). Unable to display rotator.