Otmar Hilliges: Katalogdaten im Frühjahrssemester 2015

NameHerr Prof. Dr. Otmar Hilliges
Professur für Informatik
ETH Zürich, STD H 24
Stampfenbachstrasse 48
8092 Zürich
Telefon+41 44 632 39 56
BeziehungAusserordentlicher Professor

252-0024-00LParallele Programmierung Information 7 KP4V + 2UO. Hilliges, F. O. Friedrich
KurzbeschreibungEinfuehrung in das parallele
Programmieren: nicht-deterministische und deterministische
Programme, Modelle fuer parallele Programme, Synchronization,
Kommunikation und Fairness.
LernzielEinfuehrung in das parallele
Programmieren: nicht-deterministische und deterministische
Programme, Modelle fuer parallele Programme, Synchronization,
Kommunikation und Fairness. Uebungen beschaeftigen sich mit
Threads in moderne Programmiersprachen
(Java, C#) und die Ausfuehrung von parallelen Programmen auf
Multi-Prozessor/Multi-Core basierten Systemen.
252-3600-02LUbiquitous Computing Seminar Information 2 KP2SF. Mattern, O. Hilliges
KurzbeschreibungSeminar zu unterschiedlichen Themen aus den Bereichen Pervasive Computing, Ubiquitous Computing, Mensch-Maschine-Interaktion, Verteilte Systeme und verwandter Gebiete.
LernzielErwerb von Kenntnissen zu unterschiedlichen aktuellen Themen aus den Bereichen Pervasive Computing, Ubiquitous Computing, Mensch-Maschine Interaktion Verteilte Systeme und verwandter Gebiete.
263-3700-00LUser Interface Engineering Information 4 KP2V + 1UO. Hilliges
KurzbeschreibungAn 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.
LernzielStudents 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.
InhaltUser 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
SkriptSlides 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.
LiteraturA detailed reading list will be made available on the course website.
Voraussetzungen / BesonderesPrerequisites: 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.