This is an OLD version of the course. Please go to the overview page to find the current version!

05-640  Interaction Techniques, Spring, 2019

(formerly also had number 05-440)

See the list of all previous times this course was offered!

Intended for Undergraduates, Masters and PhD students!

some scroll bars over history Time: MW 1:30pm-2:50pm
Room: GHC 4211
12 University Units

Instructor: Brad Myers

Office: Newell-Simon Hall
(NSH) 3517
Phone: x8-5150
Office hours: TBD (or by appointment)

TA: Asit Parida

Office hours: TBD


This course will provide a comprehensive study of the many ways to interact with computers and computerized devices. An “interaction technique” starts when the user does something that causes an electronic device to respond, and includes the direct feedback from the device to the user. Examples include physical buttons and switches, on-screen menus and scroll bars operated by a mouse, touch screen widgets and gestures such as flick-to-scroll, text entry on computers or touch screens, consumer electronic controls such as remote controls, game controllers, and adaptations of all of these for people with disabilities. We will start with a history of the invention and development of these techniques, discuss the various options used today, and continue on to the future with the latest research on interaction techniques presented at conferences such as ACM CHI and UIST. Guest lectures from inventors of interaction techniques are planned. Students will have a choice for final projects that can focus on historical or novel interaction techniques. For example, one option will be to create a novel technique, perform a user study of it, and write a paper about the result, which may be suitable for conference submission. (Last time, a group inventing a new way to do text entry on a watch did get a publication!) Another option is to create a Wikipedia page about an inventor or interaction technique. Or you could investigate and write a paper or make a video about the history and various previous designs for widely used interaction techniques, possibly including an interview with the inventor(s).

After taking this course, students will be able to:

Schedule and Homeworks

A tentative schedule for the course and topics for class periods is available. There will definitely be changes.

Confirmed guest speakers this year include:

See also the Homework list, and homeworks policies.

The index for previous year's materials is also available.


Students must have taken at least some introductory HCI course, such as 05-391 / 05-891 DHCS; 05-410 / 05-610 UCRE; 05-430/05-630 PUI; 05-431/05-631 SSUI; 05-863 / 45-888 Intro HCI Tech Exec; or equivalent. Preference will be given to students in the degree programs of the HCII (Undergrad Minor in HCI, BS in HCI, M-HCI, PhD-HCI). Students do not need to know how to program – we would especially like to invite students interested in the history of computation to enroll. (Note: if you have a focus on the history of technology, but no courses in HCI, we may be willing to make an exception to that requirement--email the professor.)

Nice Comments from Last Time:

"Interaction Techniques is my favorite course this semester." "This was a very informational course. I loved learning about all the history of the different interaction techniques and where they come from." "I learned a lot from Professor's experience and insights." "Every lecture was fun!" "It was a great and thorough overview of many different forms of interaction" "I liked how it was a very comprehensive study or description of a wide variety of interaction techniques. I've just been using all of these before without knowing the thought process made behind them." "[I liked best the] freedom of projects. Interesting and engaging homeworks." "Nice range of topics, use of readings/studies as well as our own explorations" "It is a very cool course that covers the topic very well."

What is an "Interaction Technique"?

Informally, it describes things like menus, scroll bars, text entry fields, typing on a smart-phone with an on-screen keyboard, gestural interfaces like flicking to scroll, etc. More formally, here are some definitions:

My definition:

An “interaction technique” starts when the user does something that causes a computer to respond, and includes the direct feedback from the computer to the user. Interaction techniques are generally reusable across various applications.

Wikipedia’s definition:

An interaction technique, user interface technique or input technique is a combination of hardware and software elements that provides a way for computer users to accomplish a single task.

Foley & van Dam's, 1990 textbook's definition:

An interaction technique is a way of using a physical input/output device to perform a generic task in a human-computer dialogue.

Final Project Ideas:

It is expected that everyone in the class will do a final project, probably in teams of 2 to 4 students. Here are some ideas for final projects: