Suchergebnis: Katalogdaten im Frühjahrssemester 2023

Informatik Master Information
Ergänzungen
Ergänzung in Computer Graphics
NummerTitelTypECTSUmfangDozierende
252-0538-00LShape Modeling and Geometry Processing Information W8 KP2V + 1U + 4AO. Sorkine Hornung
KurzbeschreibungThis course covers the fundamentals and 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.
LernzielThe students will learn how to design, program and analyze algorithms and systems for interactive 3D shape modeling and geometry processing.
InhaltRecent 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 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.
SkriptSlides and course notes
Voraussetzungen / BesonderesPrerequisites:
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.
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Verfahren und Technologiengeprüft
Methodenspezifische KompetenzenProblemlösunggeprüft
252-5706-00LMathematical Foundations of Computer Graphics and Vision Information W5 KP2V + 1U + 1AT. Aydin, A. Djelouah
KurzbeschreibungThis 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.
LernzielThe 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.
InhaltThe 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-5701-00LScientific Visualization Information W5 KP2V + 1U + 1AM. Gross, T. Günther
KurzbeschreibungThis lecture provides an introduction into visualization of scientific and abstract data.
LernzielThis lecture provides an introduction into the visualization of scientific and abstract data. The lecture introduces into the two main branches of visualization: scientific visualization and information visualization. The focus is set onto scientific data, demonstrating the usefulness and necessity of computer graphics in other fields than the entertainment industry. The exercises contain theoretical tasks on the mathematical foundations such as numerical integration, differential vector calculus, and flow field analysis, while programming exercises familiarize with the Visualization Tool Kit (VTK). In a course project, the learned methods are applied to visualize one real scientific data set. The provided data sets contain measurements of volcanic eruptions, galaxy simulations, fluid simulations, meteorological cloud simulations and asteroid impact simulations.
InhaltThis lecture opens with human cognition basics, and scalar and vector calculus. Afterwards, this is applied to the visualization of air and fluid flows, including geometry-based, topology-based and feature-based methods. Further, the direct and indirect visualization of volume data is discussed. The lecture ends on the viualization of abstract, non-spatial and multi-dimensional data by means of information visualization.
Voraussetzungen / BesonderesFundamentals of differential calculus. Knowledge on numerical mathematics, computer algebra systems, as well as ordinary and partial differential equations is an asset, but not required.
263-5806-00LDigital Humans Information
Previously Computational Models of Motion and Virtual Humans
W8 KP3V + 2U + 2AS. Coros, S. Tang
KurzbeschreibungThis course covers the core technologies required to model and simulate motions for digital humans and robotic characters. Topics include kinematic modeling, physics-based simulation, trajectory optimization, reinforcement learning, feedback control for motor skills, motion capture, data-driven motion synthesis, and ML-based generative models. They will be richly illustrated with examples.
LernzielStudents will learn how to estimate human pose, shape, and motion from videos and create basic human avatars from various visual inputs. Students will also learn how to represent and algorithmically generate motions for digital characters and their real-life robotic counterparts. The lectures are accompanied by four programming assignments (written in python or C++) and a capstone project.

The deadline to cancel/deregister from the course is May 1st. Deregistration after the deadline will lead to fail.
Inhalt- Basic concept of 3D representations
- Human body/hand models
- Human motion capture;
- Non-​rigid surface tracking and reconstruction
- Neural rendering
- Optimal control and trajectory optimization
- Physics-based modeling for multibody systems
- Forward and inverse kinematics
- Rigging and keyframing
- Reinforcement learning for locomotion
Voraussetzungen / BesonderesExperience with python and C++ programming, numerical linear algebra, multivariate calculus and probability theory. Some background in deep learning, computer vision, physics-based modeling, kinematics, and dynamics is preferred.
KompetenzenKompetenzen
Fachspezifische KompetenzenVerfahren und Technologiengeprüft
Ergänzung in Computer Vision
NummerTitelTypECTSUmfangDozierende
252-0579-00L3D Vision Information W5 KP3G + 1AM. Pollefeys, D. B. Baráth
KurzbeschreibungThe 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.
LernzielAfter 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.
InhaltThe 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.
263-3710-00LMachine Perception Information Belegung eingeschränkt - Details anzeigen W8 KP3V + 2U + 2AO. Hilliges, J. Song
KurzbeschreibungRecent developments in neural networks have drastically advanced the performance of machine perception systems in a variety of areas including computer vision, robotics, and human shape modeling This course is a deep dive into deep learning algorithms and architectures with applications to a variety of perceptual and generative tasks.
LernzielStudents will learn about fundamental aspects of modern deep learning approaches for perception and generation. 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 shape modeling. The optional final project assignment will involve training a complex neural network architecture and applying it to a real-world dataset.

The core competency acquired through this course is a solid foundation in deep-learning algorithms to process and interpret human-centric signals. 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.
InhaltWe 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) Advanced topics like probabilistic generative modeling of data (latent variable models, generative adversarial networks, auto-regressive models, invertible neural networks, diffusion models).
III) Deep learning in computer vision, human-computer interaction, and robotics.

Specific topics include:
I) Introduction to Deep Learning:
a) Neural Networks and training (i.e., backpropagation)
b) Feedforward Networks
c) Timeseries modelling (RNN, GRU, LSTM)
d) Convolutional Neural Networks
II) Advanced topics:
a) Latent variable models (VAEs)
b) Generative adversarial networks (GANs)
c) Autoregressive models (PixelCNN, PixelRNN, TCN, Transformer)
d) Invertible Neural Networks / Normalizing Flows
e) Coordinate-based networks (neural implicit surfaces, NeRF)
f) Diffusion models
III) Applications in machine perception and computer vision:
a) Fully Convolutional architectures for dense per-pixel tasks (i.e., instance segmentation)
b) Pose estimation and other tasks involving human activity
c) Neural shape modeling (implicit surfaces, neural radiance fields)
d) Deep Reinforcement Learning and Applications in Physics-Based Behavior Modeling
LiteraturDeep Learning
Book by Ian Goodfellow and Yoshua Bengio
Voraussetzungen / BesonderesThis 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 the basics of machine learning

Please take note of the following conditions:
1) Students must have taken the exam in Machine Learning (252-0535-00) or have acquired equivalent knowledge
2) All practical exercises will require basic knowledge of Python and will use libraries such as Pytorch, scikit-learn, and scikit-image. We will provide introductions to Pytorch and other libraries that are needed but will not provide introductions to basic programming or Python.

The following courses are strongly recommended as prerequisites:
* "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.

The exam will be a 3-hour end-of-term exam and take place at the end of the teaching period.
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Verfahren und Technologiengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Problemlösunggeprüft
Projektmanagementgeprüft
Soziale KompetenzenKommunikationgefördert
Kooperation und Teamarbeitgefördert
Menschenführung und Verantwortunggefördert
Selbstdarstellung und soziale Einflussnahmegefördert
Persönliche KompetenzenAnpassung und Flexibilitätgefördert
Kreatives Denkengefördert
Kritisches Denkengefördert
Integrität und Arbeitsethikgefördert
Selbststeuerung und Selbstmanagement gefördert
263-5052-00LInteractive Machine Learning: Visualization & Explainability Information Belegung eingeschränkt - Details anzeigen W5 KP3G + 1AM. El-Assady
KurzbeschreibungVisual Analytics supports the design of human-in-the-loop interfaces that enable human-machine collaboration. In this course, will go through the fundamentals of designing interactive visualizations, later applying them to explain and interact with machine leaning models.
LernzielThe goal of the course is to introduce techniques for interactive information visualization and to apply these on understanding, diagnosing, and refining machine learning models.
InhaltInteractive, mixed-initiative machine learning promises to combine the efficiency of automation with the effectiveness of humans for a collaborative decision-making and problem-solving process. This can be facilitated through co-adaptive visual interfaces.

