Search result: Catalogue data in Spring Semester 2020

Cyber Security Master Information
Minor
Software Engineering
Elective Courses
In spring 2020 there will be no course offered in this category.
Theoretical Computer Science
Core Courses
NumberTitleTypeECTSHoursLecturers
261-5110-00LOptimization for Data Science Information W8 credits3V + 2U + 2AB. Gärtner, D. Steurer
AbstractThis course provides an in-depth theoretical treatment of optimization methods that are particularly relevant in data science.
ObjectiveUnderstanding the theoretical guarantees (and their limits) of relevant optimization methods used in data science. Learning general paradigms to deal with optimization problems arising in data science.
ContentThis course provides an in-depth theoretical treatment of optimization methods that are particularly relevant in machine learning and data science.

In the first part of the course, we will first give a brief introduction to convex optimization, with some basic motivating examples from machine learning. Then we will analyse classical and more recent first and second order methods for convex optimization: gradient descent, projected gradient descent, subgradient descent, stochastic gradient descent, Nesterov's accelerated method, Newton's method, and Quasi-Newton methods. The emphasis will be on analysis techniques that occur repeatedly in convergence analyses for various classes of convex functions. We will also discuss some classical and recent theoretical results for nonconvex optimization.

In the second part, we discuss convex programming relaxations as a powerful and versatile paradigm for designing efficient algorithms to solve computational problems arising in data science. We will learn about this paradigm and develop a unified perspective on it through the lens of the sum-of-squares semidefinite programming hierarchy. As applications, we are discussing non-negative matrix factorization, compressed sensing and sparse linear regression, matrix completion and phase retrieval, as well as robust estimation.
Prerequisites / NoticeAs background, we require material taught in the course "252-0209-00L Algorithms, Probability, and Computing". It is not necessary that participants have actually taken the course, but they should be prepared to catch up if necessary.
Elective Courses
NumberTitleTypeECTSHoursLecturers
252-1424-00LModels of ComputationW6 credits2V + 2U + 1AM. Cook
AbstractThis course surveys many different models of computation: Turing Machines, Cellular Automata, Finite State Machines, Graph Automata, Circuits, Tilings, Lambda Calculus, Fractran, Chemical Reaction Networks, Hopfield Networks, String Rewriting Systems, Tag Systems, Diophantine Equations, Register Machines, Primitive Recursive Functions, and more.
ObjectiveThe goal of this course is to become acquainted with a wide variety of models of computation, to understand how models help us to understand the modeled systems, and to be able to develop and analyze models appropriate for new systems.
ContentThis course surveys many different models of computation: Turing Machines, Cellular Automata, Finite State Machines, Graph Automata, Circuits, Tilings, Lambda Calculus, Fractran, Chemical Reaction Networks, Hopfield Networks, String Rewriting Systems, Tag Systems, Diophantine Equations, Register Machines, Primitive Recursive Functions, and more.
272-0302-00LApproximation and Online Algorithms Information W5 credits2V + 1U + 1AH.‑J. Böckenhauer, D. Komm
AbstractThis lecture deals with approximative algorithms for hard optimization problems and algorithmic approaches for solving online problems as well as the limits of these approaches.
ObjectiveGet a systematic overview of different methods for designing approximative algorithms for hard optimization problems and online problems. Get to know methods for showing the limitations of these approaches.
ContentApproximation algorithms are one of the most succesful techniques to attack hard optimization problems. Here, we study the so-called approximation ratio, i.e., the ratio of the cost of the computed approximating solution and an optimal one (which is not computable efficiently).
For an online problem, the whole instance is not known in advance, but it arrives pieceweise and for every such piece a corresponding part of the definite output must be given. The quality of an algorithm for such an online problem is measured by the competitive ratio, i.e., the ratio of the cost of the computed solution and the cost of an optimal solution that could be given if the whole input was known in advance.

The contents of this lecture are
- the classification of optimization problems by the reachable approximation ratio,
- systematic methods to design approximation algorithms (e.g., greedy strategies, dynamic programming, linear programming relaxation),
- methods to show non-approximability,
- classic online problem like paging or scheduling problems and corresponding algorithms,
- randomized online algorithms,
- the design and analysis principles for online algorithms, and
- limits of the competitive ratio and the advice complexity as a way to do a deeper analysis of the complexity of online problems.
LiteratureThe lecture is based on the following books:

