It’s true, the idea of taking a computer science class sounds a little 1980s. We use computers all the time for everything these days, after all. Who needs a course in it?
Well, Robert Sedgewick, founding chairman of Princeton University’s computer science department, thinks that most people could use such a class, especially when they’re preparing to enter the working world. Because we use computers for everything, in every job, in every discipline, people should know what computers are all about. Don’t think of it as computer programming as much as learning how, in Sedgewick’s words, to engage effectively with computation at many levels.
“We know that no matter what the job, people are engaged in computation,” Sedgewick says. “Scientists use computers, even artists use computers. At any discipline, you’re going to be way ahead of the next person if you know something about computers.”
Sedgewick will present “Computer Science for the Masses,” a free talk in celebration of Computer Science Education Week (December 7 to 13, csedweek.org) at the Princeton ACM/IEEE-CS December joint meeting on Thursday, December 10, at 8 p.m. at the Friend Center Auditorium. A pre-meeting dinner will be held at 6 p.m. at Ruby Tuesday’s Restaurant on Route 1, and both the dinner and event are open to the public. Call Dennis Mancl at 908-285-1066, visit http://princetonacm.acm.org, or E-mail email@example.com.
Sedgewick grew up in New England, the son of two mathematics professors. His father taught college in Connecticut and his mother earned the first-ever Ph.D. in mathematics from Brown (the university’s mathematics Ph.D. program began in 1946). Sedgewick followed his parents’ lead, earning his bachelor’s in applied mathematics from Brown in 1968. He was already interested in computers, but in the late 1960s, Brown had exactly one computer course, which Sedgewick took.
His penchant for math merged into an early study in algorithms and sorting. Sedgewick went to Stanford for his Ph.D., where his thesis was on Quicksort, a systematic method for placing the elements of an array in order, became what is still considered a landmark in the field and a support beam to the field of computer algorithms. He also held visiting research positions at Xerox PARC, in Palo Alto, California, in the 1970s.
After getting his Ph.D., Sedgewick returned to Brown as a professor, where he stayed for about 10 years. In 1985 he came to Princeton to found the university’s computer science department. He also (literally) wrote the book, Algorithms, several editions of which are published by Addison-Wesley, as well as a series of books on the topic with co-writer Philippe Flajolet.
Sedgewick also has held visiting research positions at the Institute for Defense Analyses and at INRIA (the Institute for Research in Computer Science and Automation) in Rocquencourt, France. He also is a member of the board at Adobe Systems. In 1997 he was named a fellow at the Association for Computing Machinery for his work in the mathematical analysis of algorithms and his research in algorithm animation.
Two Rs and a C. It’s no hyperbole to say that computers have changed everything. For Sedgewick, they’ve even changed the three fundamentals of education.
“In the 19th and 20th centuries, you needed to know the Three Rs,” Sedgewick says. Reading, ’riting, and ’rithmetic were the cornerstones of all school learning. “Today I’d say it’s reading, ’riting, and computers.”
True to form, a lot of people are still afraid of computers and technology. They can use the machines because it’s just a matter of swiping a fingertip across a flat screen, but they are still intimidated by the language and workings of computers.
What Sedgewick is trying to do at Princeton and beyond is demystify these bundled microchips. At the university the computer science department has been hard at work building a foundational computer program that, like math or engineering, provides a basic understanding of how to program and use computers that can then be applied to subsequent coursework.
Sedgewick refers to this foundational course of study as “a stake in the ground,” a model that can be replicated by other educational institutions because, surprisingly, colleges don’t offer good computer science classes. And that’s a real issue given how many fields of study and work require people to know this stuff.
Preparing for Round 2. The fundamental problem in all this is that while all disciplines use computers these days each discipline uses them differently.
In academic circles, what often happens, Sedgewick says, is that people take a computer course, and it in itself works out fine. “The problem is, only a small number of people are prepared for the second course,” he says.
In other words, someone learns something about computers, but then steps into more advanced and specific courses only to find that they didn’t get the foundations of computer language that can help them get through the new round. Sedgewick and the computer science crew at Princeton want to give students a foundation akin to what basic math and algebra do for advanced mathematics. The same functions apply to lower and higher math problems, but it’s nearly impossible to understand advanced mathematics without knowing how to use those functions in basic, everyday situations.
So far, Sedgewick’s hopes are panning out. Seventy percent of Princeton students take the foundation course, he says. And 40 percent take the next course.
Beyond Princeton. Sedgewick hopes to see Princeton’s idea catch on in other colleges, but he also believes it can be scaled down to college prep and higher-level high school classes.
“There’s a lot of interest for this in high schools,” he says. “But they can’t do it themselves.”
High schools, of course, do not have the resources to identify and develop the kind of course material that makes for a solid foundational computer science program. So Sedgewick’s stake is a top-down approach toward getting people to understand the basics.
But by scaling it down, Sedgewick doesn’t mean dumbing it down. It means effectively applying computer science education to the level of education where it’s taught, but it doesn’t mean forgetting that computer science is still a pretty technical thing.
“You don’t dumb down physics,” he says. “Physics is still physics. Well, this is still computer science.”