Dan Klein

 

Associate Professor

Computer Science Division, Electrical Engineering and Computer Science

B.A., Cornell University and Ph.D., Stanford University

 

Since coming to campus in 2004, Daniel Klein, Associate Professor, Computer Science Division, EECS, has “single-handedly turbocharged” the teaching of artificial intelligence (AI).  A leading researcher in AI, Klein has taken one course in particular, CS188, Introduction to Artificial Intelligence, and turned it from one of the lowest rated to one of the highest rated courses even as its enrollment has skyrocketed. One student says, “Thank you so much. I took this class to satisfy a requirement. You have given me a growing obsession with AI.”  The Committee was struck by his immense dedicated and high original teaching methods that both engages students and helps them to understand the material. Said one member of the Committee, “I want to take this class.”

 

Statement of Teaching Philosophy

 

When I teach, I think a lot about the student perspective.  What is the course experience like for them?  How are they connecting to the material?  Why are they excited about it in the first place?

 

Thinking through the student point of view helps me to teach in more effective ways. Instructors must have expert command of their material. However, experts can also easily forget what it is like to be a beginner, to see material for the first time.  I ask myself what misconceptions students might have, what aspects of the material they could find more dissonant than I expect.  Teaching well requires connecting the understanding of an expert back to the conceptual state of a beginner.

 

Students’ perception of a course can also be very different from mine. For example, it's easy for me to view lecture as the single key element. Certainly lectures are important. However, students have many channels for learning: books, assignments, friends, the internet. Lectures are just one component of their academic experience. I try to make a lecture an interactive experience that pulls students into the rest of the coursework, something that they cannot get elsewhere.

 

While students spend three hours a week in lectures, they spend more than triple that time on projects and assignments. Therefore, I try to make assignments something students can engage deeply in. In CS 188, for example, projects are set in the classic arcade game of Pac-Man. Students write programs that control the Pac-Man character, using algorithms of general utility. Each assignment enriches Pac-Man's world. The first project navigates mazes, the second introduces adversaries (ghosts), the third adds learning, and the fourth makes the adversaries invisible, bringing in probabilistic inference.

 

Beyond materials and lectures, students take courses in a social context: with friends, with rivals, with total strangers, but always with other people. Class culture is therefore a very real part of their experience. Of course, student social preferences vary. Some students are motivated by competition. Others enjoy teamwork. I try to encourage a culture that supports and engages both strategies.  For example, group assignments make learning a more collaborative experience, while extra credit tournaments let individual students really show their stuff.

 

Above, I've focused on undergraduate teaching, but other settings bring their own unique dynamics.  For example, in a graduate class, students are there to connect the material to their own research, which I try to facilitate through customized individual projects.  Advising PhD students is yet another process.  There, our viewpoints naturally tend to align quite well, and a mentoring relationship becomes the primary mode as we work together on research challenges. Indeed, with my PhD students, the teaching perspective often reverses; I find myself learning as much from them as they do from me.