This course will first introduce the foundations of information visualization design based on data charecteristics, e.g., high-dimensional, geo-spatial, relational, temporal, and textual data.

Second, we will discuss interaction techniques and explanation strategies to enable explainable machine learning with the tasks of understanding, diagnosing, and refining machine learning models.

Tentative list of topics:
1. Visualization and Perception
2. Interaction and Explanation
3. Systems Overview
SkriptCourse material will be provided in form of slides.
LiteraturWill be provided during the course.
Voraussetzungen / BesonderesBasic understanding of machine learning as taught at the Bachelor's level.
Ergänzung in Data Management
NummerTitelTypECTSUmfangDozierende
227-0558-00LPrinciples of Distributed Computing Information W7 KP2V + 2U + 2AR. Wattenhofer
KurzbeschreibungWe 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.
LernzielDistributed 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.
InhaltDistributed 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
SkriptAvailable.
LiteraturLecture Notes By Roger Wattenhofer. These lecture notes are taught at about a dozen different universities through the world.

Mastering Distributed Algorithms
Roger Wattenhofer
Inverted Forest Publishing, 2020. ISBN 979-8628688267

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
Voraussetzungen / BesonderesCourse pre-requisites: Interest in algorithmic problems. (No particular course needed.)
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Verfahren und Technologiengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Entscheidungsfindunggeprüft
Problemlösunggeprüft
263-3855-00LCloud Computing Architecture Information W9 KP3V + 2U + 3AG. Alonso, A. Klimovic
KurzbeschreibungCloud computing hosts a wide variety of online services that we use on a daily basis, including web search, social networks, and video streaming. This course will cover how datacenter hardware, systems software, and application frameworks are designed for the cloud.
LernzielAfter successful completion of this course, students will be able to: 1) reason about performance, energy efficiency, and availability tradeoffs in the design of cloud system software, 2) describe how datacenter hardware is organized and explain why it is organized as such, 3) implement cloud applications as well as analyze and optimize their performance.
InhaltIn this course, we study how datacenter hardware, systems software, and applications are designed at large scale for the cloud. The course covers topics including server design, cluster management, large-scale storage systems, serverless computing, data analytics frameworks, and performance analysis.
SkriptLecture slides will be available on the course website.
Voraussetzungen / BesonderesUndergraduate courses in 1) computer architecture and 2) operating systems, distributed systems, and/or database systems are strongly recommended.
263-5354-00LLarge Language Models Information W8 KP3V + 2U + 2AR. Cotterell, M. Sachan, F. Tramèr, C. Zhang
KurzbeschreibungLarge language models have become one of the most commonly deployed NLP inventions. In the past half-decade, their integration into core natural language processing tools has dramatically increased the performance of such tools, and they have entered the public discourse surrounding artificial intelligence.
LernzielTo understand the mathematical foundations of large language models as well as how to implement them.
InhaltWe start with the probabilistic foundations of language models, i.e., covering what constitutes a language model from a formal, theoretical perspective. We then discuss how to construct and curate training corpora, and introduce many of the neural-network architectures often used to instantiate language models at scale. The course covers aspects of systems programming, discussion of privacy and harms, as well as applications of language models in NLP and beyond.
LiteraturThe lecture notes will be supplemented with various readings from the literature.
Ergänzung in Information Security
NummerTitelTypECTSUmfangDozierende
252-0408-00LCryptographic Protocols Information W6 KP2V + 2U + 1AM. Hirt
KurzbeschreibungIn a cryptographic protocol, a set of parties wants to achieve some common goal, while some of the parties are dishonest. Most prominent example of a cryptographic protocol is multi-party computation, where the parties compute an arbitrary (but fixed) function of their inputs, while maintaining the secrecy of the inputs and the correctness of the outputs even if some of the parties try to cheat.
LernzielTo know and understand a selection of cryptographic protocols and to
be able to analyze and prove their security and efficiency.
InhaltThe selection of considered protocols varies. Currently, we consider
multi-party computation, secret-sharing, broadcast and Byzantine
agreement. We look at both the synchronous and the asynchronous
communication model, and focus on simple protocols as well as on
highly-efficient protocols.
SkriptWe provide handouts of the slides. For some of the topics, we also
provide papers and/or lecture notes.
Voraussetzungen / BesonderesA basic understanding of fundamental cryptographic concepts (as taught
for example in the course Information Security) is useful, but not
required.
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Verfahren und Technologiengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Entscheidungsfindunggefördert
Persönliche KompetenzenKreatives Denkengefördert
Kritisches Denkengefördert
263-2925-00LProgram Analysis for System Security and Reliability Information
Findet dieses Semester nicht statt.
W7 KP2V + 1U + 3AM. Vechev
KurzbeschreibungSecurity issues in modern systems (blockchains, datacenters, deep learning, etc.) result in billions of losses due to hacks and system downtime. This course introduces fundamental techniques (ranging over automated analysis, machine learning, synthesis, zero-knowledge, differential privacy, and their combinations) that can be applied in practice so to build more secure and reliable modern systems.
Lernziel* Understand the fundamental techniques used to create modern security and reliability analysis engines that are used worldwide.

* Understand how symbolic techniques are combined with machine learning (e.g., deep learning, reinforcement learning) so to create new kinds of learning-based analyzers.

* Understand how to quantify and fix security and reliability issues in modern deep learning models.

* Understand open research questions from both theoretical and practical perspectives.
InhaltPlease see: https://www.sri.inf.ethz.ch/teaching/pass2022 for detailed course content.
263-4600-00LFormal Methods for Information Security Information
Findet dieses Semester nicht statt.
W5 KP2V + 1U + 1A
KurzbeschreibungThe course focuses on formal methods for the modeling and analysis of security protocols for critical systems, ranging from authentication protocols for network security to electronic voting protocols and online banking. In addition, we will also introduce the notions of non-interference and runtime monitoring.
LernzielThe students will learn the key ideas and theoretical foundations of formal modeling and analysis of security protocols. The students will complement their theoretical knowledge by solving practical exercises, completing a small project, and using state-of-the-art tools. The students also learn the fundamentals of non-interference and runtime monitoring.
InhaltThe course treats formal methods mainly for the modeling and analysis of security 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, and manual analysis is insufficient. The lectures cover the theoretical basis for the (tool-supported) 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.

The second part of this course will cover a selection of advanced topics in security protocols such as abstraction techniques for efficient verification, secure communication with humans, the link between symbolic protocol models and cryptographic models as well as RFID protocols (a staple of the Internet of Things) and electronic voting protocols, including the relevant privacy properties.

