Search result: Catalogue data in Spring Semester 2024
Computer Science Master  
Minors  
Minor in Theoretical Computer Science  
Number  Title  Type  ECTS  Hours  Lecturers  

252040800L  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 multiparty 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 multiparty computation, secretsharing, broadcast and Byzantine agreement. We look at both the synchronous and the asynchronous communication model, and focus on simple protocols as well as on highlyefficient 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 
 
252142400L  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.  
261511000L  Optimization for Data Science  W  10 credits  3V + 2U + 4A  B. Gärtner, N. He  
Abstract  This course provides an indepth 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 indepth 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: firstorder methods (gradient and coordinate descent, FrankWolfe, subgradient and mirror descent, stochastic and incremental gradient methods); secondorder methods (Newton and quasi Newton methods); nonconvexity (local convergence, provable global convergence, cone programming, convex relaxations); minmax 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.  
Competencies 
 
263440000L  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 secondorder optimization, convex duality, multiplicative weights and dualbased methods, acceleration, preconditioning, and nonEuclidean 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.  
263450800L  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 dataanalytical tasks, e.g., (sparse) linear regression, principal component analysis, matrix completion, community detection, and clustering. Our goal is to design efficient (polynomialtime) 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 highdimensional statistics. We also incorporate adversarial (worstcase) 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  HighDimensional Statistics A NonAsymptotic 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 20182021 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 20182021. This restriction does not apply to ODS offered in 2022 or afterwards and you can earn credit points for both courses in this case.  
263450900L  Complex Network Models  W  5 credits  2V + 2A  J. Lengler, R. M. Steiner  
Abstract  Complex network models are random graphs that feature one or several properties observed in realworld 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ösRenyi random graphs, ChungLu graphs, configuration model, Kleinberg model, geometric inhomogeneous random graphs Properties: degree distribution, structure of giant and smaller components, clustering coefficient, smallworld 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  
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).  
Competencies 
 
263451000L  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, VietorisRips 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/mbk69 Gunnar Carlsson, Mikael VejdemoJohansson: 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 
 
263465600L  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 hashthensign, onetime signatures, and chameleon hashing as central tools to construct secure signatures.  
Literature  Jonathan Katz, "Digital Signatures."  
Prerequisites / Notice  Ideally, students will have taken the DINFK Bachelors course "Information Security" or an equivalent course at Bachelors level.  
272030000L  Algorithmics for Hard Problems Does not take place this semester. 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  D. Komm  
Abstract  This course unit looks into algorithmic approaches to the solving of hard problems, particularly with moderately exponentialtime 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 exponentialtime 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 FixedParameter Algorithms, 2006. M. Cygan et al.: Parameterized Algorithms, 2015. F. Fomin et al.: Kernelization, 2019. F. Fomin, D. Kratsch: Exact Exponential Algorithms, 2010.  
Competencies 
 
272030200L  Approximation and Online Algorithms  W  5 credits  2V + 1U + 1A  H.‑J. Böckenhauer, D. Komm, M. Wettstein  
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 socalled 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 nonapproximability,  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. ElYaniv: Online Computation and Competitive Analysis, Cambridge University Press, 1998  
Competencies 
 
401305210L  Graph Theory  W  9 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ösChvatal, matchings, theorems of Hall, König, Tutte, planar graphs, Euler's formula, Kuratowski's theorem, graph colorings, Brooks' theorem, 5colorings 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.  
401390221L  Network & Integer Optimization: From Theory to Application  W  5 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 welldesigned (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 19582008. 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 

 Page 1 of 1