Search result: Catalogue data in Spring Semester 2023
Computer Science Master | ||||||||||||||||||||||||||||||||||||||||||||||||
Majors | ||||||||||||||||||||||||||||||||||||||||||||||||
Major in Secure and Reliable Systems | ||||||||||||||||||||||||||||||||||||||||||||||||
Core Courses | ||||||||||||||||||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | |||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
263-4660-00L | Applied Cryptography | W | 8 credits | 3V + 2U + 2P | K. Paterson, F. Günther | |||||||||||||||||||||||||||||||||||||||||||
Abstract | This 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | The 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Content | Basic 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Literature | Textbook: Boneh and Shoup, “A Graduate Course in Applied Cryptography”, http://toc.cryptobook.us/book.pdf. | |||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | Students 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Competencies |
| |||||||||||||||||||||||||||||||||||||||||||||||
Elective Courses | ||||||||||||||||||||||||||||||||||||||||||||||||
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 |
| |||||||||||||||||||||||||||||||||||||||||||||||
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-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. | |||||||||||||||||||||||||||||||||||||||||||||||
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. | |||||||||||||||||||||||||||||||||||||||||||||||
Major in Theoretical Computer Science | ||||||||||||||||||||||||||||||||||||||||||||||||
Core Courses | ||||||||||||||||||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | |||||||||||||||||||||||||||||||||||||||||||
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. | |||||||||||||||||||||||||||||||||||||||||||||||
Elective Courses | ||||||||||||||||||||||||||||||||||||||||||||||||
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. | |||||||||||||||||||||||||||||||||||||||||||||||
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. | |||||||||||||||||||||||||||||||||||||||||||||||
272-0300-00L | Algorithmics for Hard Problems This course d o e s n o t include the Mentored Work Specialised Courses with an Educational Focus in Computer Science A. | W | 5 credits | 2V + 1U + 1A | H.‑J. Böckenhauer, D. Komm | |||||||||||||||||||||||||||||||||||||||||||
Abstract | This course unit looks into algorithmic approaches to the solving of hard problems, particularly with moderately exponential-time algorithms and parameterized algorithms. The seminar is accompanied by a comprehensive reflection upon the significance of the approaches presented for computer science tuition at high schools. | |||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | To systematically acquire an overview of the methods for solving hard problems. To get deeper knowledge of exact and parameterized algorithms. | |||||||||||||||||||||||||||||||||||||||||||||||
Content | First, the concept of hardness of computation is introduced (repeated for the computer science students). Then some methods for solving hard problems are treated in a systematic way. For each algorithm design method, it is discussed what guarantees it can give and how we pay for the improved efficiency. A special focus lies on moderately exponential-time algorithms and parameterized algorithms. | |||||||||||||||||||||||||||||||||||||||||||||||
Lecture notes | Unterlagen und Folien werden zur Verfügung gestellt. | |||||||||||||||||||||||||||||||||||||||||||||||
Literature | J. 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Competencies |
| |||||||||||||||||||||||||||||||||||||||||||||||
272-0302-00L | Approximation and Online Algorithms Does not take place this semester. | W | 5 credits | 2V + 1U + 1A | D. Komm | |||||||||||||||||||||||||||||||||||||||||||
Abstract | This lecture deals with approximative algorithms for hard optimization problems and algorithmic approaches for solving online problems as well as the limits of these approaches. | |||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | Get a systematic overview of different methods for designing approximative algorithms for hard optimization problems and online problems. Get to know methods for showing the limitations of these approaches. | |||||||||||||||||||||||||||||||||||||||||||||||
Content | Approximation algorithms are one of the most succesful techniques to attack hard optimization problems. Here, we study the so-called approximation ratio, i.e., the ratio of the cost of the computed approximating solution and an optimal one (which is not computable efficiently). For an online problem, the whole instance is not known in advance, but it arrives pieceweise and for every such piece a corresponding part of the definite output must be given. The quality of an algorithm for such an online problem is measured by the competitive ratio, i.e., the ratio of the cost of the computed solution and the cost of an optimal solution that could be given if the whole input was known in advance. The contents of this lecture are - the classification of optimization problems by the reachable approximation ratio, - systematic methods to design approximation algorithms (e.g., greedy strategies, dynamic programming, linear programming relaxation), - methods to show non-approximability, - classic online problem like paging or scheduling problems and corresponding algorithms, - randomized online algorithms, - the design and analysis principles for online algorithms, and - limits of the competitive ratio and the advice complexity as a way to do a deeper analysis of the complexity of online problems. | |||||||||||||||||||||||||||||||||||||||||||||||
Literature | The lecture is based on the following books: J. Hromkovic: Algorithmics for Hard Problems, Springer, 2004 D. Komm: An Introduction to Online Computation: Determinism, Randomization, Advice, Springer, 2016 Additional literature: A. Borodin, R. El-Yaniv: Online Computation and Competitive Analysis, Cambridge University Press, 1998 | |||||||||||||||||||||||||||||||||||||||||||||||
Competencies |
| |||||||||||||||||||||||||||||||||||||||||||||||
401-3052-10L | Graph Theory | W | 10 credits | 4V + 1U | B. Sudakov | |||||||||||||||||||||||||||||||||||||||||||
Abstract | Basics, 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 | |||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | The students will get an overview over the most fundamental questions concerning graph theory. We expect them to understand the proof techniques and to use them autonomously on related problems. | |||||||||||||||||||||||||||||||||||||||||||||||
Lecture notes | Lecture will be only at the blackboard. | |||||||||||||||||||||||||||||||||||||||||||||||
Literature | West, D.: "Introduction to Graph Theory" Diestel, R.: "Graph Theory" Further literature links will be provided in the lecture. | |||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | Students are expected to have a mathematical background and should be able to write rigorous proofs. | |||||||||||||||||||||||||||||||||||||||||||||||
401-3902-21L | Network & Integer Optimization: From Theory to Application | W | 6 credits | 3G | R. Zenklusen | |||||||||||||||||||||||||||||||||||||||||||
Abstract | This 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | Our 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Content | Key topics include: - Matching problems; - Integer Programming techniques and models; - Extended formulations and strong problem formulations; - Solver techniques for (Mixed-)Integer Programs; - Decomposition approaches. | |||||||||||||||||||||||||||||||||||||||||||||||
Literature | - 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | Solid 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Competencies |
| |||||||||||||||||||||||||||||||||||||||||||||||
402-0448-01L | Quantum Information Processing I: Concepts This theory part QIP I together with the experimental part 402-0448-02L QIP II (both offered in the Spring Semester) combine to the core course in experimental physics "Quantum Information Processing" (totally 10 ECTS credits). This applies to the Master's degree programme in Physics. | W | 5 credits | 2V + 1U | J. Home | |||||||||||||||||||||||||||||||||||||||||||
Abstract | The 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | By 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Content | The 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Lecture notes | Will be provided. | |||||||||||||||||||||||||||||||||||||||||||||||
Literature | Quantum Computation and Quantum Information Michael Nielsen and Isaac Chuang Cambridge University Press | |||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | A good understanding of finite dimensional linear algebra is recommended. | |||||||||||||||||||||||||||||||||||||||||||||||
Competencies |
| |||||||||||||||||||||||||||||||||||||||||||||||
Major in Visual and Interactive Computing | ||||||||||||||||||||||||||||||||||||||||||||||||
Core Courses | ||||||||||||||||||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | |||||||||||||||||||||||||||||||||||||||||||
252-0538-00L | Shape Modeling and Geometry Processing | W | 8 credits | 2V + 1U + 4A | O. Sorkine Hornung | |||||||||||||||||||||||||||||||||||||||||||
Abstract | This 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | The students will learn how to design, program and analyze algorithms and systems for interactive 3D shape modeling and geometry processing. | |||||||||||||||||||||||||||||||||||||||||||||||
Content | Recent 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Lecture notes | Slides and course notes | |||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | Prerequisites: 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Competencies |
| |||||||||||||||||||||||||||||||||||||||||||||||
263-3710-00L | Machine Perception | W | 8 credits | 3V + 2U + 2A | O. Hilliges, J. Song | |||||||||||||||||||||||||||||||||||||||||||
Abstract | Recent 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | Students 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Content | 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) 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 | |||||||||||||||||||||||||||||||||||||||||||||||
Literature | Deep Learning Book by Ian Goodfellow and Yoshua Bengio | |||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | This is an advanced grad-level course that requires a background in machine learning. Students are expected to have a solid mathematical foundation, in particular in linear algebra, multivariate calculus, and probability. The course will focus on state-of-the-art research in deep learning and 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. | |||||||||||||||||||||||||||||||||||||||||||||||
Competencies |
|
- Page 2 of 7 All