# Search result: Catalogue data in Spring Semester 2022

Computer Science Master | ||||||

Interfocus Courses | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|---|

263-0007-00L | Advanced Systems Lab Only for master students, otherwise a special permission by the study administration of D-INFK is required. | O | 8 credits | 3V + 2U + 2A | M. Püschel, C. Zhang | |

Abstract | This course introduces the student to the foundations and state-of-the-art techniques in developing high performance software for mathematical functionality occurring in various fields in computer science. The focus is on optimizing for a single core and includes optimizing for the memory hierarchy, for special instruction sets, and the possible use of automatic performance tuning. | |||||

Objective | Software performance (i.e., runtime) arises through the complex interaction of algorithm, its implementation, the compiler used, and the microarchitecture the program is run on. The first goal of the course is to provide the student with an understanding of this "vertical" interaction, and hence software performance, for mathematical functionality. The second goal is to teach a systematic strategy how to use this knowledge to write fast software for numerical problems. This strategy will be trained in several homeworks and a semester-long group project. | |||||

Content | The fast evolution and increasing complexity of computing platforms pose a major challenge for developers of high performance software for engineering, science, and consumer applications: it becomes increasingly harder to harness the available computing power. Straightforward implementations may lose as much as one or two orders of magnitude in performance. On the other hand, creating optimal implementations requires the developer to have an understanding of algorithms, capabilities and limitations of compilers, and the target platform's architecture and microarchitecture. This interdisciplinary course introduces the student to the foundations and state-of-the-art techniques in high performance mathematical software development using important functionality such as matrix operations, transforms, filters, and others as examples. The course will explain how to optimize for the memory hierarchy, take advantage of special instruction sets, and other details of current processors that require optimization. The concept of automatic performance tuning is introduced. The focus is on optimization for a single core; thus, the course complements others on parallel and distributed computing. Finally a general strategy for performance analysis and optimization is introduced that the students will apply in group projects that accompany the course. | |||||

Prerequisites / Notice | Solid knowledge of the C programming language and matrix algebra. | |||||

263-0008-00L | Computational Intelligence LabOnly for master students, otherwise a special permission by the study administration of D-INFK is required. | O | 8 credits | 2V + 2U + 3A | G. Rätsch | |

Abstract | This laboratory course teaches fundamental concepts in computational science and machine learning with a special emphasis on matrix factorization and representation learning. The class covers techniques like dimension reduction, data clustering, sparse coding, and deep learning as well as a wide spectrum of related use cases and applications. | |||||

Objective | Students acquire fundamental theoretical concepts and methodologies from machine learning and how to apply these techniques to build intelligent systems that solve real-world problems. They learn to successfully develop solutions to application problems by following the key steps of modeling, algorithm design, implementation and experimental validation. This lab course has a strong focus on practical assignments. Students work in groups of three to four people, to develop solutions to three application problems: 1. Collaborative filtering and recommender systems, 2. Text sentiment classification, and 3. Road segmentation in aerial imagery. For each of these problems, students submit their solutions to an online evaluation and ranking system, and get feedback in terms of numerical accuracy and computational speed. In the final part of the course, students combine and extend one of their previous promising solutions, and write up their findings in an extended abstract in the style of a conference paper. (Disclaimer: The offered projects may be subject to change from year to year.) | |||||

Content | see course description | |||||

Master Studies (Programme Regulations 2020) | ||||||

Majors | ||||||

Major in Data Management Systems | ||||||

Core Courses | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |

263-3855-00L | Cloud Computing Architecture | W | 9 credits | 3V + 2U + 3A | G. Alonso, A. Klimovic | |

Abstract | Cloud computing hosts a wide variety of online services that we use on a daily basis, including web search, social networks, and video streaming. This course will cover how datacenter hardware, systems software, and application frameworks are designed for the cloud. | |||||

Objective | After successful completion of this course, students will be able to: 1) reason about performance, energy efficiency, and availability tradeoffs in the design of cloud system software, 2) describe how datacenter hardware is organized and explain why it is organized as such, 3) implement cloud applications as well as analyze and optimize their performance. | |||||

