Robert Kleinberg, CS, Kenneth A. Goldman '71 Award
Teaching is full of surprises, and Bobby Kleinberg wouldn't have it any other way. "The most pleasant surprise is simply how bright Cornell students are," he says. "I often stop my lectures to ask the class for suggestions on how to solve the problem I'm discussing, and I'm continually amazed at the sharp and insightful responses that come back at me.
"I'm also delighted at how often my students find creative ways to apply the material I'm teaching them," Kleinberg continues. One of his students tried applying the algorithms from his class to deduce the pronunciations of words in dead languages. Another applied the algorithms to the problem of settling accounts with his apartment-mates at the end of month using the minimum number of checks.
Kleinberg created Learning, Games, and Electronic Markets when he came to Cornell in 2007. This advanced course covers designing algorithms that make better and better decisions as information is revealed over time, his main research area. "The course covered a modern and important topic, but its very mathematical emphasis made it challenging to teach," writes CS chair Eva Tardos in her nomination letter. "Bobby did a great job dealing with this challenge, especially for being his first attempt at teaching at Cornell."
Since then Kleinberg has taught 4820/482, a required course for CS majors. Despite its large size—around 100 students— Kleinberg ran an engaging and interactive lecture, writes Tardos.
"Bobby Kleinberg has guts," reads one student evaluation from the course. "He has very interactive lectures and is prepared to field questions related to the topic, even if they require a deviation from his planned script. Few profs are willing or able to do this at the same level. It requires much more knowledge of the subject, and wins the respect of the class."
"Professor Kleinberg is one of the best lecturers in the computer science department," reads another evaluation. "He is clear, concise, and entertaining. The textbook is also clear, interesting, and informative. The problem sets use amusing, tongue-in-cheek 'real life' examples which makes solving them more fun."
How do you make a class about algorithms fun? "In one of my lectures every year, I demonstrate an algorithm using a mind-reading trick: a modified game of 20 questions in which I guess almost all of the correct answers seemingly by magic," Kleinberg says, "until I present the mathematical explanation for why it works."
Another strategy is to present the thought process that leads to a discovery, rather than simply the end result. "To the extent possible, I want my students to experience this thought process themselves during the lecture," Kleinberg says. "Often this involves stopping my lecture for a couple of minutes to let students search for the next step in solving a problem, or to come up with counterexamples to a failed approach."
In his short time at Cornell, Kleinberg has picked up a couple of things about teaching. "Don't try to do too much in one lecture. I'm still in the process of learning this lesson myself," he says. "And give students an opportunity to tap into their own creativity as much as possible in assignments, during office hours, and even sometimes during lectures."