Moreover, we will give an introduction to two additional topics: non-interference as a general notion of secure systems, both from a semantic and a programming language perspective (type system), and runtime verification/monitoring to detect violations of security policies expressed as trace properties.
263-4656-00LDigital Signatures Information W5 KP2V + 2AD. Hofheinz
KurzbeschreibungDigital signatures as one central cryptographic building block. Different security goals and security definitions for digital signatures, followed by a variety of popular and fundamental signature schemes with their security analyses.
LernzielThe student knows a variety of techniques to construct and analyze the security of digital signature schemes. This includes modularity as a central tool of constructing secure schemes, and reductions as a central tool to proving the security of schemes.
InhaltWe will start with several definitions of security for signature schemes, and investigate the relations among them. We will proceed to generic (but inefficient) constructions of secure signatures, and then move on to a number of efficient schemes based on concrete computational hardness assumptions. On the way, we will get to know paradigms such as hash-then-sign, one-time signatures, and chameleon hashing as central tools to construct secure signatures.
LiteraturJonathan Katz, "Digital Signatures."
Voraussetzungen / BesonderesIdeally, students will have taken the D-INFK Bachelors course "Information Security" or an equivalent course at Bachelors level.
263-4660-00LApplied Cryptography Information Belegung eingeschränkt - Details anzeigen W8 KP3V + 2U + 2PK. Paterson, F. Günther
KurzbeschreibungThis course will introduce the basic primitives of cryptography, using rigorous syntax and game-based security definitions. The course will show how these primitives can be combined to build cryptographic protocols and systems.
LernzielThe goal of the course is to put students' understanding of cryptography on sound foundations, to enable them to start to build well-designed cryptographic systems, and to expose them to some of the pitfalls that arise when doing so.
InhaltBasic symmetric primitives (block ciphers, modes, hash functions); generic composition; AEAD; basic secure channels; basic public key primitives (encryption,signature, DH key exchange); ECC; randomness; applications.
LiteraturTextbook: Boneh and Shoup, “A Graduate Course in Applied Cryptography”, http://toc.cryptobook.us/book.pdf.
Voraussetzungen / BesonderesStudents should have taken the D-INFK Bachelor's course “Information Security" (252-0211-00) or an alternative first course covering cryptography at a similar level. / In this course, we will use Moodle for content delivery: https://moodle-app2.let.ethz.ch/course/view.php?id=19644.
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Verfahren und Technologiengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Medien und digitale Technologiengeprüft
Persönliche KompetenzenKreatives Denkengefördert
Kritisches Denkengefördert
Integrität und Arbeitsethikgefördert
Ergänzung in Machine Learning
NummerTitelTypECTSUmfangDozierende
252-0526-00LStatistical Learning Theory Information W8 KP3V + 2U + 2AJ. M. Buhmann
KurzbeschreibungThe course covers advanced methods of statistical learning:

- Variational methods and optimization.
- Deterministic annealing.
- Clustering for diverse types of data.
- Model validation by information theory.
LernzielThe 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.
Inhalt- 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.
SkriptA draft of a script will be provided. Lecture slides will be made available.
LiteraturHastie, 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
Voraussetzungen / BesonderesKnowledge of machine learning (introduction to machine learning and/or advanced machine learning)
Basic knowledge of statistics.
261-5120-00LMachine Learning for Health Care Information Belegung eingeschränkt - Details anzeigen W5 KP2V + 2AV. Boeva, J. Vogt, M. Kuznetsova
KurzbeschreibungThe course will review the most relevant methods and applications of Machine Learning in Biomedicine, discuss the main challenges they present and their current technical problems.
LernzielDuring the last years, we have observed a rapid growth in the field of Machine Learning (ML), mainly due to improvements in ML algorithms, the increase of data availability and a reduction in computing costs. This growth is having a profound impact in biomedical applications, where the great variety of tasks and data types enables us to get benefit of ML algorithms in many different ways. In this course we will review the most relevant methods and applications of ML in biomedicine, discuss the main challenges they present and their current technical solutions.
InhaltThe course will consist of four topic clusters that will cover the most relevant applications of ML in Biomedicine:
1) Structured time series: Temporal time series of structured data often appear in biomedical datasets, presenting challenges as containing variables with different periodicities, being conditioned by static data, etc.
2) Medical notes: Vast amount of medical observations are stored in the form of free text, we will analyze stategies for extracting knowledge from them.
3) Medical images: Images are a fundamental piece of information in many medical disciplines. We will study how to train ML algorithms with them.
4) Genomics data: ML in genomics is still an emerging subfield, but given that genomics data are arguably the most extensive and complex datasets that can be found in biomedicine, it is expected that many relevant ML applications will arise in the near future. We will review and discuss current applications and challenges.
Voraussetzungen / BesonderesData Structures & Algorithms, Introduction to Machine Learning, Statistics/Probability, Programming in Python, Unix Command Line

Relation to Course 261-5100-00 Computational Biomedicine: This course is a continuation of the previous course with new topics related to medical data and machine learning. The format of Computational Biomedicine II will also be different. It is helpful but not essential to attend Computational Biomedicine before attending Computational Biomedicine II.
263-3710-00LMachine Perception Information Belegung eingeschränkt - Details anzeigen W8 KP3V + 2U + 2AO. Hilliges, J. Song
KurzbeschreibungRecent developments in neural networks have drastically advanced the performance of machine perception systems in a variety of areas including computer vision, robotics, and human shape modeling This course is a deep dive into deep learning algorithms and architectures with applications to a variety of perceptual and generative tasks.
LernzielStudents will learn about fundamental aspects of modern deep learning approaches for perception and generation. 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 shape modeling. The optional final project assignment will involve training a complex neural network architecture and applying it to a real-world dataset.

The core competency acquired through this course is a solid foundation in deep-learning algorithms to process and interpret human-centric signals. 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.
InhaltWe 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) Advanced topics like probabilistic generative modeling of data (latent variable models, generative adversarial networks, auto-regressive models, invertible neural networks, diffusion models).
III) Deep learning in computer vision, human-computer interaction, and robotics.

Specific topics include:
I) Introduction to Deep Learning:
a) Neural Networks and training (i.e., backpropagation)
b) Feedforward Networks
c) Timeseries modelling (RNN, GRU, LSTM)
d) Convolutional Neural Networks
II) Advanced topics:
a) Latent variable models (VAEs)
b) Generative adversarial networks (GANs)
c) Autoregressive models (PixelCNN, PixelRNN, TCN, Transformer)
d) Invertible Neural Networks / Normalizing Flows
e) Coordinate-based networks (neural implicit surfaces, NeRF)
f) Diffusion models
III) Applications in machine perception and computer vision:
a) Fully Convolutional architectures for dense per-pixel tasks (i.e., instance segmentation)
b) Pose estimation and other tasks involving human activity
c) Neural shape modeling (implicit surfaces, neural radiance fields)
d) Deep Reinforcement Learning and Applications in Physics-Based Behavior Modeling
LiteraturDeep Learning
Book by Ian Goodfellow and Yoshua Bengio
Voraussetzungen / BesonderesThis 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 the basics of machine learning

Please take note of the following conditions:
1) Students must have taken the exam in Machine Learning (252-0535-00) or have acquired equivalent knowledge
2) All practical exercises will require basic knowledge of Python and will use libraries such as Pytorch, scikit-learn, and scikit-image. We will provide introductions to Pytorch and other libraries that are needed but will not provide introductions to basic programming or Python.

The following courses are strongly recommended as prerequisites:
* "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.

