Search result: Catalogue data in Spring Semester 2018
|Computer Science Master|
|263-0008-00L||Computational Intelligence Lab|
Only for master students, otherwise a special permission by the study administration of D-INFK is required.
|O||8 credits||2V + 2U + 1A||T. Hofmann|
|Abstract||This laboratory course teaches fundamental concepts in computational science and machine learning with a special emphasis on matrix factorization and representation learning. The class covers techniques like dimension reduction, data clustering, sparse coding, and deep learning as well as a wide spectrum of related use cases and applications.|
|Objective||Students acquire fundamental theoretical concepts and methodologies from machine learning and how to apply these techniques to build intelligent systems that solve real-world problems. They learn to successfully develop solutions to application problems by following the key steps of modeling, algorithm design, implementation and 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. Collaborative filtering and recommender systems, 2. Text sentiment classification, and 3. Road segmentation in aerial imagery.
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.
(Disclaimer: The offered projects may be subject to change from year to year.)
|Content||see course description|
|Focus Courses in Computational Science|
|Focus Core Courses Computational Science|
|263-2300-00L||How To Write Fast Numerical Code |
Does not take place this semester.
Number of participants limited to 84.
Prerequisite: Master student, solid C programming skills.
|W||6 credits||3V + 2U||M. Püschel|
|Abstract||This 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.|
|Objective||Software 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.|
|Content||The 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|
|252-0526-00L||Statistical Learning Theory||W||6 credits||2V + 3P||J. M. Buhmann|
|Abstract||The course covers advanced methods of statistical learning :|
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.
|Objective||The 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||# 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.|
# 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.
# Statistical physics models: approaches for large systems approximate optimization, which originate in the statistical physics (free energy minimization applied to spin glasses and other models); sampling methods based on these models
|Lecture notes||A draft of a script will be provided; |
transparencies of the lectures will be made available.
|Literature||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 / Notice||Requirements: |
knowledge of the Machine Learning course
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.
|Seminar Computational Science|
Takes place for the last time.
|W||2 credits||2S||P. Arbenz, P. Chatzidoukas|
|Abstract||Class 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.|
|Objective||Studying and presenting fundamental works of Computational Science. Learning how to make a scientific presentation.|
|Content||Class 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.|
|Literature||Papers will be distributed in the first seminar in the first week of the semester|
|252-5704-00L||Advanced Methods in Computer Graphics |
Number of participants limited to 24.
|W||2 credits||2S||M. Gross|
|Abstract||This seminar covers advanced topics in computer graphics with a focus on the latest research results. Topics include modeling, rendering, visualization,|
animation, physical simulation, computational photography, and others.
|Objective||The 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|
|227-0558-00L||Principles of Distributed Computing||W||6 credits||2V + 2U + 1A||R. Wattenhofer, M. Ghaffari|
|Abstract||We 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.|
|Objective||Distributed 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.|
|Content||Distributed 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 notes||Available. Our course script is used at dozens of other universities around the world.|
|Literature||Lecture 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
Society for Industrial and Applied Mathematics (SIAM), 2000, ISBN 0-89871-464-8
|Prerequisites / Notice||Course pre-requisites: Interest in algorithmic problems. (No particular course needed.)|
|Focus Elective Courses Distributed Systems|
|252-0312-00L||Ubiquitous Computing||W||3 credits||2V||F. Mattern, S. Mayer|
|Abstract||Ubiquitous 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.|
|Objective||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.|
|Lecture notes||Copies of slides will be made available|
|Literature||Will 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-00L||Information Systems Laboratory |
Number of participants limited to 12.
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.
|W||10 credits||9P||M. Norrie|
|Abstract||The 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.|
|Objective||The students will gain experience of working with technologies used in the design and development of information systems.|
|Content||First 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-00L||Distributed Systems Laboratory |
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.
|W||10 credits||9P||G. Alonso, T. Hoefler, F. Mattern, T. Roscoe, A. Singla, R. Wattenhofer, C. Zhang|
|Abstract||This 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.|
|Objective||Students acquire practical knowledge about technologies from the area of distributed systems.|
|Content||This 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-00L||Advanced Computer Networks||W||5 credits||2V + 2U||A. Singla, P. M. Stüdi|
|Abstract||This 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 and data center networks.|
|Objective||The goals of the course are to build on basic undergraduate-level networking, and provide an understanding of the tradeoffs and existing technology in the design of large, complex networked systems, together with concrete experience of the challenges through a series of lab exercises.|
|Content||The focus of the course is on principles, architectures, and protocols used in modern networked systems. Topics include data center network topologies, software defined networking, network function virtualization, flow control and congestion control in data centers, end-point optimizations, and server virtualization.|
|263-3710-00L||Machine Perception |
Students, who have already taken 263-3700-00 User Interface Engineering are not allowed to register for this course!
|W||5 credits||2V + 1U + 1A||O. Hilliges|
|Abstract||Recent developments in neural network (aka “deep learning”) have drastically advanced the performance of machine perception systems in a variety of areas including drones, self-driving cars and intelligent UIs. This course is a deep dive into details of the deep learning algorithms and architectures for a variety of perceptual tasks.|
|Objective||Students will learn about fundamental aspects of modern deep learning approaches for perception. Students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in learning-based computer vision, robotics and HCI. The final project assignment will involve training a complex neural network architecture and applying it on a real-world dataset of human motion.|
The core competency acquired through this course is a solid foundation in deep-learning algorithms to process and interpret human input into computing systems. In particular, students should be able to develop systems that deal with the problem of recognizing people in images, detecting and describing body parts, inferring their spatial configuration, performing action/gesture recognition from still images or image sequences, also considering multi-modal data, among others.
|Content||We will focus on teaching how to set up the problem of machine perception, the learning algorithms (e.g. backpropagation), practical engineering aspects as well as advanced deep learning algorithms including generative models.|
The course covers the following main areas:
I) Machine-learning algorithms for input recognition, computer vision and image classification (human pose, object detection, gestures, etc.)
II) Deep-learning models for the analysis of time-series data (temporal sequences of motion)
III) Learning of generative models for synthesis and prediction of human activity.
Specific topics include:
• Deep learning basics:
○ Neural Networks and training (i.e., backpropagation)
○ Feedforward Networks
○ Recurrent Neural Networks
• Deep Learning techniques user input recognition:
○ Convolutional Neural Networks for classification
○ Fully Convolutional architectures for dense per-pixel tasks (i.e., segmentation)
○ LSTMs & related for time series analysis
○ Generative Models (GANs, Variational Autoencoders)
• Case studies from research in computer vision, HCI, robotics and signal processing
Book by Ian Goodfellow and Yoshua Bengio
|Prerequisites / Notice||This is an advanced grad-level course that requires a background in machine learning. Students are expected to have a solid mathematical foundation, in particular in linear algebra, multivariate calculus, and probability. The course will focus on state-of-the-art research in deep-learning and is not meant as extensive tutorial of how to train deep networks with Tensorflow..|
Please take note of the following conditions:
1) The number of participants is limited to 100 students (MSc and PhDs).
2) Students must have taken the exam in Machine Learning (252-0535-00) or have acquired equivalent knowledge
3) All practical exercises will require basic knowledge of Python and will use libraries such as TensorFlow, scikit-learn and scikit-image. We will provide introductions to TensorFlow and other libraries that are needed but will not provide introductions to basic programming or Python.
The following courses are strongly recommended as prerequisite:
* "Machine Learning"
* "Visual Computing" or "Computer Vision"
The course will be assessed by a final written 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|
|252-3600-02L||Smart Systems Seminar||W||2 credits||2S||O. Hilliges, S. Coros, F. Mattern|
|Abstract||Seminar on various topics from the broader areas of Ubiquitous Computing, Human Computer Interaction, Robotics and Digital Fabrication.|
|Objective||Learn about various current topics from the broader areas of Ubiquitous Computing, Human Computer Interaction, Robotics and Digital Fabrication.|
|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-3830-00L||Software Defined Networking: The Data Centre Perspective||W||2 credits||2S||T. Roscoe, D. Wagenknecht-Dimitrova|
|Abstract||Software 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.|
|Objective||Through 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.|
|Content||Software 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.|
|Literature||The 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 / Notice||The seminar bases on active and interactive participation of the students.|
|263-3840-00L||Hardware Architectures for Machine Learning||W||2 credits||2S||G. Alonso, T. Hoefler, O. Mutlu, C. Zhang|
|Abstract||The seminar covers recent results in the increasingly important field of hardware acceleration for data science and machine learning, both in dedicated machines or in data centers.|
|Objective||The seminar aims at students interested in the system aspects of machine learning, who are willing to bridge the gap across traditional disciplines: machine learning, databases, systems, and computer architecture.|
|Content||The seminar is intended to cover recent results in the increasingly important field of hardware acceleration for data science and machine learning, both in dedicated machines or in data centers.|
|Prerequisites / Notice||The seminar should be of special interest to students intending to complete a master's thesis or a doctoral dissertation in related topics.|
|263-4845-00L||Distributed Stream Processing: Systems and Algorithms |
Does not take place this semester.
|Abstract||In this seminar, we will study the design and architecture of modern distributed streaming systems as well as fundamental algorithms for analyzing data streams. We will also consider current research topics and open issues in the area of distributed stream processing.|
|Objective||The seminar will focus on high-impact research contributions addressing open issues in the design and implementation of modern distributed stream processors. In particular, the students will read, review, present, and discuss a series of research and industrial papers.|
|Content||Modern distributed stream processing technology enables continuous, fast, and reliable analysis of large-scale unbounded datasets. Stream processing has recently become highly popular across industry and academia due to its capabilities to both improve established data processing tasks and to facilitate novel applications with real-time requirements.|
The students will read, review, present, and discuss a series of research and industrial papers covering the following topics:
- Fault-tolerance and processing guarantees
- State management
- Windowing semantics and optimizations
- Basic data stream mining algorithms (e.g. sampling, counting, filtering)
- Query languages and libraries for stream processing (e.g. Complex Event Processing, online machine learning)
|227-0126-00L||Advanced Topics in Networked Embedded Systems |
Number of participants limited to 12.
|W||2 credits||1S||L. Thiele, J. Beutel, Z. Zhou|
|Abstract||The seminar will cover advanced topics in networked embedded systems. A particular focus are cyber-physical systems and sensor networks in various application domains.|
|Objective||The 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.|
|Content||The 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-00L||Seminar in Distributed Computing||W||2 credits||2S||R. Wattenhofer|
|Abstract||In 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.|
|Objective||In 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
|Content||Different each year. For details see: www.disco.ethz.ch/courses.html|
|Lecture notes||Slides of presentations will be made available.|
The actual paper selection can be found on www.disco.ethz.ch/courses.html.
|851-0740-00L||Big Data, Law, and Policy |
Number of participants limited to 35
Students will be informed by 4.3.2018 at the latest
|W||3 credits||2S||S. Bechtold, T. Roscoe, E. Vayena|
|Abstract||This course introduces students to societal perspectives on the big data revolution. Discussing important contributions from machine learning and data science, the course explores their legal, economic, ethical, and political implications in the past, present, and future.|
|Objective||This course is intended both for students of machine learning and data science who want to reflect on the societal implications of their field, and for students from other disciplines who want to explore the societal impact of data sciences. The course will first discuss some of the methodological foundations of machine learning, followed by a discussion of research papers and real-world applications where big data and societal values may clash. Potential topics include the implications of big data for privacy, liability, insurance, health systems, voting, and democratic institutions, as well as the use of predictive algorithms for price discrimination and the criminal justice system. Guest speakers, weekly readings and reaction papers ensure a lively debate among participants from various backgrounds.|
|Focus Courses in Information Security|
|Focus Core Courses Information Security|
|252-0407-00L||Cryptography Foundations||W||7 credits||3V + 2U + 1A||U. Maurer|
|Abstract||Fundamentals 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.|
|Objective||The 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.
|Content||See course description.|
|Prerequisites / Notice||Familiarity 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|
|252-0408-00L||Cryptographic Protocols||W||5 credits||2V + 2U||M. Hirt, U. Maurer|
|Abstract||The 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.|
|Objective||Indroduction to a very active research area with many gems and paradoxical|
results. Spark interest in fundamental problems.
|Content||The 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 notes||the 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 / Notice||A basic understanding of fundamental cryptographic concepts |
(as taught for example in the course Information Security or
in the course Cryptography Foundations) is useful, but not required.
- Page 1 of 7 All