Search result: Catalogue data in Spring Semester 2023
Computer Science Master | |||||||||||||||||||||||||||||||||
Minors | |||||||||||||||||||||||||||||||||
Minor in Machine Learning | |||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
263-5255-00L | Foundations of Reinforcement Learning | W | 7 credits | 3V + 3A | N. He | ||||||||||||||||||||||||||||
Abstract | Reinforcement 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. | ||||||||||||||||||||||||||||||||
Learning objective | This 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. | ||||||||||||||||||||||||||||||||
Content | Basic 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. | ||||||||||||||||||||||||||||||||
Lecture notes | Lecture notes will be posted on Moodle. | ||||||||||||||||||||||||||||||||
Literature | Dynamic 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. | ||||||||||||||||||||||||||||||||
Prerequisites / Notice | Students are expected to have strong mathematical background in linear algebra, probability theory, optimization, and machine learning. | ||||||||||||||||||||||||||||||||
263-5351-00L | Machine Learning for Genomics 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. | W | 5 credits | 2V + 1U + 1A | V. Boeva | ||||||||||||||||||||||||||||
Abstract | The course reviews solutions that machine learning provides to the most challenging questions in human genomics. | ||||||||||||||||||||||||||||||||
Learning objective | Over 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. | ||||||||||||||||||||||||||||||||
Content | - 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) | ||||||||||||||||||||||||||||||||
Prerequisites / Notice | Introduction to Machine Learning, Statistics/Probability, Programming in Python, Unix Command Line | ||||||||||||||||||||||||||||||||
263-5352-00L | Advanced Formal Language Theory | W | 6 credits | 4G + 1A | R. Cotterell | ||||||||||||||||||||||||||||
Abstract | This course serves as an introduction to various advanced topics in formal language theory. | ||||||||||||||||||||||||||||||||
Learning objective | The objective of the course is to learn and understand a variety of topics in advanced formal language theory. | ||||||||||||||||||||||||||||||||
Content | This 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-00L | Large Language Models | W | 8 credits | 3V + 2U + 2A | R. Cotterell, M. Sachan, F. Tramèr, C. Zhang | ||||||||||||||||||||||||||||
Abstract | Large 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. | ||||||||||||||||||||||||||||||||
Learning objective | To understand the mathematical foundations of large language models as well as how to implement them. | ||||||||||||||||||||||||||||||||
Content | We 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. | ||||||||||||||||||||||||||||||||
Literature | The lecture notes will be supplemented with various readings from the literature. | ||||||||||||||||||||||||||||||||
Minor in Networking | |||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | ||||||||||||||||||||||||||||
227-0558-00L | Principles of Distributed Computing | W | 7 credits | 2V + 2U + 2A | R. Wattenhofer | ||||||||||||||||||||||||||||
Abstract | We study the fundamental issues underlying the design of distributed systems: communication, coordination, fault-tolerance, locality, parallelism, self-organization, symmetry breaking, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques. | ||||||||||||||||||||||||||||||||
Learning objective | Distributed computing is essential in modern computing and communications systems. Examples are on the one hand large-scale networks such as the Internet, and on the other hand multiprocessors such as your new multi-core laptop. This course introduces the principles of distributed computing, emphasizing the fundamental issues underlying the design of distributed systems and networks: communication, coordination, fault-tolerance, locality, parallelism, self-organization, symmetry breaking, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques, basically the "pearls" of distributed computing. We will cover a fresh topic every week. | ||||||||||||||||||||||||||||||||
Content | Distributed computing models and paradigms, e.g. message passing, shared memory, synchronous vs. asynchronous systems, time and message complexity, peer-to-peer systems, small-world networks, social networks, sorting networks, wireless communication, and self-organizing systems. Distributed algorithms, e.g. leader election, coloring, covering, packing, decomposition, spanning trees, mutual exclusion, store and collect, arrow, ivy, synchronizers, diameter, all-pairs-shortest-path, wake-up, and lower bounds | ||||||||||||||||||||||||||||||||
Lecture notes | Available. | ||||||||||||||||||||||||||||||||
Literature | Lecture 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 | ||||||||||||||||||||||||||||||||
Prerequisites / Notice | Course pre-requisites: Interest in algorithmic problems. (No particular course needed.) | ||||||||||||||||||||||||||||||||
Competencies |
| ||||||||||||||||||||||||||||||||
Minor in Programming Languages and Software Engineering | |||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | ||||||||||||||||||||||||||||
263-2812-00L | Program Verification | W | 5 credits | 3G + 1A | P. Müller, M. Eilers | ||||||||||||||||||||||||||||
Abstract | A 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. | ||||||||||||||||||||||||||||||||
Learning objective | Students 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. | ||||||||||||||||||||||||||||||||
Content | The 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. | ||||||||||||||||||||||||||||||||
Lecture notes | The slides will be available online. | ||||||||||||||||||||||||||||||||
Literature | Will be announced in the lecture. | ||||||||||||||||||||||||||||||||
Prerequisites / Notice | 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-2815-00L | Automated Software Testing 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". | W | 7 credits | 2V + 1U + 3A | Z. Su | ||||||||||||||||||||||||||||
Abstract | This 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. | ||||||||||||||||||||||||||||||||
Learning objective | * 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 | ||||||||||||||||||||||||||||||||
Content | The 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. | ||||||||||||||||||||||||||||||||
Lecture notes | Lecture notes/slides and other lecture materials/handouts will be available online. | ||||||||||||||||||||||||||||||||
Literature | Reading material and links to tools will be published on the course website. | ||||||||||||||||||||||||||||||||
Prerequisites / Notice | The 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-00L | Program Analysis for System Security and Reliability Does not take place this semester. | W | 7 credits | 2V + 1U + 3A | M. Vechev | ||||||||||||||||||||||||||||
Abstract | Security 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. | ||||||||||||||||||||||||||||||||
Learning objective | * 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. | ||||||||||||||||||||||||||||||||
Content | Please see: https://www.sri.inf.ethz.ch/teaching/pass2022 for detailed course content. | ||||||||||||||||||||||||||||||||
263-4600-00L | Formal Methods for Information Security Does not take place this semester. | W | 5 credits | 2V + 1U + 1A | |||||||||||||||||||||||||||||
Abstract | The 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. | ||||||||||||||||||||||||||||||||
Learning objective | The 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. | ||||||||||||||||||||||||||||||||
Content | The 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. | ||||||||||||||||||||||||||||||||
Minor in Systems Software | |||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | ||||||||||||||||||||||||||||
227-0558-00L | Principles of Distributed Computing | W | 7 credits | 2V + 2U + 2A | R. Wattenhofer | ||||||||||||||||||||||||||||
Abstract | We study the fundamental issues underlying the design of distributed systems: communication, coordination, fault-tolerance, locality, parallelism, self-organization, symmetry breaking, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques. | ||||||||||||||||||||||||||||||||
Learning objective | Distributed computing is essential in modern computing and communications systems. Examples are on the one hand large-scale networks such as the Internet, and on the other hand multiprocessors such as your new multi-core laptop. This course introduces the principles of distributed computing, emphasizing the fundamental issues underlying the design of distributed systems and networks: communication, coordination, fault-tolerance, locality, parallelism, self-organization, symmetry breaking, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques, basically the "pearls" of distributed computing. We will cover a fresh topic every week. | ||||||||||||||||||||||||||||||||
Content | Distributed computing models and paradigms, e.g. message passing, shared memory, synchronous vs. asynchronous systems, time and message complexity, peer-to-peer systems, small-world networks, social networks, sorting networks, wireless communication, and self-organizing systems. Distributed algorithms, e.g. leader election, coloring, covering, packing, decomposition, spanning trees, mutual exclusion, store and collect, arrow, ivy, synchronizers, diameter, all-pairs-shortest-path, wake-up, and lower bounds | ||||||||||||||||||||||||||||||||
Lecture notes | Available. | ||||||||||||||||||||||||||||||||
Literature | Lecture 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 | ||||||||||||||||||||||||||||||||
Prerequisites / Notice | Course pre-requisites: Interest in algorithmic problems. (No particular course needed.) | ||||||||||||||||||||||||||||||||
Competencies |
| ||||||||||||||||||||||||||||||||
263-2925-00L | Program Analysis for System Security and Reliability Does not take place this semester. | W | 7 credits | 2V + 1U + 3A | M. Vechev | ||||||||||||||||||||||||||||
Abstract | Security 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. | ||||||||||||||||||||||||||||||||
Learning objective | * 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. | ||||||||||||||||||||||||||||||||
Content | Please see: https://www.sri.inf.ethz.ch/teaching/pass2022 for detailed course content. | ||||||||||||||||||||||||||||||||
263-3800-00L | Advanced Operating Systems | W | 7 credits | 2V + 2U + 2A | D. Cock, T. Roscoe | ||||||||||||||||||||||||||||
Abstract | This 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. | ||||||||||||||||||||||||||||||||
Learning objective | The 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 | ||||||||||||||||||||||||||||||||
Content | The 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. | ||||||||||||||||||||||||||||||||
Prerequisites / Notice | The 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. | ||||||||||||||||||||||||||||||||
Minor in Theoretical Computer Science | |||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | ||||||||||||||||||||||||||||
252-0408-00L | Cryptographic Protocols | W | 6 credits | 2V + 2U + 1A | M. Hirt | ||||||||||||||||||||||||||||
Abstract | In 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. | ||||||||||||||||||||||||||||||||
Learning objective | To know and understand a selection of cryptographic protocols and to be able to analyze and prove their security and efficiency. | ||||||||||||||||||||||||||||||||
Content | The 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. | ||||||||||||||||||||||||||||||||
Lecture notes | We provide handouts of the slides. For some of the topics, we also provide papers and/or lecture notes. | ||||||||||||||||||||||||||||||||
Prerequisites / Notice | A basic understanding of fundamental cryptographic concepts (as taught for example in the course Information Security) is useful, but not required. | ||||||||||||||||||||||||||||||||
Competencies |
| ||||||||||||||||||||||||||||||||
252-1424-00L | Models of Computation | W | 6 credits | 2V + 2U + 1A | M. Cook | ||||||||||||||||||||||||||||
Abstract | 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. | ||||||||||||||||||||||||||||||||
Learning objective | 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. | ||||||||||||||||||||||||||||||||
Content | 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. | ||||||||||||||||||||||||||||||||
261-5110-00L | Optimization for Data Science | W | 10 credits | 3V + 2U + 4A | B. Gärtner, N. He | ||||||||||||||||||||||||||||
Abstract | This course provides an in-depth theoretical treatment of optimization methods that are relevant in data science. | ||||||||||||||||||||||||||||||||
Learning objective | Understanding 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. | ||||||||||||||||||||||||||||||||
Content | This 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. | ||||||||||||||||||||||||||||||||
Prerequisites / Notice | A 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-00L | Advanced Graph Algorithms and Optimization | W | 10 credits | 3V + 3U + 3A | R. Kyng, M. Probst | ||||||||||||||||||||||||||||
Abstract | This course will cover a number of advanced topics in optimization and graph algorithms. | ||||||||||||||||||||||||||||||||
Learning objective | The 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. | ||||||||||||||||||||||||||||||||
Content | Students should leave the course understanding key concepts in optimization such as first and second-order optimization, convex duality, multiplicative weights and dual-based methods, acceleration, preconditioning, and non-Euclidean optimization. Students will also be familiarized with central techniques in the development of graph algorithms in the past 15 years, including graph decomposition techniques, sparsification, oblivious routing, and spectral and combinatorial preconditioning. | ||||||||||||||||||||||||||||||||
Prerequisites / Notice | This 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-00L | Algorithmic Foundations of Data Science | W | 10 credits | 3V + 2U + 4A | D. Steurer | ||||||||||||||||||||||||||||
Abstract | This course provides rigorous theoretical foundations for the design and mathematical analysis of efficient algorithms that can solve fundamental tasks relevant to data science. | ||||||||||||||||||||||||||||||||
Learning objective | We 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. | ||||||||||||||||||||||||||||||||
Content | Strengths 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 | ||||||||||||||||||||||||||||||||
Lecture notes | To be provided during the semester | ||||||||||||||||||||||||||||||||
Literature | High-Dimensional Statistics A Non-Asymptotic Viewpoint by Martin J. Wainwright | ||||||||||||||||||||||||||||||||
Prerequisites / Notice | Mathematical 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-00L | Complex Network Models | W | 5 credits | 2V + 2A | J. Lengler | ||||||||||||||||||||||||||||
Abstract | Complex 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. | ||||||||||||||||||||||||||||||||
Learning objective | The 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. | ||||||||||||||||||||||||||||||||
Content | Network 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 | ||||||||||||||||||||||||||||||||
Lecture notes | The script is available in moodle or at https://as.inf.ethz.ch/people/members/lenglerj/CompNetScript.pdf It will be updated during the semester. | ||||||||||||||||||||||||||||||||
Literature | Latora, Nikosia, Russo: "Complex Networks: Principles, Methods and Applications" van der Hofstad: "Random Graphs and Complex Networks. Volume 1" | ||||||||||||||||||||||||||||||||
Prerequisites / Notice | The 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. | ||||||||||||||||||||||||||||||||
Competencies |
| ||||||||||||||||||||||||||||||||
263-4510-00L | Introduction to Topological Data Analysis | W | 8 credits | 3V + 2U + 2A | P. Schnider | ||||||||||||||||||||||||||||
Abstract | Topological 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. | ||||||||||||||||||||||||||||||||
Learning objective | The 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. | ||||||||||||||||||||||||||||||||
Content | Mathematical 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 | ||||||||||||||||||||||||||||||||
Literature | Main 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 | ||||||||||||||||||||||||||||||||
Prerequisites / Notice | The course assumes knowledge of discrete mathematics, algorithms and data structures and linear algebra, as supplied in the first semesters of Bachelor Studies at ETH. | ||||||||||||||||||||||||||||||||
Competencies |
| ||||||||||||||||||||||||||||||||
263-4656-00L | Digital Signatures | W | 5 credits | 2V + 2A | D. Hofheinz | ||||||||||||||||||||||||||||
Abstract | Digital 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. | ||||||||||||||||||||||||||||||||
Learning objective | The 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. | ||||||||||||||||||||||||||||||||
Content | We 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. | ||||||||||||||||||||||||||||||||
Literature | Jonathan Katz, "Digital Signatures." | ||||||||||||||||||||||||||||||||
Prerequisites / Notice | Ideally, students will have taken the D-INFK Bachelors course "Information Security" or an equivalent course at Bachelors level. |
- Page 2 of 3 All