The exam will be a 3-hour end-of-term exam and take place at the end of the teaching period.
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Verfahren und Technologiengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Problemlösunggeprüft
Projektmanagementgeprüft
Soziale KompetenzenKommunikationgefördert
Kooperation und Teamarbeitgefördert
Menschenführung und Verantwortunggefördert
Selbstdarstellung und soziale Einflussnahmegefördert
Persönliche KompetenzenAnpassung und Flexibilitätgefördert
Kreatives Denkengefördert
Kritisches Denkengefördert
Integrität und Arbeitsethikgefördert
Selbststeuerung und Selbstmanagement gefördert
263-5000-00LComputational Semantics for Natural Language Processing Information W6 KP2V + 1U + 2AM. Sachan
KurzbeschreibungThis course presents an introduction to Natural language processing (NLP) with an emphasis on computational semantics i.e. the process of constructing and reasoning with meaning representations of natural language text.
LernzielThe objective of the course is to learn about various topics in computational semantics and its importance in natural language processing methodology and research. Exercises and the project will be key parts of the course so the students will be able to gain hands-on experience with state-of-the-art techniques in the field.
InhaltWe will take a modern view of the topic, and focus on various statistical and deep learning approaches for computation semantics. We will also overview various primary areas of research in language processing and discuss how the computational semantics view can help us make advances in NLP.
SkriptLecture slides will be made available at the course Web site.
LiteraturNo textbook is required, but there will be regularly assigned readings from research literature, linked to the course website.
Voraussetzungen / BesonderesThe student should have successfully completed a graduate level class in machine learning (252-0220-00L), deep learning (263-3210-00L) or natural language processing (252-3005-00L) before. Similar courses from other universities are acceptable too.
263-5052-00LInteractive Machine Learning: Visualization & Explainability Information Belegung eingeschränkt - Details anzeigen W5 KP3G + 1AM. El-Assady
KurzbeschreibungVisual Analytics supports the design of human-in-the-loop interfaces that enable human-machine collaboration. In this course, will go through the fundamentals of designing interactive visualizations, later applying them to explain and interact with machine leaning models.
LernzielThe goal of the course is to introduce techniques for interactive information visualization and to apply these on understanding, diagnosing, and refining machine learning models.
InhaltInteractive, mixed-initiative machine learning promises to combine the efficiency of automation with the effectiveness of humans for a collaborative decision-making and problem-solving process. This can be facilitated through co-adaptive visual interfaces.

This course will first introduce the foundations of information visualization design based on data charecteristics, e.g., high-dimensional, geo-spatial, relational, temporal, and textual data.

Second, we will discuss interaction techniques and explanation strategies to enable explainable machine learning with the tasks of understanding, diagnosing, and refining machine learning models.

Tentative list of topics:
1. Visualization and Perception
2. Interaction and Explanation
3. Systems Overview
SkriptCourse material will be provided in form of slides.
LiteraturWill be provided during the course.
Voraussetzungen / BesonderesBasic understanding of machine learning as taught at the Bachelor's level.
263-5255-00LFoundations of Reinforcement Learning Information Belegung eingeschränkt - Details anzeigen W7 KP3V + 3AN. He
KurzbeschreibungReinforcement learning (RL) has been in the limelight of many recent breakthroughs in artificial intelligence. This course focuses on theoretical and algorithmic foundations of reinforcement learning, through the lens of optimization, modern approximation, and learning theory. The course targets M.S. students with strong research interests in reinforcement learning, optimization, and control.
LernzielThis course aims to provide students with an advanced introduction of RL theory and algorithms as well as bring them near the frontier of this active research field.

By the end of the course, students will be able to
- Identify the strengths and limitations of various reinforcement learning algorithms;
- Formulate and solve sequential decision-making problems by applying relevant reinforcement learning tools;
- Generalize or discover “new” applications, algorithms, or theories of reinforcement learning towards conducting independent research on the topic.
InhaltBasic topics include fundamentals of Markov decision processes, approximate dynamic programming, linear programming and primal-dual perspectives of RL, model-based and model-free RL, policy gradient and actor-critic algorithms, Markov games and multi-agent RL. If time allows, we will also discuss advanced topics such as batch RL, inverse RL, causal RL, etc. The course keeps strong emphasis on in-depth understanding of the mathematical modeling and theoretical properties of RL algorithms.
SkriptLecture notes will be posted on Moodle.
LiteraturDynamic Programming and Optimal Control, Vol I & II, Dimitris Bertsekas
Reinforcement Learning: An Introduction, Second Edition, Richard Sutton and Andrew Barto.
Algorithms for Reinforcement Learning, Csaba Czepesvári.
Reinforcement Learning: Theory and Algorithms, Alekh Agarwal, Nan Jiang, Sham M. Kakade.
Voraussetzungen / BesonderesStudents are expected to have strong mathematical background in linear algebra, probability theory, optimization, and machine learning.
263-5351-00LMachine Learning for Genomics Information Belegung eingeschränkt - Details anzeigen
The deadline for deregistering expires at the end of the third week of the semester. Students who are still registered after that date, but do not provide project work, do not participate in paper presentation sessions and/or do not show up for the exam, will officially fail the course.
W5 KP2V + 1U + 1AV. Boeva
KurzbeschreibungThe course reviews solutions that machine learning provides to the most challenging questions in human genomics.
LernzielOver the last few years, the parallel development of machine learning methods and molecular profiling technologies for human cells, such as sequencing, created an extremely powerful tool to get insights into the cellular mechanisms in healthy and diseased contexts. In this course, we will discuss the state-of-the-art machine learning methodology solving or attempting to solve common problems in human genomics. At the end of the course, you will be familiar with (1) classical and advanced machine learning architectures used in genomics, (2) bioinformatics analysis of human genomic and transcriptomic data, and (3) data types used in this field.
Inhalt- Short introduction to major concepts of molecular biology: DNA, genes, genome, central dogma, transcription factors, epigenetic code, DNA methylation, signaling pathways
- Prediction of transcription factor binding sites, open chromatin, histone marks, promoters, nucleosome positioning (convolutional neural networks, position weight matrices)
- Prediction of variant effects and gene expression (hidden Markov models, topic models)
- Deconvolution of mixed signal
- DNA, RNA and protein folding (RNN, LSTM, transformers)
- Data imputation for single cell RNA-seq data, clustering and annotation (diffusion and methods on graphs)
- Batch correction (autoencoders, optimal transport)
- Survival analysis (Cox proportional hazard model, regularization penalties, multi-omics, multi-tasking)
Voraussetzungen / BesonderesIntroduction to Machine Learning, Statistics/Probability, Programming in Python, Unix Command Line
263-5352-00LAdvanced Formal Language Theory Information W6 KP4G + 1AR. Cotterell
KurzbeschreibungThis course serves as an introduction to various advanced topics in formal language theory.
LernzielThe objective of the course is to learn and understand a variety of topics in advanced formal language theory.
InhaltThis course serves as an introduction to various advanced topics in formal language theory. The primary focus of the course is on weighted formalisms, which can easily be applied in machine learning. Topics include finite-state machines as well as the algorithms that are commonly used for their manipulation. We will also cover weighted context-free grammars, weighted tree automata, and weighted mildly context-sensitive formalisms.
263-5354-00LLarge Language Models Information W8 KP3V + 2U + 2AR. Cotterell, M. Sachan, F. Tramèr, C. Zhang
KurzbeschreibungLarge language models have become one of the most commonly deployed NLP inventions. In the past half-decade, their integration into core natural language processing tools has dramatically increased the performance of such tools, and they have entered the public discourse surrounding artificial intelligence.
LernzielTo understand the mathematical foundations of large language models as well as how to implement them.
InhaltWe start with the probabilistic foundations of language models, i.e., covering what constitutes a language model from a formal, theoretical perspective. We then discuss how to construct and curate training corpora, and introduce many of the neural-network architectures often used to instantiate language models at scale. The course covers aspects of systems programming, discussion of privacy and harms, as well as applications of language models in NLP and beyond.
LiteraturThe lecture notes will be supplemented with various readings from the literature.
Ergänzung in Networking
NummerTitelTypECTSUmfangDozierende
227-0558-00LPrinciples of Distributed Computing Information W7 KP2V + 2U + 2AR. Wattenhofer
KurzbeschreibungWe 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.
LernzielDistributed 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.
InhaltDistributed 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
SkriptAvailable.
LiteraturLecture Notes By Roger Wattenhofer. These lecture notes are taught at about a dozen different universities through the world.