J. Hromkovic: Algorithmics for Hard Problems, Springer, 2004

D. Komm: An Introduction to Online Computation: Determinism, Randomization, Advice, Springer, 2016

Additional literature:

A. Borodin, R. El-Yaniv: Online Computation and Competitive Analysis, Cambridge University Press, 1998
263-4400-00LAdvanced Graph Algorithms and Optimization Information Restricted registration - show details
Number of participants limited to 30.
W5 credits3G + 1AR. Kyng
AbstractThis course will cover a number of advanced topics in optimization and graph algorithms.
ObjectiveThe course will take students on a deep dive into modern approaches to
graph algorithms using convex optimization techniques.

By studying convex optimization through the lens of graph algorithms,
students should develop a deeper understanding of fundamental
phenomena in optimization.

The course will cover some traditional discrete approaches to various graph
problems, especially flow problems, and then contrast these approaches
with modern, asymptotically faster methods based on combining convex
optimization with spectral and combinatorial graph theory.
ContentStudents should leave the course understanding key
concepts in optimization such as first and second-order optimization,
convex duality, multiplicative weights and dual-based methods,
acceleration, preconditioning, and non-Euclidean optimization.

Students will also be familiarized with central techniques in the
development of graph algorithms in the past 15 years, including graph
decomposition techniques, sparsification, oblivious routing, and
spectral and combinatorial preconditioning.
Prerequisites / NoticeThis course is targeted toward masters and doctoral students with an
interest in theoretical computer science.

Students should be comfortable with design and analysis of algorithms, probability, and linear algebra.

Having passed the course Algorithms, Probability, and Computing (APC) is highly recommended, but not formally required. If you are not
sure whether you're ready for this class or not, please consult the
instructor.
401-3052-05LGraph Theory Information W5 credits2V + 1UB. Sudakov
AbstractBasic notions, trees, spanning trees, Caley's formula, vertex and edge connectivity, 2-connectivity, Mader's theorem, Menger's theorem, Eulerian graphs, Hamilton cycles, Dirac's theorem, matchings, theorems of Hall, König and Tutte, planar graphs, Euler's formula, basic non-planar graphs, graph colorings, greedy colorings, Brooks' theorem, 5-colorings of planar graphs
ObjectiveThe students will get an overview over the most fundamental questions concerning graph theory. We expect them to understand the proof techniques and to use them autonomously on related problems.
Lecture notesLecture will be only at the blackboard.
LiteratureWest, D.: "Introduction to Graph Theory"
Diestel, R.: "Graph Theory"

Further literature links will be provided in the lecture.
Prerequisites / NoticeStudents are expected to have a mathematical background and should be able to write rigorous proofs.


NOTICE: This course unit was previously offered as 252-1408-00L Graphs and Algorithms.
401-3903-11LGeometric Integer ProgrammingW6 credits2V + 1UJ. Paat
AbstractInteger programming is the task of minimizing a linear function over all the integer points in a polyhedron. This lecture introduces the key concepts of an algorithmic theory for solving such problems.
ObjectiveThe purpose of the lecture is to provide a geometric treatment of the theory of integer optimization.
ContentKey topics are:

- Lattice theory and the polynomial time solvability of integer optimization problems in fixed dimension.

- Structural properties of integer sets that reveal other parameters affecting the complexity of integer problems

- Duality theory for integer optimization problems from the vantage point of lattice free sets.
Lecture notesnot available, blackboard presentation
LiteratureLecture notes will be provided.

Other helpful materials include

Bertsimas, Weismantel: Optimization over Integers, 2005

and

