Princeton University Professor Brian Kernighan is on a mission to educate non-technical people about the basic workings and issues of computers.
"It's important that people in science and technology be prepared to explain this field to people from a different background," Kernighan told 200 MIT students, faculty and others gathered in Room 34-101 Thursday (October 10) for the latest in the Laboratory of Computer Science (LCS) Dertouzos Lecture Series. "And it's important that (non-technical) people be able to think and reason about technological systems. If I at least know how something works, I can begin to reason about what does and doesn't make sense."
Mixing his serious message with humor, anecdotes and a kind of technology trivial pursuits - Windows XP has 38 million lines of programming, for example - Kernighan described his Princeton course, "What Should an Educated Person Know about Computers," which he has taught for four years. The class, which draws about 45 students majoring in politics, English and history, features what Kernighan called "a triad of important stuff": hardware (what's inside a computer and how does it work); software (how we tell computers how to do things); and communications (the web and the Internet).
Kernighan, who spent 30 years in the Computing Science Research Center at Bell Laboratories and is the co-author of several computer science books, includes an historic context in his teaching.
Citing Moore's Law, he noted that "computing power doubles every 18 months and has done so for 30 years." He continued: "You get twice as much bang for your buck every couple of years. My microwave oven today has more computing power than the computer in my office two years ago. ... But at the same time, some things haven't changed. Fundamentally, all a computer does is follow very simple instructions. But boy, does it do it fast."
Kernighan uses examples such as Napster and the Anna Kournikova virus as well as hands-on activities and other methods to pique the interest of non-technical students. He showed his MIT audience how he takes apart a 1.44 MB floppy disc and asks his Princeton students to estimate the number of bits per square inch. "Everyone here can probably figure that in a couple of minutes," Kernighan said, allowing a pause for laughter to build as people in the crowd mentally struggled for the right equation.
He used another example, in which he asks students to estimate the weight of a nine-foot cast-iron cannon on the Princeton campus, to demonstrate why Princeton now requires all students to fulfill a quantitative reasoning (QR) requirement. Students often "hate" QR classes, he said, but such teaching is essential to encourage "numeracy," which Kernighan described as being able to view quantitative information critically.
Similarly, Kernighan said students can only appreciate the complexities and challenges of computer science through direct, hands-on learning. "You cannot really understand software without having tried to write a program," he said. "There are always bugs in programs. It's hard to get everything right all the time. And it's very hard to make software easy for people to use."
Kernighan uses his teaching about universal connectivity (UC) and other Internet issues to make students more aware of the downside as well as the upside of technology. "UC carries great risks and great rewards," he said. "You can easily communicate, but you also become accessible to strangers the world over."
Kernighan doesn't expect his students to switch majors and become computer scientists, but he does want them to leave his class better informed. "I want them to be skeptical about technology, but not to have knee-jerk reactions that say technology is bad ... It's important for us who are technical in some way to convey what we do to others, because many of those people may end up making decisions that affect us."