Mastering Distributed Algorithms
Roger Wattenhofer
Inverted Forest Publishing, 2020. ISBN 979-8628688267

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
Voraussetzungen / BesonderesCourse pre-requisites: Interest in algorithmic problems. (No particular course needed.)
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Verfahren und Technologiengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Entscheidungsfindunggeprüft
Problemlösunggeprüft
Ergänzung in Programming Languages and Software Engineering
NummerTitelTypECTSUmfangDozierende
263-2812-00LProgram Verification Information Belegung eingeschränkt - Details anzeigen W5 KP3G + 1AP. Müller, M. Eilers
KurzbeschreibungA hands-on introduction to the theory and construction of deductive program verifiers, covering both powerful techniques for formal program reasoning, and a perspective over the tool stack making up modern verification tools.
LernzielStudents will earn the necessary skills for designing, developing, and applying deductive verification tools that enable the modular verification of complex software, including features challenging for reasoning such as heap-based mutable data and concurrency. Students will learn both a variety of fundamental reasoning principles, and how these reasoning ideas can be made practical via automatic tools.

By the end of the course, students should have a good working understanding and decisions involved with designing and building practical verification tools, including the underlying theory. They will also be able to apply such tools to develop formally-verified programs.
InhaltThe course will cover verification techniques and ways to automate them by introducing a verifier for a small core language and then progressively enriching the language with advanced features such as a mutable heap and concurrency. For each language extension, the course will explain the necessary reasoning principles, specification techniques, and tool support. In particular, it will introduce SMT solvers to prove logical formulas, intermediate verification languages to encode verification problems, and source code verifiers to handle feature-rich languages. The course will intermix technical content with hands-on experience.
SkriptThe slides will be available online.
LiteraturWill be announced in the lecture.
Voraussetzungen / BesonderesA basic familiarity with propositional and first-order logic will be assumed. Courses with an emphasis on formal reasoning about programs (such as Formal Methods and Functional Programming) are advantageous background, but are not a requirement.
263-2815-00LAutomated Software Testing Information Belegung eingeschränkt - Details anzeigen
Last cancellation/deregistration date for this graded semester performance: 17 March 2023! Please note that after that date no deregistration will be accepted and the course will be considered as "fail".
W7 KP2V + 1U + 3AZ. Su
KurzbeschreibungThis course introduces students to classic and modern techniques for the automated testing and analysis of software systems for reliability, security, and performance. It covers both techniques and their applications in various domains (e.g., compilers, databases, theorem provers, operating systems, machine/deep learning, and mobile applications), focusing on the latest, important results.
Lernziel* Learn fundamental and practical techniques for software testing and analysis

* Understand the challenges, open issues and opportunities across a variety of domains (security/systems/compilers/databases/mobile/AI/education)

* Understand how latest automated testing and analysis techniques work

* Gain conceptual and practical experience in techniques/tools for reliability, security, and performance

* Learn how to perform original and impactful research in this area
InhaltThe course will be organized into the following components: (1) classic and modern testing and analysis techniques (coverage metrics, mutation testing, metamorphic testing, combinatorial testing, symbolic execution, fuzzing, static analysis, etc.), (2) latest results on techniques and applications from diverse domains, and (3) open challenges and opportunities.

A major component of this course is a class project. All students (individually or two-person teams) are expected to select and complete a course project. Ideally, the project is original research related in a broad sense to automated software testing and analysis. Potential project topics will also be suggested by the teaching staff.

Students must select a project and write a one or two pages proposal describing why what the proposed project is interesting and giving a work schedule. Students will also write a final report describing the project and prepare a 20-30 minute presentation at the end of the course.

The due dates for the project proposal, final report, and project presentation will be announced.

The course will cover results from the Advanced Software Technologies (AST) Lab at ETH as well as notable results elsewhere, providing good opportunities for potential course project topics as well as MSc project/thesis topics.
SkriptLecture notes/slides and other lecture materials/handouts will be available online.
LiteraturReading material and links to tools will be published on the course website.
Voraussetzungen / BesonderesThe prerequisites for this course are some programming and algorithmic experience. Background and experience in software engineering, programming languages/compilers, and security (as well as operating systems and databases) can be beneficial.
263-2925-00LProgram Analysis for System Security and Reliability Information
Findet dieses Semester nicht statt.
W7 KP2V + 1U + 3AM. Vechev
KurzbeschreibungSecurity issues in modern systems (blockchains, datacenters, deep learning, etc.) result in billions of losses due to hacks and system downtime. This course introduces fundamental techniques (ranging over automated analysis, machine learning, synthesis, zero-knowledge, differential privacy, and their combinations) that can be applied in practice so to build more secure and reliable modern systems.
Lernziel* Understand the fundamental techniques used to create modern security and reliability analysis engines that are used worldwide.

* Understand how symbolic techniques are combined with machine learning (e.g., deep learning, reinforcement learning) so to create new kinds of learning-based analyzers.

* Understand how to quantify and fix security and reliability issues in modern deep learning models.

* Understand open research questions from both theoretical and practical perspectives.
InhaltPlease see: https://www.sri.inf.ethz.ch/teaching/pass2022 for detailed course content.
263-4600-00LFormal Methods for Information Security Information
Findet dieses Semester nicht statt.
W5 KP2V + 1U + 1A
KurzbeschreibungThe course focuses on formal methods for the modeling and analysis of security protocols for critical systems, ranging from authentication protocols for network security to electronic voting protocols and online banking. In addition, we will also introduce the notions of non-interference and runtime monitoring.
LernzielThe students will learn the key ideas and theoretical foundations of formal modeling and analysis of security protocols. The students will complement their theoretical knowledge by solving practical exercises, completing a small project, and using state-of-the-art tools. The students also learn the fundamentals of non-interference and runtime monitoring.
InhaltThe course treats formal methods mainly for the modeling and analysis of security 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, and manual analysis is insufficient. The lectures cover the theoretical basis for the (tool-supported) 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.

The second part of this course will cover a selection of advanced topics in security protocols such as abstraction techniques for efficient verification, secure communication with humans, the link between symbolic protocol models and cryptographic models as well as RFID protocols (a staple of the Internet of Things) and electronic voting protocols, including the relevant privacy properties.