Schrijver: Theory of linear and integer programming, 1986.
Prerequisites / Notice"Mathematical Optimization" (401-3901-00L)
Visual Computing
Core Courses
NumberTitleTypeECTSHoursLecturers
252-0538-00LShape Modeling and Geometry Processing Information W6 credits2V + 1U + 2AO. Sorkine Hornung
AbstractThis course covers the fundamentals and some of the latest developments in geometric modeling and geometry processing. Topics include surface modeling based on point clouds and polygonal meshes, mesh generation, surface reconstruction, mesh fairing and parameterization, discrete differential geometry, interactive shape editing, topics in digital shape fabrication.
ObjectiveThe students will learn how to design, program and analyze algorithms and systems for interactive 3D shape modeling and geometry processing.
ContentRecent advances in 3D geometry processing have created a plenitude of novel concepts for the mathematical representation and interactive manipulation of geometric models. This course covers the fundamentals and some of the latest developments in geometric modeling and geometry processing. Topics include surface modeling based on point clouds and triangle meshes, mesh generation, surface reconstruction, mesh fairing and parameterization, discrete differential geometry, interactive shape editing and digital shape fabrication.
Lecture notesSlides and course notes
Prerequisites / NoticePrerequisites:
Visual Computing, Computer Graphics or an equivalent class. Experience with C++ programming. Solid background in linear algebra and analysis. Some knowledge of differential geometry, computational geometry and numerical methods is helpful but not a strict requirement.
Elective Courses
NumberTitleTypeECTSHoursLecturers
252-0526-00LStatistical Learning Theory Information W7 credits3V + 2U + 1AJ. M. Buhmann, C. Cotrini Jimenez
AbstractThe course covers advanced methods of statistical learning:

- Variational methods and optimization.
- Deterministic annealing.
- Clustering for diverse types of data.
- Model validation by information theory.
ObjectiveThe course surveys recent methods of statistical learning. The fundamentals of machine learning, as presented in the courses "Introduction to Machine Learning" and "Advanced Machine Learning", are expanded from the perspective of statistical learning.
Content- Variational methods and optimization. We consider optimization approaches for problems where the optimizer is a probability distribution. We will discuss concepts like maximum entropy, information bottleneck, and deterministic annealing.

- Clustering. This is the problem of sorting data into groups without using training samples. We discuss alternative notions of "similarity" between data points and adequate optimization procedures.

- Model selection and validation. This refers to the question of how complex the chosen model should be. In particular, we present an information theoretic approach for model validation.

- Statistical physics models. We discuss approaches for approximately optimizing large systems, which originate in statistical physics (free energy minimization applied to spin glasses and other models). We also study sampling methods based on these models.
Lecture notesA draft of a script will be provided. Lecture slides will be made available.
LiteratureHastie, 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 / NoticeKnowledge of machine learning (introduction to machine learning and/or advanced machine learning)
Basic knowledge of statistics.
252-0570-00LGame Programming 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 credits9PB. Sumner
AbstractThe goal of this course is the in-depth understanding of the technology and programming underlying computer games. Students gradually design and develop a computer game in small groups and get acquainted with the art of game programming.
ObjectiveThe goal of this new course is to acquaint students with the
technology and art of programming modern three-dimensional computer
games.
ContentThis course addresses modern three-dimensional computer game technology. During the course, small groups of students will design and develop a computer game. Focus will be put on technical aspects of game development, such as rendering, cinematography, interaction, physics, animation, and AI. In addition, we will cultivate creative thinking for advanced gameplay and visual effects.

The "laboratory" format involves a practical, hands-on approach with traditional lectures. We will meet once a week to discuss technical issues and to track progress. For development we use MonoGames, which is a collection of libraries and tools that facilitate game development. While development will take place on PCs, we will ultimately deployour games on the Xbox One console.

At the end of the course we will present our results to the public.
Lecture notesGame Design Workshop: A Playcentric Approach to Creating Innovative Games by Tracy Fullerton
Prerequisites / NoticeThe number of participants is limited.

Prerequisites include:

- Good programming skills (Java, C++, C#, etc.)

- CG experience: Students should have taken, at a minimum, Visual
Computing. Higher level courses are recommended, such as Introduction
to Computer Graphics, Surface Representations and Geometric Modeling,
and Physically-based Simulation in Computer Graphics.
252-0579-00L3D Vision Information W5 credits3G + 1AM. Pollefeys, V. Larsson
AbstractThe course covers camera models and calibration, feature tracking and matching, camera motion estimation via simultaneous localization and mapping (SLAM) and visual odometry (VO), epipolar and mult-view geometry, structure-from-motion, (multi-view) stereo, augmented reality, and image-based (re-)localization.
ObjectiveAfter attending this course, students will:
1. understand the core concepts for recovering 3D shape of objects and scenes from images and video.
2. be able to implement basic systems for vision-based robotics and simple virtual/augmented reality applications.
3. have a good overview over the current state-of-the art in 3D vision.
4. be able to critically analyze and asses current research in this area.
ContentThe goal of this course is to teach the core techniques required for robotic and augmented reality applications: How to determine the motion of a camera and how to estimate the absolute position and orientation of a camera in the real world. This course will introduce the basic concepts of 3D Vision in the form of short lectures, followed by student presentations discussing the current state-of-the-art. The main focus of this course are student projects on 3D Vision topics, with an emphasis on robotic vision and virtual and augmented reality applications.
252-5706-00LMathematical Foundations of Computer Graphics and Vision Information W5 credits2V + 1U + 1AM. R. Oswald, C. Öztireli
AbstractThis course presents the fundamental mathematical tools and concepts used in computer graphics and vision. Each theoretical topic is introduced in the context of practical vision or graphic problems, showcasing its importance in real-world applications.
ObjectiveThe main goal is to equip the students with the key mathematical tools necessary to understand state-of-the-art algorithms in vision and graphics. In addition to the theoretical part, the students will learn how to use these mathematical tools to solve a wide range of practical problems in visual computing. After successfully completing this course, the students will be able to apply these mathematical concepts and tools to practical industrial and academic projects in visual computing.
ContentThe theory behind various mathematical concepts and tools will be introduced, and their practical utility will be showcased in diverse applications in computer graphics and vision. The course will cover topics in sampling, reconstruction, approximation, optimization, robust fitting, differentiation, quadrature and spectral methods. Applications will include 3D surface reconstruction, camera pose estimation, image editing, data projection, character animation, structure-aware geometry processing, and rendering.
263-3710-00LMachine Perception Information Restricted registration - show details
Number of participants limited to 200.
W5 credits2V + 1U + 1AO. Hilliges
AbstractRecent developments in neural networks (aka “deep learning”) have drastically advanced the performance of machine perception systems in a variety of areas including computer vision, robotics, and intelligent UIs. This course is a deep dive into deep learning algorithms and architectures with applications to a variety of perceptual tasks.
ObjectiveStudents 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 activity.

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.
ContentWe will focus on teaching: how to set up the problem of machine perception, the learning algorithms, network architectures and advanced deep learning concepts in particular probabilistic deep learning models

The course covers the following main areas:
I) Foundations of deep-learning.
II) Probabilistic deep-learning for generative modelling of data (latent variable models, generative adversarial networks and auto-regressive models).
III) Deep learning in computer vision, human-computer interaction and robotics.

Specific topics include: 
I) Deep learning basics:
a) Neural Networks and training (i.e., backpropagation)
b) Feedforward Networks
c) Timeseries modelling (RNN, GRU, LSTM)
d) Convolutional Neural Networks for classification
II) Probabilistic Deep Learning:
a) Latent variable models (VAEs)
b) Generative adversarial networks (GANs)
c) Autoregressive models (PixelCNN, PixelRNN, TCNs)
III) Deep Learning techniques for machine perception:
a) Fully Convolutional architectures for dense per-pixel tasks (i.e., instance segmentation)
b) Pose estimation and other tasks involving human activity
c) Deep reinforcement learning
IV) Case studies from research in computer vision, HCI, robotics and signal processing
LiteratureDeep Learning
Book by Ian Goodfellow and Yoshua Bengio
Prerequisites / NoticeThis 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 will not repeat basics of machine learning

Please take note of the following conditions:
1) The number of participants is limited to 200 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:
* "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.
263-5806-00LComputational Models of Motion for Character Animation and Robotics Information W6 credits2V + 2U + 1AS. Coros, M. Bächer, B. Thomaszewski
AbstractThis course covers fundamentals of physics-based modelling and numerical optimization from the perspective of character animation and robotics applications. The methods discussed in class derive their theoretical underpinnings from applied mathematics, control theory and computational mechanics, and they will be richly illustrated using examples ranging from locomotion controllers and crowd simula
ObjectiveStudents will learn how to represent, model and algorithmically control the behavior of animated characters and real-life robots. The lectures are accompanied by programming assignments (written in C++) and a capstone project.
ContentOptimal control and trajectory optimization; multibody systems; kinematics; forward and inverse dynamics; constrained and unconstrained numerical optimization; mass-spring models for crowd simulation; FEM; compliant systems; sim-to-real; robotic manipulation of elastically-deforming objects.
Prerequisites / NoticeExperience with C++ programming, numerical linear algebra and multivariate calculus. Some background in physics-based modeling, kinematics and dynamics is helpful, but not necessary.
227-1034-00LComputational Vision (University of Zurich)
No enrolment to this course at ETH Zurich. Book the corresponding module directly at UZH.
UZH Module Code: INI402

