Suchergebnis: Katalogdaten im Frühjahrssemester 2019
|Vertiefung General Studies|
|Wahlfächer der Vertiefung General Studies|
|252-0312-00L||Ubiquitous Computing||W||3 KP||2V||F. Mattern, S. Mayer|
|Kurzbeschreibung||Ubiquitous computing integrates tiny wirelessly connected computers and sensors into the environment and everyday objects. Main topics: The vision of ubiquitous computing, trends in technology, smart cards, RFID, Personal Area Networks (Bluetooth), sensor networks, location awareness, privacy and security, application areas, economic and social impact.|
|Lernziel||The vision of ubiquitous computing, trends in technology, smart cards, RFID, Personal Area Networks (Bluetooth), sensor networks, location awareness, privacy and security, application areas, economic and social impact.|
|Skript||Copies of slides will be made available|
|Literatur||Will be provided in the lecture. To put you in the mood:|
Mark Weiser: The Computer for the 21st Century. Scientific American, September 1991, pp. 94-104
|252-0408-00L||Cryptographic Protocols||W||5 KP||2V + 2U||M. Hirt, U. Maurer|
|Kurzbeschreibung||The course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc.|
|Lernziel||Indroduction to a very active research area with many gems and paradoxical|
results. Spark interest in fundamental problems.
|Inhalt||The course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc.|
|Skript||the lecture notes are in German, but they are not required as the entire|
course material is documented also in other course material (in english).
|Voraussetzungen / Besonderes||A basic understanding of fundamental cryptographic concepts |
(as taught for example in the course Information Security or
in the course Cryptography Foundations) is useful, but not required.
|252-0526-00L||Statistical Learning Theory||W||7 KP||3V + 2U + 1A||J. M. Buhmann|
|Kurzbeschreibung||The course covers advanced methods of statistical learning :|
Statistical learning theory;variational methods and optimization, e.g., maximum entropy techniques, information bottleneck, deterministic and simulated annealing; clustering for vectorial, histogram and relational data; model selection; graphical models.
|Lernziel||The course surveys recent methods of statistical learning. The fundamentals of machine learning as presented in the course "Introduction to Machine Learning" are expanded and in particular, the theory of statistical learning is discussed.|
|Inhalt||# Theory of estimators: How can we measure the quality of a statistical estimator? We already discussed bias and variance of estimators very briefly, but the interesting part is yet to come.|
# Variational methods and optimization: We consider optimization approaches for problems where the optimizer is a probability distribution. Concepts we will discuss in this context include:
* Maximum Entropy
* Information Bottleneck
* Deterministic Annealing
# Clustering: The problem of sorting data into groups without using training samples. This requires a definition of ``similarity'' between data points and adequate optimization procedures.
# Model selection: We have already discussed how to fit a model to a data set in ML I, which usually involved adjusting model parameters for a given type of model. Model selection refers to the question of how complex the chosen model should be. As we already know, simple and complex models both have advantages and drawbacks alike.
# Statistical physics models: approaches for large systems approximate optimization, which originate in the statistical physics (free energy minimization applied to spin glasses and other models); sampling methods based on these models
|Skript||A draft of a script will be provided; |
transparencies of the lectures will be made available.
|Literatur||Hastie, Tibshirani, Friedman: The Elements of Statistical Learning, Springer, 2001.|
L. Devroye, L. Gyorfi, and G. Lugosi: A probabilistic theory of pattern recognition. Springer, New York, 1996
|Voraussetzungen / Besonderes||Requirements: |
knowledge of the Machine Learning course
basic knowledge of statistics, interest in statistical methods.
It is recommended that Introduction to Machine Learning (ML I) is taken first; but with a little extra effort Statistical Learning Theory can be followed without the introductory course.
|252-0570-00L||Game Programming Laboratory |
Im Masterstudium können zusätzlich zu den Vertiefungsübergreifenden Fächern nur max. 10 Kreditpunkte über Laboratorien erarbeitet werden. Weitere Laboratorien werden auf dem Beiblatt aufgeführt.
|W||10 KP||9P||B. Sumner|
|Kurzbeschreibung||Das Ziel dieses Kurses ist ein vertieftes Verständnis der Technologie und der Programmierung von Computer-Spielen. Die Studierenden entwerfen und entwickeln in kleinen Gruppen ein Computer-Spiel und machen sich so vertraut mit der Kunst des Spiel-Programmierens.|
|Lernziel||Das Ziel dieses neuen Kurses ist es, die Studenten mit der Technologie und der Kunst des Programmierens von modernen dreidimensionalen Computerspielen vertraut zu machen.|
|Inhalt||Dies ist ein neuer Kurs, der auf die Technologie von modernen dreidimensionalen Computerspielen eingeht. Während des Kurses werden die Studenten in kleinen Gruppen ein Computerspiel entwerfen und entwickeln. Der Schwerpunkt des Kurses wird auf technischen Aspekten der Spielentwicklung wie Rendering, Kinematographie, Interaktion, Physik, Animation und KI liegen. Zusätzlich werden wir aber auch Wert auf kreative Ideen für fortgeschrittenes Gameplay und visuelle Effekte legen.|
Der Kurs wird als „Labor“ durchgeführt. Anstelle von traditionellen Vorträgen und Übungen wird der Kurs in einen praktischen, hands-on Ansatz durchgeführt. Wir treffen uns einmal wöchentlich um technische Aspekte zu besprechen und den Fortschritt der Entwicklung zu verfolgen. Wir planen das XNA Game Studio Express von Microsoft zu verwenden, eine Ansammlung von Bibliotheken und Werkzeugen um die Spieleentwicklung zu erleichtern. Die Entwicklung wird zunächst auf dem PC stattfinden, das Spiel wird dann im weiteren Verlauf auf der Xbox 360 Konsole eingesetzt.
Am Ende des Kurses werden die Resultate öffentlich präsentiert.
|Skript||Online XNA Dokumentation.|
|Voraussetzungen / Besonderes||Die Anzahl der Teilnehmer wird begrenzt sein.|
Voraussetzung für die Teilnahme sind:
- Gute Programmierkenntnisse (Java, C++, C#, o.ä.)
- Erfahrung in Computergrafik: Teilnehmer sollten mindestens die Vorlesung Visual Computing besucht haben. Wir empfehlen auch noch die weiterführenden Kurse Introduction to Computer Graphics, Surface Representations and Geometric Modeling, und Physically-based Simulation in Computer Graphics.
|252-0579-00L||3D Vision||W||4 KP||3G||M. Pollefeys, V. Larsson|
|Kurzbeschreibung||The 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.|
|Lernziel||After 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.
|Inhalt||The 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-0817-00L||Distributed Systems Laboratory |
Im Masterstudium können zusätzlich zu den Vertiefungsübergreifenden Fächern nur max. 10 Kreditpunkte über Laboratorien erarbeitet werden. Weitere Laboratorien werden auf dem Beiblatt aufgeführt.
|W||10 KP||9P||G. Alonso, T. Hoefler, F. Mattern, T. Roscoe, A. Singla, R. Wattenhofer, C. Zhang|
|Kurzbeschreibung||Entwicklung und / oder Evaluation eines umfangreicheren praktischen Systems mit Technologien aus dem Gebiet der verteilten Systeme. Das Projekt kann aus unterschiedlichen Teilbereichen (von Web-Services bis hin zu ubiquitären Systemen) stammen; typische Technologien umfassen drahtlose Ad-hoc-Netze oder Anwendungen auf Mobiltelefonen.|
|Lernziel||Erwerb praktischer Kenntnisse bei Entwicklung und / oder Evaluation eines umfangreicheren praktischen Systems mit Technologien aus dem Gebiet der verteilten Systeme.|
|Inhalt||Entwicklung und / oder Evaluation eines umfangreicheren praktischen Systems mit Technologien aus dem Gebiet der verteilten Systeme. Das Projekt kann aus unterschiedlichen Teilbereichen (von Web-Services bis hin zu ubiquitären Systemen) stammen; typische Technologien umfassen drahtlose Ad-hoc-Netze oder Anwendungen auf Mobiltelefonen. Zu diesem Praktikum existiert keine Vorlesung. Bei Interesse bitte einen der beteiligten Professoren oder einen Assistenten der Forschungsgruppen kontaktieren.|
|252-1403-00L||Invitation to Quantum Informatics||W||3 KP||2V||S. Wolf|
|Kurzbeschreibung||Nach einer Einführung wichtiger Grundbegriffe der Quantenphysik, wie etwa Überlagerung, Interferenz und Verschränkung, werden verschiedene Themen behandelt: Quantenalgorithmen, Teleportation, Quanten-Kommunikationskomplexität und "Pseudo-Telepathie", Quantenkryptographie sowie die Grundzüge der Quanten-Informationstheorie.|
|Lernziel||Das Ziel dieser Vorlesung ist es, mit den wichtigsten Begriffen vetraut zu werden, |
welche fuer die Verbindung zwischen Information und Physik wichtig sind. Der Grundformalismus des Quantenphysik soll erarbeitet, und der Einsatz der entsprechenden Gesetze fuer die Informationsverarbeitung verstanden werden. Insbesondere sollen wichtige Algorithmen dargelegt und analysiert werden, wie der Grover- sowie der Shor-Algorithmus.
|Inhalt||Gemäss Landauer kann Information und ihre Verarbeitung nicht völlig losgelöst von der physikalischen Repräsentation betrachtet werden. Die Quanteninformatik befasst sich mit den Konsequenzen und Möglichkeiten der quantenphysikalischen Gesetze für die Informationsverarbeitung. Nach einer Einführung wichtiger Grundbegriffe der Quantenphysik, wie etwa Überlagerung, Interferenz und Verschränkung, werden verschiedene Themen behandelt: Quantenalgorithmen, Teleportation, Quanten-Kommunikationskomplexität und "Pseudo-Telepathie", Quantenkryptographie sowie die Grundzüge der Quanten-Informationstheorie.|
|252-1424-00L||Models of Computation||W||6 KP||2V + 2U + 1A||M. Cook|
|Kurzbeschreibung||This 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.|
|Lernziel||The 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.|
|Inhalt||This 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.|
|252-3005-00L||Natural Language Understanding |
Number of participants limited to 200.
|W||4 KP||2V + 1U||M. Ciaramita, T. Hofmann|
|Kurzbeschreibung||This course presents topics in natural language processing with an emphasis on modern techniques, primarily focusing on statistical and deep learning approaches. The course provides an overview of the primary areas of research in language processing as well as a detailed exploration of the models and techniques used both in research and in commercial natural language systems.|
|Lernziel||The objective of the course is to learn the basic concepts in the statistical processing of natural languages. The course will be project-oriented so that the students can also gain hands-on experience with state-of-the-art tools and techniques.|
|Inhalt||This course presents an introduction to general topics and techniques used in natural language processing today, primarily focusing on statistical approaches. The course provides an overview of the primary areas of research in language processing as well as a detailed exploration of the models and techniques used both in research and in commercial natural language systems.|
|Literatur||Lectures will make use of textbooks such as the one by Jurafsky and Martin where appropriate, but will also make use of original research and survey papers.|
|252-5706-00L||Mathematical Foundations of Computer Graphics and Vision||W||4 KP||2V + 1U||M. R. Oswald, C. Öztireli|
|Kurzbeschreibung||This 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.|
|Lernziel||The 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.|
|Inhalt||The 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.|
|261-5120-00L||Machine Learning for Health Care |
Number of participants limited to 78.
Previously called Computational Biomedicine II
|W||4 KP||3P||G. Rätsch|
|Kurzbeschreibung||The 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.|
|Lernziel||During 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.|
|Inhalt||The 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 / Besonderes||Data 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-2812-00L||Program Verification |
Maximale Teilnehmerzahl: 30.
|W||5 KP||2V + 1U + 1A||A. J. Summers|
|Kurzbeschreibung||A hands-on introduction to the theory and construction of deductive software verifiers, covering both cutting-edge methodologies for formal program reasoning, and a perspective over the broad tool stacks making up modern verification tools.|
|Lernziel||Students will earn the necessary skills for designing and developing deductive verification tools which can be applied to modularly analyse 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. |
Students will be gain practical experience with reasoning tools at various levels of abstraction, from SAT and SMT solvers at the lowest level, up through intermediate verification languages and tools, to verifiers which target front-end code in executable languages.
By the end of the course, students should have a good working understanding and experience of the issues and decisions involved with designing and building practical verification tools, and the theoretical techniques which underpin them.
|Inhalt||The course will be organized around building up a "tool stack", starting at the lowest-level with background on SAT and SMT solving techniques, and working upwards through tools at progressively-higher levels of abstraction. The notion of intermediate verification languages will be explored, and the Boogie (Microsoft Research) and Viper (ETH) languages will be used in depth to tackle increasingly ambitious verification tasks. |
The course will intermix technical content with hands-on experience; at each level of abstraction, we will understand who to build and use tools which can tackle specific program correctness problems, starting from simple puzzle solvers (Soduko) at the SAT level, and working upwards to full functional correctness of application-level code. This practical work will include three projects (typically worked on in pairs) spread throughout the course, which count towards the final grade. The graded projects are worth 40% in total, individually weighted at 14%, 13% and 13% respectively. The projects are a compulsory performance assessment; in this case, they need not be passed on their own, but will count 40% in all cases towards the final grading. An oral examination (worth the remaining 60% of the final grade) will examine the full technical content covered in the course.
|Skript||Handouts (complementing the lecture material) and other materials will be available online.|
|Literatur||Background reading material and links to tools will be published on the course website.|
|Voraussetzungen / Besonderes||Some programming experience is essential, as the course contains several practical assignments. A 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-3501-00L||Future Internet |
Previously called Advanced Computer Networks
|W||6 KP||1V + 1U + 3A||A. Singla|
|Kurzbeschreibung||This course will discuss recent advances in networking, with a focus on the Internet, with topics ranging from the algorithmic design of applications like video streaming to the likely near-future of satellite-based networking.|
|Lernziel||The goals of the course are to build on basic undergraduate-level networking, and provide an understanding of the tradeoffs and existing technology in the design of large, complex networked systems, together with concrete experience of the challenges through a series of lab exercises.|
|Inhalt||The focus of the course is on principles, architectures, protocols, and applications used in modern networked systems. Example topics include:|
- How video streaming services like Netflix work, and research on improving their performance.
- How Web browsing could be made faster
- How the Internet's protocols are improving
- Exciting developments in satellite-based networking (ala SpaceX)
- The role of data centers in powering Internet services
A series of programming assignments will form a substantial part of the course grade.
|Skript||Lecture slides will be made available at the course Web site: https://ndal.ethz.ch/courses/fi.html|
|Literatur||No textbook is required, but there will be regularly assigned readings from research literature, liked to the course Web site: https://ndal.ethz.ch/courses/fi.html.|
|Voraussetzungen / Besonderes||An undergraduate class covering the basics of networking, such as Internet routing and TCP. At ETH, Computer Networks (252-0064-00L) and Communication Networks (227-0120-00L) suffice. Similar courses from other universities are acceptable too.|
|263-3710-00L||Machine Perception |
Number of participants limited to 150.
|W||5 KP||2V + 1U + 1A||O. Hilliges|
|Kurzbeschreibung||Recent 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.|
|Lernziel||Students will learn about fundamental aspects of modern deep learning approaches for perception. Students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in learning-based computer vision, robotics and HCI. The final project assignment will involve training a complex neural network architecture and applying it on a real-world dataset of human 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.
|Inhalt||We 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
Book by Ian Goodfellow and Yoshua Bengio
|Voraussetzungen / Besonderes||This is an advanced grad-level course that requires a background in machine learning. Students are expected to have a solid mathematical foundation, in particular in linear algebra, multivariate calculus, and probability. The course will focus on state-of-the-art research in deep-learning and will not repeat basics of machine learning|
Please take note of the following conditions:
1) The number of participants is limited to 150 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-3826-00L||Data Stream Processing and Analytics||W||6 KP||2V + 2U + 1A||V. Kalavri|
|Kurzbeschreibung||The course covers fundamentals of large-scale data stream processing. The focus is on the design and architecture of modern distributed streaming systems as well as algorithms for analyzing data streams.|
|Lernziel||This course has the goal of providing an overview of the data stream processing model and introducing modern platforms and tools for anlayzing massive data streams. By the end of the course, students should be able to use techniques for extracting knowledge from continuous, fast data streams. They will also have gained a deep understanding of the design and implementation of modern distributed stream processors through a series of hands-on exercises.|
|Inhalt||Modern data-driven applications require continuous, low-latency processing of large-scale, rapid data events such as videos, images, emails, chats, clicks, search queries, financial transactions, traffic records, sensor measurements, etc. Extracting knowledge from these data streams is particularly challenging due to their high speed and massive volume. |
Distributed stream processing has recently become highly popular across industry and academia due to its capabilities to both improve established data processing tasks and to facilitate novel applications with real-time requirements. In this course, we will study the design and architecture of modern distributed streaming systems as well as fundamental algorithms for analyzing data streams.
|Skript||Schedule and lecture notes will be posted in the course website: https://www.systems.ethz.ch/courses/spring2019/dspa/|
|Voraussetzungen / Besonderes||The exercise sessions will be a mixture of (1) reviews, discussions, and evaluation of research papers on data stream processing, and (2) programming assignments on implementing data stream mining algorithms and anlysis tasks. |
- Basic knowledge of relational data management and distributed systems.
- Basic programming skills in Java and/or Rust is necessary to carry out the practical exercises and final project.
|263-4506-00L||Massively Parallel Algorithms||W||6 KP||2V + 1U + 2A||M. Ghaffari|
|Kurzbeschreibung||Data sizes are growing faster than the capacities of single processors. This makes it almost a certainty that the future of computation will rely on parallelism. In this new graduate-level course, we discuss the expanding body of work on the theoretical foundations of modern parallel computation, with an emphasis on the algorithmic tools and techniques for large-scale processing.|
|Lernziel||This course will familiarize the students with the algorithmic tools and techniques in modern parallel computation. In particular, we will discuss the growing body of algorithmic results in the Massively Parallel Computation (MPC) model. This model is a mathematical abstraction of some of the popular large-scale processing settings such as MapReduce, Hadoop, Spark, etc. By the end of the semester, the students will know all the standard tools of this area, as well as the state of the art on a number of the central problems. Our hope is that the course prepares the students for independent research at the frontier of this area, and we will attempt to move in that direction with the course projects. |
The course assumes no particular familiarity with parallel computation and should be accesible to any student with sufficient theoretical/algorithmic background. In particular, we expect that all students are comfortable with the basics of algorithmics designs and analysis, as well as probability theory.
|Inhalt||The course will cover a sampling of the recent developments (and open questions) at the frontier of research in massively/modern parallel computation. the material will be based on compilation of recent papers on this area, which will be provided throughout the semester.|
|Voraussetzungen / Besonderes||The class does not expect any prior knowledge in parallel algorithms/computing. Our only prerequisite is the undergraduate class Algorithms, Probability, and Computing (APC) or any other course that can be seen as the equivalent. In particular, much of waht we will discuss uses randomized algorithms and therefore, we will assume that the students are familiar with the tools and techniques in randomized algorithms and analysis (to the extent covered in the APC class).|
|263-4600-00L||Formal Methods for Information Security||W||4 KP||2V + 1U||R. Sasse, C. Sprenger|
|Kurzbeschreibung||The course focuses on formal methods for the modelling and analysis of security protocols for critical systems, ranging from authentication protocols for network security to electronic voting protocols and online banking.|
|Lernziel||The students will learn the key ideas and theoretical foundations of formal modelling 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.|
|Inhalt||The course treats formal methods mainly for the modelling 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.|
In addition to the classical security properties for confidentiality and authentication, we will study strong secrecy and privacy properties. We will discuss electronic voting protocols, and RFID protocols (a staple of the Internet of Things), where these properties are central. The accompanying tutorials provide an opportunity to apply the theory and tools to concrete protocols. Moreover, we will discuss methods to abstract and refine security protocols and the link between symbolic protocol models and cryptographic models.
Furthermore, we will also present a security notion for general systems based on non-interference as well as language-based information flow security where non-interference is enforced via a type system.
|263-4630-00L||Computer-Aided Modelling and Reasoning |
In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. Additional Labs will be listed on the Addendum.
|W||8 KP||7P||C. Sprenger, D. Traytel|
|Kurzbeschreibung||The "computer-aided modelling and reasoning" lab is a hands-on course about using an interactive theorem prover to construct formal models of algorithms, protocols, and programming languages and to reason about their properties. The lab has two parts: The first introduces various modelling and proof techniques. The second part consists of a project in which the students apply these techniques|
|Lernziel||The students learn to effectively use a theorem prover to create unambiguous models and rigorously analyse them. They learn how to write precise and concise specifications, to exploit the theorem prover as a tool for checking and analysing such models and for taming their complexity, and to extract certified executable implementations from such specifications.|
|Inhalt||The "computer-aided modelling and reasoning" lab is a hands-on course about using an interactive theorem prover to construct formal models of algorithms, protocols, and programming languages and to reason about their properties. The focus is on applying logical methods to concrete problems supported by a theorem prover. The course will demonstrate the challenges of formal rigor, but also the benefits of machine support in modelling, proving and validating.|
The lab will have two parts: The first part introduces basic and advanced modelling techniques (functional programs, inductive definitions, modules), the associated proof techniques (term rewriting, resolution, induction, proof automation), and compilation of the models to certified executable code. In the second part, the students work in teams of two on a project assignment in which they apply these techniques: they build a formal model and prove its desired properties. The project lies in the area of programming languages, model checking, or information security.
|Literatur||Textbook: Tobias Nipkow, Gerwin Klein. Concrete Semantics, part 1 (www.concrete-semantics.org)|
|263-5215-00L||Fairness, Explainability, and Accountability for Machine Learning |
Number of participants limited to 40.
The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the course, will officially fail the course.
|W||4 KP||1V + 2P||H. Heidari|
|Lernziel||- Familiarize students with the ethical implications of applying Big Data and ML tools to socially-sensitive domains; teach them to think critically about these issues.|
- Overview the long-established philosophical, sociological, and economic literature on these subjects.
- Provide students with a tool-box of technical solutions for addressing - at least partially - the ethical and societal issues of ML and Big data.
|Inhalt||As ML continues to advance and make its way into different aspects of modern life, both the designers and users of the technology need to think seriously about its impact on individuals and society. We will study some of the ethical implications of applying ML tools to socially sensitive domains, such as employment, education, credit ledning, and criminal justice. We will discuss at length what it means for an algorithm to be fair; who should be held responsible when algorithmic decisions negatively impacts certain demographic groups or individuals; and last but not least, how algorithmic decisions can be explained to a non-technical audience. Throughout the course, we will focus on technical solutions that have been recently proposed by the ML community to tackle the above issues. We will critically discuss the advantages and shortcomings of these proposals in comparison with non-technical alternatives.|
|Voraussetzungen / Besonderes||Students are expected to sufficient knowledge of ML (i.e. they must have taken the "Introduction to Machine Learning" or an equivalent course).|
|263-5805-00L||Physics-based Modeling for Computational Fabrication and Robotics||W||5 KP||2V + 2U||S. Coros, M. Bächer, K. Shea|
|Kurzbeschreibung||This course covers fundamentals of physics-based modelling and numerical optimization from the perspective of computational fabrication and robotics applications.|
|Lernziel||Students will learn how to represent, model and algorithmically control the behavior of complex physical systems through simulation-based methodologies. The lectures are accompanied by programming assignments (written in C++), hand-on exercises involving digital fabrication technologies, as well as a capstone project.|
|Inhalt||mass-spring and FEM simulation methods; multibody systems; kinematics and dynamics; constrained and unconstrained numerical optimization; PDE-constrained optimization, forward and inverse design; shape and topology optimization; simulation, optimization, fabrication and control for compliant robots; robotic manipulation of elastically-deforming objects.|
|Voraussetzungen / Besonderes||Experience with C++ programming, numerical linear algebra and multivariate calculus. Some background in physics-based modeling, kinematics and dynamics is helpful, but not necessary.|
- Seite 1 von 2 Alle