Teaching

Teaching at the University of Wisconsin–Madison

I teach the entire curriculum on design and human-computer interaction at the Department of Computer Sciences, including two undergraduate classes on interaction design and a graduate class on design and human-computer interaction research. Additionally, I have developed a blueprint for a future undergraduate major in human-computer interaction.

Undergraduate Curriculum

CS-270+570 Introduction to Human-Computer Interaction

This course is designed to introduce undergraduate students to  human-computer interaction (HCI) practice, a user-centered approach to designing and evaluating interactive systems. This approach draws on existing knowledge on human behavior and cognition and a contextual understanding of the problem domain. It uses theory and methods from computer science, social and cognitive sciences, and interaction design. HCI principles and methods are practiced in the design and evaluation of most software and physical products and services and greatly impact all areas of human life that involve interactive technology such as communication, collaboration, education, and healthcare. The course can be taken either at the 200 or 500 level. In the 200 level, students will learn widely used design and evaluation methods used in HCI practice in lectures and practice these methods through hands-on classroom activities and short, weekly assignments. The 500 level includes all the material that the 200 level covers with the addition of three month-long group projects. Project topics include but are not limited to designing and evaluating web-based services, mobile computing applications, and social interfaces. CS-202 or CS-302 is required to enroll in the class. Those who don’t meet these requirements can only take the class with the permission of the instructor. The course is designed for computer science undergraduate students. However, graduate students interested in HCI practice and undergraduate students from other programs are also encouraged to take the class. The course will be taught next in Spring 2016 with an expected combined enrollment of 90–120 for 270 and 570.

Graduate Curriculum

CS/Psych-770 Human-Computer Interaction

This course is designed to introduce graduate students to principles and research methods in human-computer interaction (HCI), an interdisciplinary area concerned with the study of the interaction between humans and interactive computing systems. Research in HCI looks at major cognitive and social phenomena surrounding human use of computers with the goal of understanding their impact and creating guidelines for the design and evaluation of software and physical products and services in industry. Students will explore (1) principles of and literature in HCI through a set of readings, class presentations, and discussions, (2) empirical methods for exploratory and experimental human-subjects research in lectures, tutorials, and weekly assignments, and (3) a group project in which student teams will practice these principles and research methods in an application domain. The course is designed for graduate students in computer science and psychology. However, advanced undergraduates in these programs and graduate students from other programs may take the course with the permission of the instructor. No prerequisites are required to take the course. The course will be taught next in Fall 2016 with an expected enrollment of 50.

Extending the Curriculum

An Undergraduate Major in Human-Computer Interaction

In the near future, I envision creating a specialized undergraduate major in human-computer interaction made up of coursework and independent studies in computer science, design, behavioral sciences, and engineering. To date, one student has followed a blueprint that I hope will serve as the basis for such a program, graduating from the Letters and Science Individual Major program with a specialization in “Human-Computer Interaction.”

Off-Campus Teaching

In addition to the curriculum at the University of Wisconsin–Madison, I offer courses and consulting to software companies. For instance, I offered a series of courses on “Designing for User Experience” to developers at Epic Systems the recordings of which were included in the training materials for new developers. A talk I gave titled “Seeing through the User’s Eyes” at Epic on Developers Day was attended by more than 800 developers. I also regularly advise software start-ups and entrepreneurs from among our students and alumni on user-centered product design.