Moreover, we will give an introduction to two additional topics: non-interference as a general notion of secure systems, both from a semantic and a programming language perspective (type system), and runtime verification/monitoring to detect violations of security policies expressed as trace properties.
Ergänzung in Systems Software
NummerTitelTypECTSUmfangDozierende
227-0558-00LPrinciples of Distributed Computing Information W7 KP2V + 2U + 2AR. Wattenhofer
KurzbeschreibungWe 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.
LernzielDistributed 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.
InhaltDistributed 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
SkriptAvailable.
LiteraturLecture Notes By Roger Wattenhofer. These lecture notes are taught at about a dozen different universities through the world.

Mastering Distributed Algorithms
Roger Wattenhofer
Inverted Forest Publishing, 2020. ISBN 979-8628688267

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
Voraussetzungen / BesonderesCourse pre-requisites: Interest in algorithmic problems. (No particular course needed.)
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Verfahren und Technologiengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Entscheidungsfindunggeprüft
Problemlösunggeprüft
263-2925-00LProgram Analysis for System Security and Reliability Information
Findet dieses Semester nicht statt.
W7 KP2V + 1U + 3AM. Vechev
KurzbeschreibungSecurity issues in modern systems (blockchains, datacenters, deep learning, etc.) result in billions of losses due to hacks and system downtime. This course introduces fundamental techniques (ranging over automated analysis, machine learning, synthesis, zero-knowledge, differential privacy, and their combinations) that can be applied in practice so to build more secure and reliable modern systems.
Lernziel* Understand the fundamental techniques used to create modern security and reliability analysis engines that are used worldwide.

* Understand how symbolic techniques are combined with machine learning (e.g., deep learning, reinforcement learning) so to create new kinds of learning-based analyzers.

* Understand how to quantify and fix security and reliability issues in modern deep learning models.

* Understand open research questions from both theoretical and practical perspectives.
InhaltPlease see: https://www.sri.inf.ethz.ch/teaching/pass2022 for detailed course content.
263-3800-00LAdvanced Operating Systems Information Belegung eingeschränkt - Details anzeigen W7 KP2V + 2U + 2AD. Cock, T. Roscoe
KurzbeschreibungThis course is intended to give students a thorough understanding of design and implementation issues for modern operating systems, with a particular emphasis on the challenges of modern hardware features. We will cover key design issues in implementing an operating system, such as memory management, scheduling, protection, inter-process communication, device drivers, and file systems.
LernzielThe goals of the course are, firstly, to give students:

1. A broader perspective on OS design than that provided by knowledge of Unix or Windows, building on the material in a standard undergraduate operating systems class

2. Practical experience in dealing directly with the concurrency, resource management, and abstraction problems confronting OS designers and implementers

3. A glimpse into future directions for the evolution of OS and computer hardware design
InhaltThe course is based on practical implementation work, in C and assembly language, and requires solid knowledge of both. The work is mostly carried out in teams of 3-4, using real hardware, and is a mixture of team milestones and individual projects which fit together into a complete system at the end. Emphasis is also placed on a final report which details the complete finished artifact, evaluates its performance, and discusses the choices the team made while building it.
Voraussetzungen / BesonderesThe course is based around a milestone-oriented project, where students work in small groups to implement major components of a microkernel-based operating system. The final assessment will be a combination grades awarded for milestones during the course of the project, a final written report on the work, and a set of test cases run on the final code.
Ergänzung in Theoretical Computer Science
NummerTitelTypECTSUmfangDozierende
252-0408-00LCryptographic Protocols Information W6 KP2V + 2U + 1AM. Hirt
KurzbeschreibungIn a cryptographic protocol, a set of parties wants to achieve some common goal, while some of the parties are dishonest. Most prominent example of a cryptographic protocol is multi-party computation, where the parties compute an arbitrary (but fixed) function of their inputs, while maintaining the secrecy of the inputs and the correctness of the outputs even if some of the parties try to cheat.
LernzielTo know and understand a selection of cryptographic protocols and to
be able to analyze and prove their security and efficiency.
InhaltThe selection of considered protocols varies. Currently, we consider
multi-party computation, secret-sharing, broadcast and Byzantine
agreement. We look at both the synchronous and the asynchronous
communication model, and focus on simple protocols as well as on
highly-efficient protocols.
SkriptWe provide handouts of the slides. For some of the topics, we also
provide papers and/or lecture notes.
Voraussetzungen / BesonderesA basic understanding of fundamental cryptographic concepts (as taught
for example in the course Information Security) is useful, but not
required.
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Verfahren und Technologiengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Entscheidungsfindunggefördert
Persönliche KompetenzenKreatives Denkengefördert
Kritisches Denkengefördert
252-1424-00LModels of ComputationW6 KP2V + 2U + 1AM. Cook
KurzbeschreibungThis 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.
LernzielThe 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.
InhaltThis 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.
261-5110-00LOptimization for Data Science Information W10 KP3V + 2U + 4AB. Gärtner, N. He
KurzbeschreibungThis course provides an in-depth theoretical treatment of optimization methods that are relevant in data science.
LernzielUnderstanding the guarantees and limits of relevant optimization methods used in data science. Learning theoretical paradigms and techniques to deal with optimization problems arising in data science.
InhaltThis course provides an in-depth theoretical treatment of classical and modern optimization methods that are relevant in data science.

After a general discussion about the role that optimization has in the process of learning from data, we give an introduction to the theory of (convex) optimization. Based on this, we present and analyze algorithms in the following four categories: first-order methods (gradient and coordinate descent, Frank-Wolfe, subgradient and mirror descent, stochastic and incremental gradient methods); second-order methods (Newton and quasi Newton methods); non-convexity (local convergence, provable global convergence, cone programming, convex relaxations); min-max optimization (extragradient methods).

The emphasis is on the motivations and design principles behind the algorithms, on provable performance bounds, and on the mathematical tools and techniques to prove them. The goal is to equip students with a fundamental understanding about why optimization algorithms work, and what their limits are. This understanding will be of help in selecting suitable algorithms in a given application, but providing concrete practical guidance is not our focus.
Voraussetzungen / BesonderesA solid background in analysis and linear algebra; some background in theoretical computer science (computational complexity, analysis of algorithms); the ability to understand and write mathematical proofs.
263-4400-00LAdvanced Graph Algorithms and Optimization Information W10 KP3V + 3U + 3AR. Kyng, M. Probst
KurzbeschreibungThis course will cover a number of advanced topics in optimization and graph algorithms.
LernzielThe 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.
InhaltStudents 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.
Voraussetzungen / BesonderesThis 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.
263-4508-00LAlgorithmic Foundations of Data Science Information W10 KP3V + 2U + 4AD. Steurer
KurzbeschreibungThis course provides rigorous theoretical foundations for the design and mathematical analysis of efficient algorithms that can solve fundamental tasks relevant to data science.
LernzielWe consider various statistical models for basic data-analytical tasks, e.g., (sparse) linear regression, principal component analysis, matrix completion, community detection, and clustering.

Our goal is to design efficient (polynomial-time) algorithms that achieve the strongest possible (statistical) guarantees for these models.

Toward this goal we learn about a wide range of mathematical techniques from convex optimization, linear algebra (especially, spectral theory and tensors), and high-dimensional statistics.

We also incorporate adversarial (worst-case) components into our models as a way to reason about robustness guarantees for the algorithms we design.
InhaltStrengths and limitations of efficient algorithms in (robust) statistical models for the following (tentative) list of data analysis tasks:

