Autumn Semester 2020 takes place in a mixed form of online and classroom teaching.
Please read the published information on the individual courses carefully.

Otmar Hilliges: Catalogue data in Spring Semester 2015

Name Prof. Dr. Otmar Hilliges
FieldComputer Science
Professur für Informatik
ETH Zürich, STD H 24
Stampfenbachstrasse 48
8092 Zürich
Telephone+41 44 632 39 56
DepartmentComputer Science
RelationshipAssociate Professor

252-0024-00LParallel Programming Information 7 credits4V + 2UO. Hilliges, F. O. Friedrich
AbstractIntroduction to parallel programming: deterministic and non-deterministic programs, models for parallel computation, synchronization, communication, and fairness.
ObjectiveThe student should learn how to write a correct parallel program, how to measure its efficiency, and how to reason about a parallel program. Student should become familiar with issues, problems, pitfalls, and solutions related to the construction of parallel programs. Labs provide an opportunity to gain experience with threads, libraries for thread management in modern programming lanugages (e.g., Java, C#) and with the execution of parallel programs on multi-processor/multi-core computers.
252-3600-02LUbiquitous Computing Seminar Information 2 credits2SF. Mattern, O. Hilliges
AbstractSeminar on various topics from the broader areas of Pervasive Computing, Ubiquitous Computing, Human Computer Interaction, and Distributed Systems.
ObjectiveLearn about various current topics from the broader areas of Pervasive Computing, Ubiquitous Computing, Human Computer Interaction, and Distributed Systems.
Prerequisites / NoticeThere will be an orientation event several weeks before the start of the semester (possibly at the end of the preceding semester) where also first topics will be assigned to students. Please check for further information.
263-3700-00LUser Interface Engineering Information 4 credits2V + 1UO. Hilliges
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.