Otmar Hilliges: Catalogue data in Spring Semester 2015
|Name||Prof. Dr. Otmar Hilliges|
Professur für Informatik
ETH Zürich, STD H 24
|Telephone||+41 44 632 39 56|
|252-0024-00L||Parallel Programming||7 credits||4V + 2U||O. Hilliges, F. O. Friedrich|
|Abstract||Introduction to parallel programming: deterministic and non-deterministic programs, models for parallel computation, synchronization, communication, and fairness.|
|Objective||The 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-02L||Ubiquitous Computing Seminar||2 credits||2S||F. Mattern, O. Hilliges|
|Abstract||Seminar on various topics from the broader areas of Pervasive Computing, Ubiquitous Computing, Human Computer Interaction, and Distributed Systems.|
|Objective||Learn about various current topics from the broader areas of Pervasive Computing, Ubiquitous Computing, Human Computer Interaction, and Distributed Systems.|
|Prerequisites / Notice||There 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 http://www.vs.inf.ethz.ch/edu for further information.|
|263-3700-00L||User Interface Engineering||4 credits||2V + 1U||O. Hilliges|
|Abstract||An 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.|
|Objective||Students 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.
|Content||User 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 notes||Slides 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.|
|Literature||A detailed reading list will be made available on the course website.|
|Prerequisites / Notice||Prerequisites: 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.