Search result: Catalogue data in Spring Semester 2015

Computer Science Master Information
Interfocus Courses
NumberTitleTypeECTSHoursLecturers
263-0008-00LComputational Intelligence Lab
Office hour always on Mondays from 11-12 in room CAB H53
O6 credits2V + 2U + 1AT. Hofmann
AbstractThis laboratory course teaches fundamental concepts in computational science and machine learning based on matrix factorization. This method provides a powerful framework of numerical linear algebra that encompasses many important techniques, such as dimension reduction, clustering, combinatorial optimization and sparse coding.
ObjectiveStudents acquire the fundamental theoretical concepts related to a class of problems that can be solved by matrix factorization. Furthermore, they successfully develop solutions to application problems by following the paradigm of modeling - algorithm development - implementation - experimental validation.

This lab course has a strong focus on practical assignments. Students work in groups of two to three people, to develop solutions to three application problems:
1. Compression: Exploiting image statistics to compress an image with minimal perceptual loss.
2. Collaborative filtering: predicting a user interest, based on his own and other peoples ratings. The "Netflix prize" is one such example.
3. Inpainting: Filling in lost parts of an image based on its surroundings.

For each of these problems, students submit their solutions to an online evaluation and ranking system, and get feedback in terms of numerical accuracy and computational speed. In the final part of the course, students combine and extend one of their previous promising solutions, and write up their findings in an extended abstract in the style of a conference paper.
Focus Courses
Focus Courses in Computational Science
Focus Core Courses Computational Science
NumberTitleTypeECTSHoursLecturers
263-2300-00LHow To Write Fast Numerical Code Information
Prerequisite: Master student, solid C programming skills.
W6 credits3V + 2UM. Püschel
AbstractThis course introduces the student to the foundations and state-of-the-art techniques in developing high performance software for numerical functionality such as linear algebra and others. The focus is on optimizing for the memory hierarchy and for special instruction sets. Finally, the course will introduce the recent field of automatic performance tuning.
ObjectiveSoftware performance (i.e., runtime) arises through the interaction of algorithm, its implementation, and the microarchitecture the program is run on. The first goal of the course is to provide the student with an understanding of this interaction, and hence software performance, focusing on numerical or mathematical functionality. The second goal is to teach a general systematic strategy how to use this knowledge to write fast software for numerical problems. This strategy will be trained in a few homeworks and semester-long group projects.
ContentThe fast evolution and increasing complexity of computing platforms pose a major challenge for developers of high performance software for engineering, science, and consumer applications: it becomes increasingly harder to harness the available computing power. Straightforward implementations may lose as much as one or two orders of magnitude in performance. On the other hand, creating optimal implementations requires the developer to have an understanding of algorithms, capabilities and limitations of compilers, and the target platform's architecture and microarchitecture.

This interdisciplinary course introduces the student to the foundations and state-of-the-art techniques in high performance software development using important functionality such as linear algebra functionality, transforms, filters, and others as examples. The course will explain how to optimize for the memory hierarchy, take advantage of special instruction sets, and, if time permits, how to write multithreaded code for multicore platforms. Much of the material is based on state-of-the-art research.

Further, a general strategy for performance analysis and optimization is introduced that the students will apply in group projects that accompany the course. Finally, the course will introduce the students to the recent field of automatic performance tuning.
Focus Elective Courses Computational Science
NumberTitleTypeECTSHoursLecturers
252-0526-00LStatistical Learning Theory Information W4 credits2V + 1UJ. M. Buhmann
AbstractThe course covers advanced methods of statistical learning :
PAC learning and statistical learning theory;variational methods and optimization, e.g., maximum entropy techniques, information bottleneck, deterministic and simulated annealing; clustering for vectorial, histogram and relational data; model selection; graphical models.
ObjectiveThe course surveys recent methods of statistical learning. The fundamentals of machine learning as presented in the course "Introduction to Machine Learning" are expanded and in particular, the theory of statistical learning is discussed.
Content# Boosting: A state-of-the-art classification approach that is sometimes used as an alternative to SVMs in non-linear classification.
# Theory of estimators: How can we measure the quality of a statistical estimator? We already discussed bias and variance of estimators very briefly, but the interesting part is yet to come.
# Statistical learning theory: How can we measure the quality of a classifier? Can we give any guarantees for the prediction error?
# Variational methods and optimization: We consider optimization approaches for problems where the optimizer is a probability distribution. Concepts we will discuss in this context include:

* Maximum Entropy
* Information Bottleneck
* Deterministic Annealing

# Clustering: The problem of sorting data into groups without using training samples. This requires a definition of ``similarity'' between data points and adequate optimization procedures.
# Model selection: We have already discussed how to fit a model to a data set in ML I, which usually involved adjusting model parameters for a given type of model. Model selection refers to the question of how complex the chosen model should be. As we already know, simple and complex models both have advantages and drawbacks alike.
# Reinforcement learning: The problem of learning through interaction with an environment which changes. To achieve optimal behavior, we have to base decisions not only on the current state of the environment, but also on how we expect it to develop in the future.
Lecture notesno script; transparencies of the lectures will be made available.
LiteratureDuda, Hart, Stork: Pattern Classification, Wiley Interscience, 2000.

Hastie, Tibshirani, Friedman: The Elements of Statistical Learning, Springer, 2001.

L. Devroye, L. Gyorfi, and G. Lugosi: A probabilistic theory of pattern recognition. Springer, New York, 1996
Prerequisites / NoticeRequirements:

basic knowledge of statistics, interest in statistical methods.

It is recommended that Introduction to Machine Learning (ML I) is taken first; but with a little extra effort Statistical Learning Theory can be followed without the introductory course.
151-0104-00LUncertainty Quantification for Engineering & Life Sciences Restricted registration - show details
Does not take place this semester.
Number of participants limited to 40.
W4 credits3GP. Koumoutsakos
AbstractQuantification of uncertainties in computational models pertaining to applications in engineering and life sciences. Exploitation of massively available data to develop computational models with quantifiable predictive capabilities. Applications of Uncertainty Quantification and Propagation to problems in mechanics, control, systems and cell biology.
ObjectiveThe course will teach fundamental concept of Uncertainty Quantification and Propagation (UQ+P) for computational models of systems in Engineering and Life Sciences. Emphasis will be placed on practical and computational aspects of UQ+P including the implementation of relevant algorithms in multicore architectures.
ContentTopics that will be covered include: Uncertainty quantification under
parametric and non-parametric modelling uncertainty, Bayesian inference with model class assessment, Markov Chain Monte Carlo simulation, prior and posterior reliability analysis.
Lecture notesThe class will be largely based on the book: Data Analysis: A Bayesian Tutorial by Devinderjit Sivia as well as on class notes and related literature that will be distributed in class.
Literature1. Data Analysis: A Bayesian Tutorial by Devinderjit Sivia
2. Probability Theory: The Logic of Science by E. T. Jaynes
3. Class Notes
Prerequisites / NoticeFundamentals of Probability, Fundamentals of Computational Modeling
Seminar Computational Science
NumberTitleTypeECTSHoursLecturers
252-5251-00LComputational ScienceW2 credits2SP. Arbenz, T. Hoefler, P. Koumoutsakos
AbstractClass participants study and make a 40 minute presentation (in English) on fundamental papers of Computational Science. A preliminary discussion of the talk (structure, content, methodology) with the responsible professor is required. The talk has to be given in a way that the other seminar participants can understand it and learn from it. Participation throughout the semester is mandatory.
ObjectiveStudying and presenting fundamental works of Computational Science. Learning how to make a scientific presentation.
ContentClass participants study and make a 40 minute presentation (in English) on fundamental papers of Computational Science. A preliminary discussion of the talk (structure, content, methodology) with the responsible professor is required. The talk has to be given in a way that the other seminar participants can understand it and learn from it. Participation throughout the semester is mandatory.
Lecture notesnone
LiteraturePapers will be distributed in the first seminar in the first week of the semester
252-5704-00LAdvanced Methods in Computer Graphics Information Restricted registration - show details
Number of participants limited to 24.
W2 credits2SM. Gross, O. Sorkine Hornung
AbstractThis seminar covers advanced topics in computer graphics with a focus on the latest research results. Topics include modeling, rendering,
animation, physical simulation, computational photography, and others.
ObjectiveThe goal is to obtain an in-depth understanding of actual problems and
research topics in the field of computer graphics as well as improve
presentation and critical analysis skills.
Focus Courses in Distributed Systems
Focus Core Courses Distributed Systems
NumberTitleTypeECTSHoursLecturers
227-0558-00LPrinciples of Distributed Computing Information W6 credits2V + 2U + 1AR. Wattenhofer
AbstractWe study the fundamental issues underlying the design of distributed systems: communication, coordination, fault-tolerance, locality, parallelism, self-organization, symmetry breaking, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques.
ObjectiveDistributed computing is essential in modern computing and communications systems. Examples are on the one hand large-scale networks such as the Internet, and on the other hand multiprocessors such as your new multi-core laptop. This course introduces the principles of distributed computing, emphasizing the fundamental issues underlying the design of distributed systems and networks: communication, coordination, fault-tolerance, locality, parallelism, self-organization, symmetry breaking, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques, basically the "pearls" of distributed computing. We will cover a fresh topic every week.
ContentDistributed computing models and paradigms, e.g. message passing, shared memory, synchronous vs. asynchronous systems, time and message complexity, peer-to-peer systems, small-world networks, social networks, sorting networks, wireless communication, and self-organizing systems.

