Computational Interaction Design

ACM SIGCHI CHI 2018 Course Notes

Otmar Hilliges

ETH Zurich, Switzerland

Per Ola Kristensson

Cambridge University, United Kingdom

Antti Oulasvirta

Aalto University, Finland

John Williamson

University of Glasgow, United Kingdom

Computational Approaches to Interaction Design

This course introduces computational methods for HCI.

As interfaces become more sophisticated, designing them requires an exponentially expanding set of design decisions. Computational approaches are needed to synthesise elements of interfaces, to learn interaction structure from observations and to infer user intentions in a noisy world. Computational approaches empower HCI researchers to building sophisticated, robust interfaces quickly and reliably.

Summary & objectives

The course will cover:

  • Optimisation: solving interaction problems by deriving interface configurations which satisfy constraints and maximize performance criteria.
  • Inference: a principled and robust approach to designing a transformation from input to useful action.

This course will:

  • demonstrate how computational approaches can turn new technologies into viable interfaces while reducing inconsistency;
  • extend researchers' capabilities to build robust interactions across a wide range of contexts and devices;
  • show how computational approaches can focus interaction design on the interesting work of specifying the questions, and letting computational methods resolve the answers.

Course abstract PDF


To get the most out of this course, participants should have working knowledge of undergraduate mathematics, particularly basic probabilty and linear algebra (even if it is a vague and rusty memory!). Familiarity with Python and the scientific Python stack (numpy, scipy, matplotlib, sklearn, jupyter) would be very useful.

Software and preparation

All of the materials will be delivered as interactive Jupyter notebooks, which interleave notes and live coding examples. All coding examples will be in Python, and familiarity with Python is strongly recommended. We also provide the materials for download and use on your own machine before and after the conference course sessions.


To cite this course, use the following BibTeX entry:
                                      author = {Otmar Hilliges and 
                                                Per Ola Kristensson and 
                                                Antti Oulasvirta and
                                                John Williamson},
                                      title = {Computational Interaction Design},
                                      booktitle = {ACM SIGCHI 2018 Courses},
                                      year = {2018}}                    

2018 /