Content | In this course, we study how datacenter hardware, systems software, and applications are designed at large scale for the cloud. The course covers topics including server design, cluster management, large-scale storage systems, serverless computing, data analytics frameworks, and performance analysis. | |||||

Lecture notes | Lecture slides will be available on the course website. | |||||

Prerequisites / Notice | Undergraduate courses in 1) computer architecture and 2) operating systems, distributed systems, and/or database systems are strongly recommended. | |||||

Elective Courses | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |

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. | |||||

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. | |||||

227-0558-00L | Principles of Distributed Computing | W | 7 credits | 2V + 2U + 2A | R. Wattenhofer, M. Dory, G. Zuzic | |

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. | |||||

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. Our course script is used at dozens of other universities around the world. | |||||

Literature | Lecture Notes By Roger Wattenhofer. These lecture notes are taught at about a dozen different universities through the world. 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.) | |||||

Major in Machine Intelligence | ||||||

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. | |||||

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-3710-00L | Machine Perception | W | 8 credits | 3V + 2U + 2A | O. Hilliges | |

Abstract | Recent developments in neural networks (aka “deep learning”) have drastically advanced the performance of machine perception systems in a variety of areas including computer vision, robotics, and 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. | |||||

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). 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 for classification II) Advanced topics: a) Latent variable models (VAEs) b) Generative adversarial networks (GANs) c) Autoregressive models (PixelCNN, PixelRNN, TCNs) d) Invertible Neural Networks / Normalizing Flows 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) Closed-loop control and deep reinforcement learning | |||||

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. Starting in SS22, the exam (3h) will be an end-of-term exam and take place at the end of the teaching period. | |||||

Elective Courses | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |

252-0526-00L | Statistical Learning Theory Does not take place this semester. | W | 8 credits | 3V + 2U + 2A | J. M. Buhmann | |

Abstract | The course covers advanced methods of statistical learning: - Variational methods and optimization. - Deterministic annealing. - Clustering for diverse types of data. - Model validation by information theory. | |||||

Objective | The course surveys recent methods of statistical learning. The fundamentals of machine learning, as presented in the courses "Introduction to Machine Learning" and "Advanced Machine Learning", are expanded from the perspective of statistical learning. | |||||

Content | - Variational methods and optimization. We consider optimization approaches for problems where the optimizer is a probability distribution. We will discuss concepts like maximum entropy, information bottleneck, and deterministic annealing. - Clustering. This is the problem of sorting data into groups without using training samples. We discuss alternative notions of "similarity" between data points and adequate optimization procedures. - Model selection and validation. This refers to the question of how complex the chosen model should be. In particular, we present an information theoretic approach for model validation. - Statistical physics models. We discuss approaches for approximately optimizing large systems, which originate in statistical physics (free energy minimization applied to spin glasses and other models). We also study sampling methods based on these models. | |||||

Lecture notes | A draft of a script will be provided. Lecture slides will be made available. | |||||

Literature | Hastie, Tibshirani, Friedman: The Elements of Statistical Learning, Springer, 2001. L. Devroye, L. Gyorfi, and G. Lugosi: A probabilistic theory of pattern recognition. Springer, New York, 1996 | |||||

Prerequisites / Notice | Knowledge of machine learning (introduction to machine learning and/or advanced machine learning) Basic knowledge of statistics. | |||||

252-0579-00L | 3D Vision | W | 5 credits | 3G + 1A | M. Pollefeys, D. B. Baráth | |

Abstract | The course covers camera models and calibration, feature tracking and matching, camera motion estimation via simultaneous localization and mapping (SLAM) and visual odometry (VO), epipolar and mult-view geometry, structure-from-motion, (multi-view) stereo, augmented reality, and image-based (re-)localization. | |||||

Objective | After attending this course, students will: 1. understand the core concepts for recovering 3D shape of objects and scenes from images and video. 2. be able to implement basic systems for vision-based robotics and simple virtual/augmented reality applications. 3. have a good overview over the current state-of-the art in 3D vision. 4. be able to critically analyze and asses current research in this area. | |||||