- (sparse) linear regression
- principal component analysis and matrix completion
- clustering and Gaussian mixture models
- community detection
SkriptTo be provided during the semester
LiteraturHigh-Dimensional Statistics
A Non-Asymptotic Viewpoint
by Martin J. Wainwright
Voraussetzungen / BesonderesMathematical and algorithmic maturity at least at the level of the course "Algorithms, Probability, and Computing".

Important: Optimization for Data Science 2018--2021
This course was created after a reorganization of the course "Optimization for Data Science" (ODS).
A significant portion of the material for this course has previously been taught as part of ODS.
Consequently, it is not possible to earn credit points for both this course and ODS as offered in 2018--2021.
This restriction does not apply to ODS offered in 2022 or afterwards and you can earn credit points for both courses in this case.
263-4509-00LComplex Network ModelsW5 KP2V + 2AJ. Lengler
KurzbeschreibungComplex network models are random graphs that feature one or several properties observed in real-world networks (e.g., social networks, internet graph, www). Depending on the application, different properties are relevant, and different complex network models are useful. This course gives an overview over some relevant models and the properties they do and do not cover.
LernzielThe students get familiar with a portfolio of network models, and they know their features and shortcomings. For a given application, they can identify relevant properties for this applications and can select an appropriate network model.
InhaltNetwork models: Erdös-Renyi random graphs, Chung-Lu graphs, configuration model, Kleinberg model, geometric inhomogeneous random graphs
Properties: degree distribution, structure of giant and smaller components, clustering coefficient, small-world properties, community structures, weak ties
SkriptThe script is available in moodle or at https://as.inf.ethz.ch/people/members/lenglerj/CompNetScript.pdf

It will be updated during the semester.
LiteraturLatora, Nikosia, Russo: "Complex Networks: Principles, Methods and Applications"
van der Hofstad: "Random Graphs and Complex Networks. Volume 1"
Voraussetzungen / BesonderesThe students must be familiar with the basics of graph theory and of probability theory (e.g. linearity of expectation, inequalities of Markov, Chebyshev, Chernoff). The course "Randomized Algorithms and Probabilistic Methods" is helpful, but not required.
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Verfahren und Technologiengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
263-4510-00LIntroduction to Topological Data Analysis Information W8 KP3V + 2U + 2AP. Schnider
KurzbeschreibungTopological Data Analysis (TDA) is a relatively new subfield of computer sciences, which uses techniques from algebraic topology and computational geometry and topology to analyze and quantify the shape of data. This course will introduce the theoretical foundations of TDA.
LernzielThe goal is to make students familiar with the fundamental concepts, techniques and results in TDA. At the end of the course, students should be able to read and understand current research papers and have the necessary background knowledge to apply methods from TDA to other projects.
InhaltMathematical background (Topology, Simplicial complexes, Homology), Persistent Homology, Complexes on point clouds (Čech complexes, Vietoris-Rips complexes, Delaunay complexes, Witness complexes), the TDA pipeline, Reeb Graphs, Mapper
LiteraturMain reference:

Tamal K. Dey, Yusu Wang: Computational Topology for Data Analysis, 2021
https://www.cs.purdue.edu/homes/tamaldey/book/CTDAbook/CTDAbook.html


Other references:

Herbert Edelsbrunner, John Harer: Computational Topology: An Introduction, American Mathematical Society, 2010
https://bookstore.ams.org/mbk-69

Gunnar Carlsson, Mikael Vejdemo-Johansson: Topological Data Analysis with Applications, Cambridge University Press, 2021
Link

Robert Ghrist: Elementary Applied Topology, 2014
https://www2.math.upenn.edu/~ghrist/notes.html

Allen Hatcher: Algebraic Topology, Cambridge University Press, 2002
https://pi.math.cornell.edu/~hatcher/AT/ATpage.html
Voraussetzungen / BesonderesThe course assumes knowledge of discrete mathematics, algorithms and data structures and linear algebra, as supplied in the first semesters of Bachelor Studies at ETH.
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Verfahren und Technologiengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Problemlösunggeprüft
Projektmanagementgefördert
Soziale KompetenzenKommunikationgeprüft
Kooperation und Teamarbeitgefördert
Selbstdarstellung und soziale Einflussnahmegefördert
Persönliche KompetenzenKreatives Denkengefördert
263-4656-00LDigital Signatures Information W5 KP2V + 2AD. Hofheinz
KurzbeschreibungDigital signatures as one central cryptographic building block. Different security goals and security definitions for digital signatures, followed by a variety of popular and fundamental signature schemes with their security analyses.
LernzielThe student knows a variety of techniques to construct and analyze the security of digital signature schemes. This includes modularity as a central tool of constructing secure schemes, and reductions as a central tool to proving the security of schemes.
InhaltWe will start with several definitions of security for signature schemes, and investigate the relations among them. We will proceed to generic (but inefficient) constructions of secure signatures, and then move on to a number of efficient schemes based on concrete computational hardness assumptions. On the way, we will get to know paradigms such as hash-then-sign, one-time signatures, and chameleon hashing as central tools to construct secure signatures.
LiteraturJonathan Katz, "Digital Signatures."
Voraussetzungen / BesonderesIdeally, students will have taken the D-INFK Bachelors course "Information Security" or an equivalent course at Bachelors level.
272-0300-00LAlgorithmik für schwere Probleme Information
Diese Lerneinheit beinhaltet die Mentorierte Arbeit Fachwissenschaftliche Vertiefung mit pädagogischem Fokus Informatik A n i c h t !
W5 KP2V + 1U + 1AH.‑J. Böckenhauer, D. Komm
KurzbeschreibungDiese Lerneinheit beschäftigt sich mit algorithmischen Ansätzen zur Lösung schwerer Probleme, insbesondere mit exakten Algorithmen mit moderat exponentieller Laufzeit und parametrisierten Algorithmen.

Eine umfassende Reflexion über die Bedeutung der vorgestellten Ansätze für den Informatikunterricht an Gymnasien begleitet den Kurs.
LernzielAuf systematische Weise eine Übersicht über die Methoden zur Lösung schwerer Probleme kennen lernen. Vertiefte Kenntnisse im Bereich exakter und parameterisierter Algorithmen erwerben.
InhaltZuerst wird der Begriff der Berechnungsschwere erläutert (für die Informatikstudierenden wiederholt). Dann werden die Methoden zur Lösung schwerer Probleme systematisch dargestellt. Bei jeder Algorithmenentwurfsmethode wird vermittelt, was sie uns garantiert und was sie nicht sichern kann und womit wir für die gewonnene Effizienz bezahlen. Ein Schwerpunkt liegt auf exakten Algorithmen mit moderat exponentieller Laufzeit und auf parametrisierten Algorithmen.
SkriptUnterlagen und Folien werden zur Verfügung gestellt.
LiteraturJ. Hromkovic: Algorithmics for Hard Problems, Springer 2004.

R. Niedermeier: Invitation to Fixed-Parameter Algorithms, 2006.

M. Cygan et al.: Parameterized Algorithms, 2015.

F. Fomin et al.: Kernelization, 2019.