Distributed algorithms, e.g. leader election, coloring, covering, packing, decomposition, spanning trees, mutual exclusion, store and collect, arrow, ivy, synchronizers, diameter, all-pairs-shortest-path, wake-up, and lower bounds
Lecture notesAvailable. Our course script is used at dozens of other universities around the world.
LiteratureLecture Notes By Roger Wattenhofer. These lecture notes are taught at about a dozen different universities through the world.

Distributed Computing: Fundamentals, Simulations and Advanced Topics
Hagit Attiya, Jennifer Welch.
McGraw-Hill Publishing, 1998, ISBN 0-07-709352 6

Introduction to Algorithms
Thomas Cormen, Charles Leiserson, Ronald Rivest.
The MIT Press, 1998, ISBN 0-262-53091-0 oder 0-262-03141-8

Disseminatin of Information in Communication Networks
Juraj Hromkovic, Ralf Klasing, Andrzej Pelc, Peter Ruzicka, Walter Unger.
Springer-Verlag, Berlin Heidelberg, 2005, ISBN 3-540-00846-2

Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes
Frank Thomson Leighton.
Morgan Kaufmann Publishers Inc., San Francisco, CA, 1991, ISBN 1-55860-117-1

Distributed Computing: A Locality-Sensitive Approach
David Peleg.
Society for Industrial and Applied Mathematics (SIAM), 2000, ISBN 0-89871-464-8
Prerequisites / NoticeCourse pre-requisites: Interest in algorithmic problems. (No particular course needed.)
Focus Elective Courses Distributed Systems
NumberTitleTypeECTSHoursLecturers
252-0312-00LUbiquitous Computing Information W3 credits2VF. Mattern
AbstractUbiquitous computing integrates tiny wirelessly connected computers and sensors into the environment and everyday objects. Main topics: The vision of ubiquitous computing, trends in technology, smart cards, RFID, Personal Area Networks (Bluetooth), sensor networks, location awareness, privacy and security, application areas, economic and social impact.
ObjectiveThe vision of ubiquitous computing, trends in technology, smart cards, RFID, Personal Area Networks (Bluetooth), sensor networks, location awareness, privacy and security, application areas, economic and social impact.
Lecture notesCopies of slides will be made available
LiteratureWill be provided in the lecture. To put you in the mood:
Mark Weiser: The Computer for the 21st Century. Scientific American, September 1991, pp. 94-104
252-0807-00LInformation Systems Laboratory Information Restricted registration - show details
Number of participants limited to 16.

In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. These Labs will only count towards the Master Programme. Additional Labs will be listed on the Addendum.
W10 credits9PM. Norrie
AbstractThe purpose of this laboratory course is to practically explore modern techniques to build large-scale distributed information systems. Participants will work in groups of three or more students, and develop projects in several phases.
ObjectiveThe students will gain experience of working with technologies used in the design and development of information systems.
ContentFirst week: Kick-off meeting and project assignment
Second week: Meeting with the project supervisor to discuss the goals and scope of the project.
During the semester: Individual group work. Each team member should contribute to the project roughly about 10h/week, excluding any necessary reading or self-studying (e.g. the time spent to learn a new technology). In addition, it is expected that each team can meet with their supervisor on a regular basis.
End of semester: Final presentation.
252-0817-00LDistributed Systems Laboratory Information
In the Master Programme max. 10 credits can be accounted by Labs
on top of the Interfocus Courses. Additional Labs will be listed on the Addendum.
W10 credits9PG. Alonso, F. Mattern, T. Roscoe, R. Wattenhofer
AbstractThis course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including as well wireless networks, ad-hoc networks, and distributed application on mobile phones.
ObjectiveStudents acquire practical knowledge about technologies from the area of distributed systems.
ContentThis course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including as well wireless networks, ad-hoc networks, and distributed application on mobile phones. The objecte of the project is for the students to gain hands-on-experience with real products and the latest technology in distributed systems. There is no lecture associated to the course.
For information of the course or projects available, please contact Prof. Mattern, Prof. Wattenhofer, Prof. Roscoe or Prof. G. Alonso.
263-3501-00LAdvanced Computer Networks Information W5 credits2V + 2UT. Roscoe, P. M. Stüdi
AbstractThis course covers a set of advanced topics in computer networks. The focus is on principles, architectures, and protocols used in modern networked systems, such as the Internet itself, wireless and mobile networks, and large-scale peer-to-peer systems.
ObjectiveThe goals of the course is to build on basic networking course material in providing an understanding of the tradeoffs and existing technology in building large, complex networked systems, and provide concrete experience of the challenges through a series of lab exercises.
ContentThe focus of the course is on principles, architectures, and protocols used in modern networked systems. Topics include: wireless networks and mobility issues at the network and transport layer (Mobile IP and micromobility protocols, TCP in wireless environments). Mobile phone networks. Overlay networks, flat routing protocols (DHTs), and peer-to-peer architectures. The Border Gateway Protocol (BGP) in practice.
263-3700-00LUser Interface Engineering Information W4 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.
Seminar in Distributed Systems
NumberTitleTypeECTSHoursLecturers
252-3600-02LUbiquitous Computing Seminar Information W2 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 Link for further information.
263-3830-00LSoftware Defined Networking: The Data Centre Perspective Information W2 credits2ST. Roscoe
AbstractSoftware Defined Networks (SDN) is a change supported not only by research but also industry and redifens how traditional network management and configuration is been done.
ObjectiveThrough review and discussion of literature on an exciting new trend in networking, the students get the opportunity to get familiar with one of the most promising new developments in data centre connectivity, while at the same time they can develop soft skills related to the evaluation and presentation of professional content.
ContentSoftware Defined Networks (SDN) is a change supported not only by research but also industry and redifens how traditional network management and configuration is been done. Although much has been already investigated and there are already functional SDN-enabled switches there are many open questions ahead of the adoption of SDN inside and outside the data centre (traditional or cloud-based). With a series of seminars we will reflect on the challenges, adoption strategies and future trends of SDN to create an understanding how SDN is affecting the network operators' industry.
LiteratureThe seminar is based on recent publications by academia and industry. Links to the publications are placed on the Seminar page and can be downloaded from any location with access to the ETH campus network.
Prerequisites / NoticeThe seminar bases on active and interactive participation of the students.
227-0126-00LAdvanced Topics in Networked Embedded Systems Information Restricted registration - show details
Number of participants limited to 12.
W2 credits1SO. Saukh, J. Beutel, L. Thiele
AbstractThe seminar will cover advanced topics in networked embedded systems. A particular focus are cyber-physical systems and sensor networks in various application domains.
ObjectiveThe goal is to get a deeper understanding on leading edge technologies in the discipline, on classes of applications, and on current as well as future research directions.
ContentThe seminar enables Master students, PhDs and Postdocs to learn about latest breakthroughs in wireless sensor networks, networked embedded systems and devices, and energy-harvesting in several application domains, including environmental monitoring, tracking, smart buildings and control. Participants are requested to actively participate in the organization and preparation of the seminar.
227-0559-00LSeminar in Distributed Computing Information W2 credits2SR. Wattenhofer
AbstractIn this seminar participating students present and discuss recent research papers in the area of distributed computing. The seminar consists of algorithmic as well as systems papers in distributed computing theory, peer-to-peer computing, ad hoc and sensor networking, or multi-core computing.
ObjectiveIn the last two decades, we have experienced an unprecedented growth in the area of distributed systems and networks; distributed computing now encompasses many of the activities occurring in today's computer and communications world. This course introduces the basics of distributed computing, highlighting common themes and techniques. We study the fundamental issues underlying the design of distributed systems: communication, coordination, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques.