Mind the enrolment deadlines at UZH:
Link
W6 credits2V + 1UD. Kiper
AbstractThis course focuses on neural computations that underlie visual perception. We study how visual signals are processed in the retina, LGN and visual cortex. We study the morpholgy and functional architecture of cortical circuits responsible for pattern, motion, color, and three-dimensional vision.
ObjectiveThis course considers the operation of circuits in the process of neural computations. The evolution of neural systems will be considered to demonstrate how neural structures and mechanisms are optimised for energy capture, transduction, transmission and representation of information. Canonical brain circuits will be described as models for the analysis of sensory information. The concept of receptive fields will be introduced and their role in coding spatial and temporal information will be considered. The constraints of the bandwidth of neural channels and the mechanisms of normalization by neural circuits will be discussed.
The visual system will form the basis of case studies in the computation of form, depth, and motion. The role of multiple channels and collective computations for object recognition will
be considered. Coordinate transformations of space and time by cortical and subcortical mechanisms will be analysed. The means by which sensory and motor systems are integrated to allow for adaptive behaviour will be considered.
ContentThis course considers the operation of circuits in the process of neural computations. The evolution of neural systems will be considered to demonstrate how neural structures and mechanisms are optimised for energy capture, transduction, transmission and representation of information. Canonical brain circuits will be described as models for the analysis of sensory information. The concept of receptive fields will be introduced and their role in coding spatial and temporal information will be considered. The constraints of the bandwidth of neural channels and the mechanisms of normalization by neural circuits will be discussed.
The visual system will form the basis of case studies in the computation of form, depth, and motion. The role of multiple channels and collective computations for object recognition will
be considered. Coordinate transformations of space and time by cortical and subcortical mechanisms will be analysed. The means by which sensory and motor systems are integrated to allow for adaptive behaviour will be considered.
LiteratureBooks: (recommended references, not required)
1. An Introduction to Natural Computation, D. Ballard (Bradford Books, MIT Press) 1997.
2. The Handbook of Brain Theorie and Neural Networks, M. Arbib (editor), (MIT Press) 1995.
Interfocus Courses
NumberTitleTypeECTSHoursLecturers
263-0007-00LAdvanced Systems Lab Information Restricted registration - show details
Only for master students, otherwise a special permission by the study administration of D-INFK is required.
W8 credits3V + 2U + 2AM. Püschel, C. Zhang
AbstractThis course introduces the student to the foundations and state-of-the-art techniques in developing high performance software for mathematical functionality occurring in various fields in computer science. The focus is on optimizing for a single core and includes optimizing for the memory hierarchy, for special instruction sets, and the possible use of automatic performance tuning.
ObjectiveSoftware performance (i.e., runtime) arises through the complex interaction of algorithm, its implementation, the compiler used, and the microarchitecture the program is run on. The first goal of the course is to provide the student with an understanding of this "vertical" interaction, and hence software performance, for mathematical functionality. The second goal is to teach a systematic strategy how to use this knowledge to write fast software for numerical problems. This strategy will be trained in several homeworks and a semester-long group project.
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 mathematical software development using important functionality such as matrix operations, transforms, filters, and others as examples. The course will explain how to optimize for the memory hierarchy, take advantage of special instruction sets, and other details of current processors that require optimization. The concept of automatic performance tuning is introduced. The focus is on optimization for a single core; thus, the course complements others on parallel and distributed computing.

Finally a general strategy for performance analysis and optimization is introduced that the students will apply in group projects that accompany the course.
Prerequisites / NoticeSolid knowledge of the C programming language and matrix algebra.
263-0008-00LComputational Intelligence Lab
Only for master students, otherwise a special permission by the study administration of D-INFK is required.
W8 credits2V + 2U + 3AT. Hofmann
AbstractThis 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.
ObjectiveStudents 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 three to four 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.)
Contentsee course description
Free Electives
All Master level courses offered by ETH Zurich, EPF Lausanne and the University of Zurich may be chosen.
» Course Catalogue of ETH Zurich
GESS Science in Perspective
» Recommended GESS Science in Perspective (Type B) for D-INFK.
» see GESS Science in Perspective: Type A: Enhancement of Reflection Capability
» see GESS Science in Perspective: Language Courses ETH/UZH
  • First page Previous page Page  2  of  3 Next page Last page     All