F. Fomin, D. Kratsch: Exact Exponential Algorithms, 2010.
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Problemlösunggeprüft
Soziale KompetenzenKommunikationgefördert
Kooperation und Teamarbeitgefördert
Selbstdarstellung und soziale Einflussnahmegefördert
Persönliche KompetenzenKreatives Denkengeprüft
Kritisches Denkengeprüft
Selbstbewusstsein und Selbstreflexion gefördert
Selbststeuerung und Selbstmanagement gefördert
272-0302-00LApproximations- und Online-Algorithmen Information
Findet dieses Semester nicht statt.
W5 KP2V + 1U + 1AD. Komm
KurzbeschreibungDiese Lerneinheit behandelt approximative Verfahren für schwere Optimierungsprobleme und algorithmische Ansätze zur Lösung von Online-Problemen sowie die Grenzen dieser Ansätze.
LernzielAuf systematische Weise einen Überblick über die verschiedenen Entwurfsmethoden von approximativen Verfahren für schwere Optimierungsprobleme und Online-Probleme zu gewinnen. Methoden kennenlernen, die Grenzen dieser Ansätze aufweisen.
InhaltApproximationsalgorithmen sind einer der erfolgreichsten Ansätze zur Behandlung schwerer Optimierungsprobleme. Dabei untersucht man die sogenannte Approximationsgüte, also das Verhältnis der Kosten einer berechneten Näherungslösung und der Kosten einer (nicht effizient berechenbaren) optimalen Lösung.
Bei einem Online-Problem ist nicht die gesamte Eingabe von Anfang an bekannt, sondern sie erscheint stückweise und für jeden Teil der Eingabe muss sofort ein entsprechender Teil der endgültigen Ausgabe produziert werden. Die Güte eines Algorithmus für ein Online-Problem misst man mit der competitive ratio, also dem Verhältnis der Kosten der berechneten Lösung und der Kosten einer optimalen Lösung, wie man sie berechnen könnte, wenn die gesamte Eingabe bekannt wäre.

Inhalt dieser Lerneinheit sind
- die Klassifizierung von Optimierungsproblemen nach der erreichbaren Approximationsgüte,
- systematische Methoden zum Entwurf von Approximationsalgorithmen (z. B. Greedy-Strategien, dynamische Programmierung, LP-Relaxierung),
- Methoden zum Nachweis der Nichtapproximierbarkeit,
- klassische Online-Probleme wie Paging oder Scheduling-Probleme und Algorithmen zu ihrer Lösung,
- randomisierte Online-Algorithmen,
- Entwurfs- und Analyseverfahren für Online-Algorithmen,
- Grenzen des "competitive ratio"- Modells und Advice-Komplexität als eine Möglichkeit, die Komplexität von Online-Problemen genauer zu messen.
LiteraturDie Vorlesung orientiert sich teilweise an folgenden Büchern:

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

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

Zusätzliche Literatur:

A. Borodin, R. El-Yaniv: Online Computation and Competitive Analysis, Cambridge University Press, 1998
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Problemlösunggeprüft
Soziale KompetenzenKommunikationgefördert
Kooperation und Teamarbeitgefördert
Selbstdarstellung und soziale Einflussnahmegefördert
Persönliche KompetenzenKreatives Denkengeprüft
Kritisches Denkengeprüft
Selbstbewusstsein und Selbstreflexion gefördert
Selbststeuerung und Selbstmanagement gefördert
401-3052-10LGraph TheoryW10 KP4V + 1UB. Sudakov
KurzbeschreibungBasics, trees, Caley's formula, matrix tree theorem, connectivity, theorems of Mader and Menger, Eulerian graphs, Hamilton cycles, theorems of Dirac, Ore, Erdös-Chvatal, matchings, theorems of Hall, König, Tutte, planar graphs, Euler's formula, Kuratowski's theorem, graph colorings, Brooks' theorem, 5-colorings of planar graphs, list colorings, Vizing's theorem, Ramsey theory, Turán's theorem
LernzielThe 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.
SkriptLecture will be only at the blackboard.
LiteraturWest, D.: "Introduction to Graph Theory"
Diestel, R.: "Graph Theory"

Further literature links will be provided in the lecture.
Voraussetzungen / BesonderesStudents are expected to have a mathematical background and should be able to write rigorous proofs.
401-3902-21LNetwork & Integer Optimization: From Theory to ApplicationW6 KP3GR. Zenklusen
KurzbeschreibungThis course covers various topics in Network and (Mixed-)Integer Optimization. It starts with a rigorous study of algorithmic techniques for some network optimization problems (with a focus on matching problems) and moves to key aspects of how to attack various optimization settings through well-designed (Mixed-)Integer Programming formulations.
LernzielOur goal is for students to both get a good foundational understanding of some key network algorithms and also to learn how to effectively employ (Mixed-)Integer Programming formulations, techniques, and solvers, to tackle a wide range of discrete optimization problems.
InhaltKey topics include:
- Matching problems;
- Integer Programming techniques and models;
- Extended formulations and strong problem formulations;
- Solver techniques for (Mixed-)Integer Programs;
- Decomposition approaches.
Literatur- Bernhard Korte, Jens Vygen: Combinatorial Optimization. 6th edition, Springer, 2018.
- Alexander Schrijver: Combinatorial Optimization: Polyhedra and Efficiency. Springer, 2003. This work has 3 volumes.
- Vanderbeck François, Wolsey Laurence: Reformulations and Decomposition of Integer Programs. Chapter 13 in: 50 Years of Integer Programming 1958-2008. Springer, 2010.
- Alexander Schrijver: Theory of Linear and Integer Programming. John Wiley, 1986.
Voraussetzungen / BesonderesSolid background in linear algebra. Preliminary knowledge of Linear Programming is ideal but not a strict requirement. Prior attendance of the course Linear & Combinatorial Optimization is a plus.
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Entscheidungsfindunggeprüft
Problemlösunggeprüft
Soziale KompetenzenKommunikationgeprüft
Persönliche KompetenzenKreatives Denkengeprüft
402-0448-01LQuantum Information Processing I: Concepts
Dieser theoretisch ausgerichtete Teil QIP I bildet zusammen mit dem experimentell ausgerichteten Teil 402-0448-02L QIP II, die beide im Frühjahrssemester angeboten werden, im Master-Studiengang Physik das experimentelle Kernfach "Quantum Information Processing" mit total 10 ECTS-Kreditpunkten.
W5 KP2V + 1UJ. Home
KurzbeschreibungThe course covers the key concepts of quantum information processing, including quantum algorithms which give the quantum computer the power to compute problems outside the reach of any classical supercomputer.
Key concepts such as quantum error correction are discussed in detail. They provide fundamental insights into the nature of quantum states and measurements.
LernzielBy the end of the course students are able to explain the basic mathematical formalism of quantum mechanics and apply them to quantum information processing problems. They are able to adapt and apply these concepts and methods to analyse and discuss quantum algorithms and other quantum information-processing protocols.
InhaltThe topics covered in the course will include quantum circuits, gate decomposition and universal sets of gates, efficiency of quantum circuits, quantum algorithms (Shor, Grover, Deutsch-Josza,..), quantum error correction, fault-tolerant designs, and quantum simulation.
SkriptWill be provided.
LiteraturQuantum Computation and Quantum Information
Michael Nielsen and Isaac Chuang
Cambridge University Press
Voraussetzungen / BesonderesA good understanding of finite dimensional linear algebra is recommended.
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Verfahren und Technologiengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft