David Wagner

David Wagner

Assistant Professor, Electrical Engineering & Computer Sciences
B.A., Princeton University
Ph.D., University of California, Berkeley

Wagner has received numerous awards and fellowships, including a Sloan Research Fellowship and an NSF CAREER fellowship, Wagner was also named one of Popular Science’s “Brilliant 10” in 2002. He has also received a teaching award from the Computer Science Division. Wagner, one of the world’s leading cryptographers and experts in computer security, teaches such courses as “Cryptography, Security in Computer Systems,” and “Discrete Mathematics and Probability Theory.” Students consistently give him extremely high marks, and their comments make the reasons clear: “I cannot say enough how much I enjoyed this course. The assignments and exams are extremely challenging, interesting, and well-presented.” Despite the difficulty, Professor Wagner’s “presentations and homeworks should not be missed by anyone serious about computer science.”


Statement of Teaching Philosophy

In college, I remember loving discrete mathematics and algorithms, but wishing that these classes had more fully captured the excitement of the subject. Joining the Berkeley faculty provided me a chance to apply myself to something I believe in. Not surprisingly, the challenges were harder than I expected, but those memories—and a desire to try to teach these subjects in a more inspiring way—have been a strong motivator.

I go out of my way to learn from the teaching styles of others. I watched Manuel Blum use examples, puzzles, and applications to engage students. My colleague Eric Brewer has a knack for setting up thorny technical problems, drawing students into a discussion of possible approaches, encouraging class debate, and then showing how prior systems handled these problems.

Today, I try to make my lectures down-to-earth and highly interactive, placing a high priority on eliciting class participation and discussion. One of the things I’ve learned over the years is the power of examples in illustrating abstract concepts. I try to draw applications not just from our technical area, but also to connect the material to everyday life. When I teach probability and statistics, I show examples of misuses of statistics taken from newspapers, TV, and the research literature.

In our algorithms class, I illustrated finite state automata by bringing in two jugglers, showing how a juggler could be considered as an automaton where each transition corresponds to a throw, and demonstrating how different paths through the automaton correspond to different juggling patterns. I also like to provide challenging, creative homework problems. I feel that students often learn as much (or more) outside class—from homeworks and office hours—as in lecture.

My worst teaching moment was several years ago, when I botched a CS170 lecture in front of 200 students, overwhelming them with too much detail. The students left class confused and utterly lost. I was dejected. I worked over the weekend to find a clearer way to present the material, breaking it down into smaller pieces and introducing many more examples, and I was able to recover during the next lecture. That memory reminds me to distill concepts down to their essence and to strip away unnecessary detail.

Ultimately, the best reward is seeing my students excited about the material and enthusiastic to learn more. I consider myself fortunate to be able to teach a subject as interesting and relevant in our increasingly technology-reliant society.


Acceptance speech from 2006 Teaching Awards Ceremony