In this seminar, students present the latest work in this domain.

Seminar language: English
ContentDifferent each year. For details see: Link
Lecture notesSlides of presentations will be made available.
LiteraturePapers.
The actual paper selection can be found on Link.
Focus Courses in Information Security
Focus Core Courses Information Security
NumberTitleTypeECTSHoursLecturers
252-0407-00LCryptography Information W7 credits3V + 2U + 1AU. Maurer
AbstractFundamentals and applications of cryptography. Cryptography as a mathematical discipline: reductions, constructive cryptography paradigm, security proofs. The discussed primitives include cryptographic functions, pseudo-randomness, symmetric encryption and authentication, public-key encryption, key agreement, and digital signature schemes. Selected cryptanalytic techniques.
ObjectiveThe goals are:
(1) understand the basic theoretical concepts and scientific thinking in cryptography;
(2) understand and apply some core cryptographic techniques and security proof methods;
(3) be prepared and motivated to access the scientific literature and attend specialized courses in cryptography.
ContentSee course description.
Lecture notesyes.
Prerequisites / NoticeFamiliarity with the basic cryptographic concepts as treated for
example in the course "Information Security" is required but can
in principle also be acquired in parallel to attending the course.
Focus Elective Courses Information Security
NumberTitleTypeECTSHoursLecturers
252-0408-00LCryptographic Protocols Information W5 credits2V + 2UU. Maurer, M. Hirt
AbstractThe course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc.
ObjectiveIndroduction to a very active research area with many gems and paradoxical
results. Spark interest in fundamental problems.
ContentThe course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc.
Lecture notesthe lecture notes are in German, but they are not required as the entire
course material is documented also in other course material (in english).
Prerequisites / NoticeA basic understanding of fundamental cryptographic concepts
(as taught for example in the course Information Security or
in the course Cryptography) is useful, but not required.
263-4600-00LFormal Methods for Information Security Information W4 credits2V + 1US. Radomirovic, M. Torabi Dashti
AbstractThe course focuses on formal methods for the modelling and analysis of security and privacy concerns in critical systems, ranging from access control policies to cryptographic protocols.
ObjectiveThe students will learn the key ideas and theoretical foundations of formal modelling and analysis of security protocols and policies. The students will complement their theoretical knowledge by solving practical exercises and using various related tools.
ContentThe lecture treats formal methods for the modelling and analysis of security-critical systems.

The first part of the lecture focuses on access control policies in centralized and distributed settings. Access control policies are an integral part of modern Internet services; examples include single sign-on endpoints, distributed trust management in social Websites, and peer-to-peer networks. The lectures cover the formal foundations of authorization systems, and their applications to the synthesis and analysis of access control policies. We will also study a few notable existing models, such as XACML, DKAL and PBel.

The second part of the lecture concentrates on cryptographic protocols. Cryptographic protocols (such as SSL/TLS, SSH, Kerberos, SAML single-sign on, and IPSec) form the basis for secure communication and business processes. Numerous attacks on published protocols show that the design of cryptographic protocols is extremely error-prone. A rigorous analysis of these protocols is therefore indispensable. The lecture covers the theoretical basis for the formal modeling and analysis of such protocols. Specifically, we discuss their operational semantics, the formalization of security properties, and techniques and algorithms for their verification. In addition to the classical security properties for confidentiality and authentication, we will study privacy properties and the fairness property in contract signing. The accompanying tutorials provide an opportunity to apply the theory and tools to concrete protocols.
Seminar in Information Security
NumberTitleTypeECTSHoursLecturers
252-4800-00LQuantum Information and Cryptography Information W2 credits2SS. Wolf
AbstractIn this advanced seminar, various topics are treated in the intersection of quantum physics, information theory, and cryptography.
Objectivesee above
  •  Page  1  of  4 Next page Last page     All