Content | The goal of this course is to teach the core techniques required for robotic and augmented reality applications: How to determine the motion of a camera and how to estimate the absolute position and orientation of a camera in the real world. This course will introduce the basic concepts of 3D Vision in the form of short lectures, followed by student presentations discussing the current state-of-the-art. The main focus of this course are student projects on 3D Vision topics, with an emphasis on robotic vision and virtual and augmented reality applications. | |||||

261-5120-00L | Machine Learning for Health Care Number of participants limited to 150. | W | 5 credits | 2V + 2A | V. Boeva, G. Rätsch, J. Vogt | |

Abstract | The course will review the most relevant methods and applications of Machine Learning in Biomedicine, discuss the main challenges they present and their current technical problems. | |||||

Objective | During the last years, we have observed a rapid growth in the field of Machine Learning (ML), mainly due to improvements in ML algorithms, the increase of data availability and a reduction in computing costs. This growth is having a profound impact in biomedical applications, where the great variety of tasks and data types enables us to get benefit of ML algorithms in many different ways. In this course we will review the most relevant methods and applications of ML in biomedicine, discuss the main challenges they present and their current technical solutions. | |||||

Content | The course will consist of four topic clusters that will cover the most relevant applications of ML in Biomedicine: 1) Structured time series: Temporal time series of structured data often appear in biomedical datasets, presenting challenges as containing variables with different periodicities, being conditioned by static data, etc. 2) Medical notes: Vast amount of medical observations are stored in the form of free text, we will analyze stategies for extracting knowledge from them. 3) Medical images: Images are a fundamental piece of information in many medical disciplines. We will study how to train ML algorithms with them. 4) Genomics data: ML in genomics is still an emerging subfield, but given that genomics data are arguably the most extensive and complex datasets that can be found in biomedicine, it is expected that many relevant ML applications will arise in the near future. We will review and discuss current applications and challenges. | |||||

Prerequisites / Notice | Data Structures & Algorithms, Introduction to Machine Learning, Statistics/Probability, Programming in Python, Unix Command Line Relation to Course 261-5100-00 Computational Biomedicine: This course is a continuation of the previous course with new topics related to medical data and machine learning. The format of Computational Biomedicine II will also be different. It is helpful but not essential to attend Computational Biomedicine before attending Computational Biomedicine II. | |||||

263-5000-00L | Computational Semantics for Natural Language Processing | W | 6 credits | 2V + 1U + 2A | M. Sachan | |

Abstract | This course presents an introduction to Natural language processing (NLP) with an emphasis on computational semantics i.e. the process of constructing and reasoning with meaning representations of natural language text. | |||||

Objective | The objective of the course is to learn about various topics in computational semantics and its importance in natural language processing methodology and research. Exercises and the project will be key parts of the course so the students will be able to gain hands-on experience with state-of-the-art techniques in the field. | |||||

Content | We will take a modern view of the topic, and focus on various statistical and deep learning approaches for computation semantics. We will also overview various primary areas of research in language processing and discuss how the computational semantics view can help us make advances in NLP. | |||||

Lecture notes | Lecture slides will be made available at the course Web site. | |||||

Literature | No textbook is required, but there will be regularly assigned readings from research literature, linked to the course website. | |||||

Prerequisites / Notice | The student should have successfully completed a graduate level class in machine learning (252-0220-00L), deep learning (263-3210-00L) or natural language processing (252-3005-00L) before. Similar courses from other universities are acceptable too. | |||||

263-5051-00L | AI Center Projects in Machine Learning Research Number of participants limited to 50. Last cancellation/deregistration date for this ungraded semester performance: Friday, 18 March 2022! Please note that after that date no deregistration will be accepted and the course will be considered as "fail". | W | 4 credits | 2V + 1A | A. Ilic, M. El-Assady, F. Engelmann, T. Kontogianni, A. Marx, G. Ramponi, A. Sanyal, M. Sorbaro Sindaci | |

Abstract | The course will give students an overview of selected topics in advanced machine learning that are currently subjects of active research. The course concludes with a final project. | |||||

Objective | The overall objective is to give students a concrete idea of what working in contemporary machine learning research is like and inform them about current research performed at ETH. In this course, students will be able to get an overview of current research topics in different specialized areas. Each topic is accompanied by small hands-on exercises that prepare for the final project. In the final project, students will be able to build experience in practical aspects of machine learning research, including research literature, aspects of implementation, and reproducibility challenges. | |||||

Content | The course will be structured as sections taught by different PostDocs specialized in the relevant fields. Each section will showcase an advanced research topic in machine learning, first introducing it and motivating it in the context of current technological or scientific advancement, then providing practical applications that students can experiment with, ideally with the aim of reproducing a very simple, known result in the specific field. The tentative list of topics for this year is 3D scene understanding, graph neural networks, causal discovery, event-based sensors, trustworthy AI, reinforcement learning and visual text analytics. The last weeks of the course will be reserved for the implementation of the final project that the students can select among one of the presented areas. | |||||

Prerequisites / Notice | Participants should have basic knowledge about machine learning and statistics (e.g. Introduction to Machine Learning course or equivalent) and programming. | |||||

263-5052-00L | Interactive Machine Learning: Visualization & Explainability Number of participants limited to 190. | W | 5 credits | 2V + 1U + 1A | M. El-Assady | |

Abstract | Visual Analytics supports the design of human-in-the-loop interfaces that enable human-machine collaboration. In this course, will go through the fundamentals of designing interactive visualizations, later applying them to explain and interact with machine leaning models. | |||||

Objective | The goal of the course is to introduce techniques for interactive information visualization and to apply these on understanding, diagnosing, and refining machine learning models. | |||||

Content | Interactive, mixed-initiative machine learning promises to combine the efficiency of automation with the effectiveness of humans for a collaborative decision-making and problem-solving process. This can be facilitated through co-adaptive visual interfaces. This course will first introduce the foundations of information visualization design based on data charecteristics, e.g., high-dimensional, geo-spatial, relational, temporal, and textual data. Second, we will discuss interaction techniques and explanation strategies to enable explainable machine learning with the tasks of understanding, diagnosing, and refining machine learning models. Tentative list of topics: 1. Visualization and Perception 2. Interaction and Explanation 3. Systems Overview | |||||

Lecture notes | Course material will be provided in form of slides. | |||||

Literature | Will be provided during the course. | |||||

Prerequisites / Notice | Basic understanding of machine learning as taught at the Bachelor's level. | |||||

263-5300-00L | Guarantees for Machine Learning Does not take place this semester. Number of participants limited to 30. The course will take place next autumn semester 2022. | W | 7 credits | 3G + 3A | F. Yang | |

Abstract | This course is aimed at advanced master and doctorate students who want to conduct independent research on theory for modern machine learning (ML). It teaches classical and recent methods in statistical learning theory commonly used to prove theoretical guarantees for ML algorithms. The knowledge is then applied in independent project work that focuses on understanding modern ML phenomena. | |||||

Objective | Learning objectives: - acquire enough mathematical background to understand a good fraction of theory papers published in the typical ML venues. For this purpose, students will learn common mathematical techniques from statistics and optimization in the first part of the course and apply this knowledge in the project work - critically examine recently published work in terms of relevance and determine impactful (novel) research problems. This will be an integral part of the project work and involves experimental as well as theoretical questions - find and outline an approach (some subproblem) to prove a conjectured theorem. This will be practiced in lectures / exercise and homeworks and potentially in the final project. - effectively communicate and present the problem motivation, new insights and results to a technical audience. This will be primarily learned via the final presentation and report as well as during peer-grading of peer talks. | |||||

Content | This course touches upon foundational methods in statistical learning theory aimed at proving theoretical guarantees for machine learning algorithms, touching on the following topics - concentration bounds - uniform convergence and empirical process theory - high-dimensional statistics (e.g. sparsity) - regularization for non-parametric statistics (e.g. in RKHS, neural networks) - implicit regularization via gradient descent (e.g. margins, early stopping) - minimax lower bounds The project work focuses on current theoretical ML research that aims to understand modern phenomena in machine learning, including but not limited to - how overparameterization could help generalization ( RKHS, NN ) - how overparameterization could help optimization ( non-convex optimization, loss landscape ) - complexity measures and approximation theoretic properties of randomly initialized and trained NN - generalization of robust learning ( adversarial robustness, standard and robust error tradeoff, distribution shift) | |||||

Prerequisites / Notice | It’s absolutely necessary for students to have a strong mathematical background (basic real analysis, probability theory, linear algebra) and good knowledge of core concepts in machine learning taught in courses such as “Introduction to Machine Learning”, “Regression”/ “Statistical Modelling”. In addition to these prerequisites, this class requires a high degree of mathematical maturity—including abstract thinking and the ability to understand and write proofs. Students have usually taken a subset of Fundamentals of Mathematical Statistics, Probabilistic AI, Neural Network Theory, Optimization for Data Science, Advanced ML, Statistical Learning Theory, Probability Theory (D-MATH) | |||||

263-5351-00L | Machine Learning for Genomics The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not provide project work and/or do not show up for the exam, will officially fail the course. Number of participants limited to 75. | 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. | |||||

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; having taken Computational Biomedicine is highly recommended | |||||

263-5352-00L | Advanced Formal Language Theory | W | 5 credits | 2V + 1U + 1A | R. Cotterell | |

Abstract | This course serves as an introduction to various advanced topics in formal language theory. | |||||

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. | |||||

227-0434-10L | Mathematics of Information | W | 8 credits | 3V + 2U + 2A | H. Bölcskei | |

Abstract | The class focuses on mathematical aspects of 1. Information science: Sampling theorems, frame theory, compressed sensing, sparsity, super-resolution, spectrum-blind sampling, subspace algorithms, dimensionality reduction 2. Learning theory: Approximation theory, greedy algorithms, uniform laws of large numbers, Rademacher complexity, Vapnik-Chervonenkis dimension | |||||

Objective | The aim of the class is to familiarize the students with the most commonly used mathematical theories in data science, high-dimensional data analysis, and learning theory. The class consists of the lecture and exercise sessions with homework problems. | |||||

Content | Mathematics of Information 1. Signal representations: Frame theory, wavelets, Gabor expansions, sampling theorems, density theorems 2. Sparsity and compressed sensing: Sparse linear models, uncertainty relations in sparse signal recovery, super-resolution, spectrum-blind sampling, subspace algorithms (ESPRIT), estimation in the high-dimensional noisy case, Lasso 3. Dimensionality reduction: Random projections, the Johnson-Lindenstrauss Lemma Mathematics of Learning 4. Approximation theory: Nonlinear approximation theory, best M-term approximation, greedy algorithms, fundamental limits on compressibility of signal classes, Kolmogorov-Tikhomirov epsilon-entropy of signal classes, optimal compression of signal classes 5. Uniform laws of large numbers: Rademacher complexity, Vapnik-Chervonenkis dimension, classes with polynomial discrimination | |||||

Lecture notes | Detailed lecture notes will be provided at the beginning of the semester. | |||||

Prerequisites / Notice | This course is aimed at students with a background in basic linear algebra, analysis, statistics, and probability. We encourage students who are interested in mathematical data science to take both this course and "401-4944-20L Mathematics of Data Science" by Prof. A. Bandeira. The two courses are designed to be complementary. H. Bölcskei and A. Bandeira | |||||

401-3632-00L | Computational Statistics | W | 8 credits | 3V + 1U | N. Meinshausen | |

Abstract | We discuss modern statistical methods for data analysis, including methods for data exploration, prediction and inference. We pay attention to algorithmic aspects, theoretical properties and practical considerations. The class is hands-on and methods are applied using the statistical programming language R. | |||||

Objective | The student obtains an overview of modern statistical methods for data analysis, including their algorithmic aspects and theoretical properties. The methods are applied using the statistical programming language R. | |||||

Content | See the class website | |||||

Prerequisites / Notice | At least one semester of (basic) probability and statistics. Programming experience is helpful but not required. | |||||

Major in Secure and Reliable Systems | ||||||

Core Courses | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |

263-2815-00L | Automated Software Testing Last cancellation/deregistration date for this graded semester performance: 18 March 2022! 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. | |||||

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 | 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. | |||||

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: Link for detailed course content. |

- Page 1 of 9 All