Class Room

The best instructors have only a limited ability to teach students anything. Instead, instructors motivate students to teach themselves. This ability, to be a self-directed learner, is especially important for computer science students. Computer science graduates must be prepared to function in a diverse and rapidly transforming field, which requires the ability to grasp new ideas and master new tools without the guiding hand of an instructor. My goal for the classroom is to stimulate a three part iterative process of self-instruction in which students formulate questions, search for and construct answers, then evaluate their results.

My approach to introducing new topics in computer science is to first demonstrate how the current problem can be fit into a useful abstraction, then show the students how this abstraction can be manipulated, and finally illustrate additional problems to which the abstract concept can be applied. I also attempt to always discuss real world uses of the theoretical concepts described in class. For example, a graphical windowing system can be represented as a linked list, and a multiply linked list can represent a three dimensional scene. This technique helps students understand the relevance of what they learn in the classroom.

Educational research shows that students learn best when they are actively engaged in the subject. In the workshop that I am currently teaching I constantly strive to increase the participation of the students. My lectures are guided discussions where questions are welcomed at any time. I do not let anyone complete a discussion session uninvolved. Techniques I have been using include brainstorming sessions, student white-board presentations, and group discussions. I also elicit student participation with many questions of my own. I have found that these activities encourage students to think, talk, and actively participate rather than passively listening. I also extend the dialog outside the classroom by maintaining a class mail list and asking students to send me comments through e-mail. By encouraging online discussion via the mail list, and responding to email quickly, the class and I are able to quickly correct invalid suppositions and conceptual misunderstandings on the part of any particular student.


Mentoring and advising students is one of the most important roles of a professor. My primarily goal as an advisor is to prepare students for their professional lives. Students need assistance not only with technical details, but also in identifying and prioritizing goals, developing and executing research plans, and effectively communicating results. As a graduate student advisor, I see myself filling many roles, such as instructor, technical consultant, research collaborator, writing coach, and most importantly as a leadership mentor. I am the faculty mentor for the Northwestern student chapter of the ACM, Co-advisor for the Microsoft .NET contest, and the faculty advisor fro the Microsoft Imagine Cup.

Graduate students, whether they pursue academic careers or find jobs in industry, will be in leadership roles. The skills needed to head a research group are rarely a part of formal graduate student training. At the same time, persuading undergraduates to join that next generation of graduate students is not always an easy task. Experience can be a critical factor in a student's decision to continue on to graduate school. While vast numbers of internships allow students to "test the waters" of industry, the scarcity of research opportunities hinders most students from gaining this same experience in academia.

In order to obtain this critical knowledge I have established the Undergraduate Research Team at Northwestern. The Undergraduate Research Team (URT) links undergraduates and graduate students in research activities. URT undergrads perform background research, write software, and develop computer algorithms. URT graduate students lead the research projects under the guidance of the faculty mentors. Both sets of students take part in writing papers for submission to computer graphics conferences and journals. Students are also required to give oral presentations of their work to the computer graphics community at Northwestern.

The work of the undergraduate team members has resulted in five research publications. However, the best metric of the impact of these efforts is the students themselves. Of the students involved in the undergraduate graphics research team who have graduated, four have gone on to "top ten" graduate schools in computer graphics (University of North Carolina at Chapel Hill, and the University of California at Davis) and one has stayed on at the University of Utah as a staff researcher. In addition, team members have furthered career goals with internships at Los Alamos National Laboratories, nVidia corporation, and Disney Imagineering.

I believe that programs like the Undergraduate Research Team provide essential instruction for graduate students. Such programs teach graduate students to be leaders by giving them first hand experience in leading a student group to set and achieve a research goal.


I believe that educational activities we engage in should extend beyond the walls of the university to reach our communities and society. I am involved in two types of outreach activities, scholarly and community outreach. The advent of the World Wide Web has opened up new avenues for disseminating the information from our research. I currently co-maintain a Non-Photorealistic Rendering webpage which contains links to all of the people and institutions currently involved in this research. The webpage also serves as a computer code, model and research paper repository for this subfield of computer graphics. In addition I have created web pages and freely distributed computer code for silhouette extraction, computer painting, human perception, and provide fMRI data for volume visualization. I consider traditional college students as a subset of a broader audience, and I truly believe that children are our future. Therefore, I have created a multimedia presentation on computer graphics which I show at local senior high and junior high schools. I have also shown this presentation to "at risk" sixth graders with good results. I also created a six-page booklet on computer graphics and the people involved for these younger students to take home. I noticed that if I can hook the parents on computer science, I get the children for free. Although these are not traditional examples of teaching success, they demonstrate my commitment and interest in outreach education.

Additional Teaching Experience

Outside of academia, I have had extensive experience teaching outdoor skills at a Boy Scouts of America high adventure base in southern Utah. During the summers, I have instructed teenagers in back-packing, wilderness survival, rock climbing and aquatics, as well as leadership skills such as team building, group communication, and conflict resolution. Although this setting is quite different from a university, many of the same principles apply. In particular, the qualities of being well-prepared, creative and enthusiastic are essential.