263-3700-00L  User Interface Engineering

SemesterSpring Semester 2015
LecturersO. Hilliges
Periodicityyearly recurring course
Language of instructionEnglish


AbstractAn in-depth introduction to the core concepts of post-desktop user interface engineering. Current topics in UI research, in particular non-desktop based interaction, mobile device interaction, augmented and mixed reality, and advanced sensor and output technologies.
ObjectiveStudents will learn about fundamental aspects pertaining to the design and implementation of modern (non-desktop) user interfaces. Students will understand the basics of human cognition and capabilities as well as gain an overview of technologies for input and output of data. The core competency acquired through this course is a solid foundation in data-driven algorithms to process and interpret human input into computing systems. 

At the end of the course students should be able to understand and apply advanced hardware and software technologies to sense and interpret user input. Students will be able to develop systems that incorporate non-standard sensor and display technologies and will be able to apply data-driven algorithms in order to extract semantic meaning from raw sensor data.
ContentUser Interface Engineering covers theoretical and practical aspects relating to the design and implementation of modern non-standard user interfaces. A particular area of interest are machine-learning based algorithms for input recognition in advanced non-desktop user interfaces, including UIs for mobile devices but also Augmented Reality UIs, gesture and multi-modal user interfaces. 

The course covers three main areas:
I) Basic principles of human cognition and perception (and their application for UIs)
II) (Hardware) technologies for user input sensing
III) Data-driven methods for input recognition (gestures, speech, etc.)

Specific topics include: 
* Model Human Processor (MHP) model - prediction of task completion times.
* Fitts' Law - measure of information load on human motor and cognitive system during user interaction.
* Touch sensor technologies (capacitive, resistive, force sensing etc).
* Data-driven algorithms for user input recognition:
- SVMs for classification and regression
- Randomized Decision Forests for gesture recognition and pose estimation
- Markov chains and HMMs for gesture and speech recognition
- Optical flow and other image processing and computer vision techniques
- Input filtering (Kalman)
* Applications of the above in HCI research
Lecture notesSlides and other materials will be available online. Lecture slides on a particular topic will typically not be made available prior the completion of that lecture.
LiteratureA detailed reading list will be made available on the course website.
Prerequisites / NoticePrerequisites: proficiency in a programming language such as C, programming methodology, problem analysis, program structure, etc. Normally met through an introductory course in programming in C, C++, Java.

The following courses are strongly recommended as prerequisite:
* "Human Computer Interaction"
* "Machine Learning"
* "Visual Computing" or "Computer Vision"

The course will be assessed by a written Midterm and Final examination in English. No course materials or electronic devices can be used during the examination. Note that the examination will be based on the contents of the lectures, the associated reading materials and the exercises.