Search result: Catalogue data in Spring Semester 2018
Computer Science Master | ||||||
Interfocus Courses | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|---|
263-0008-00L | Computational Intelligence Lab Only for master students, otherwise a special permission by the study administration of D-INFK is required. | O | 8 credits | 2V + 2U + 1A | T. Hofmann | |
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 two to three 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 | |||||
Focus Courses | ||||||
Focus Courses in Computational Science | ||||||
Focus Core Courses Computational Science | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
263-2300-00L | How To Write Fast Numerical Code Does not take place this semester. Number of participants limited to 84. Prerequisite: Master student, solid C programming skills. | W | 6 credits | 3V + 2U | M. Püschel | |
Abstract | This course introduces the student to the foundations and state-of-the-art techniques in developing high performance software for numerical functionality such as linear algebra and others. The focus is on optimizing for the memory hierarchy and for special instruction sets. Finally, the course will introduce the recent field of automatic performance tuning. | |||||
Objective | Software performance (i.e., runtime) arises through the interaction of algorithm, its implementation, and the microarchitecture the program is run on. The first goal of the course is to provide the student with an understanding of this interaction, and hence software performance, focusing on numerical or mathematical functionality. The second goal is to teach a general systematic strategy how to use this knowledge to write fast software for numerical problems. This strategy will be trained in a few homeworks and semester-long group projects. | |||||
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 software development using important functionality such as linear algebra functionality, transforms, filters, and others as examples. The course will explain how to optimize for the memory hierarchy, take advantage of special instruction sets, and, if time permits, how to write multithreaded code for multicore platforms. Much of the material is based on state-of-the-art research. Further, a general strategy for performance analysis and optimization is introduced that the students will apply in group projects that accompany the course. Finally, the course will introduce the students to the recent field of automatic performance tuning. | |||||
Focus Elective Courses Computational Science | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0526-00L | Statistical Learning Theory | W | 6 credits | 2V + 3P | J. M. Buhmann | |
Abstract | The course covers advanced methods of statistical learning : Statistical learning theory;variational methods and optimization, e.g., maximum entropy techniques, information bottleneck, deterministic and simulated annealing; clustering for vectorial, histogram and relational data; model selection; graphical models. | |||||
Objective | The course surveys recent methods of statistical learning. The fundamentals of machine learning as presented in the course "Introduction to Machine Learning" are expanded and in particular, the theory of statistical learning is discussed. | |||||
Content | # Theory of estimators: How can we measure the quality of a statistical estimator? We already discussed bias and variance of estimators very briefly, but the interesting part is yet to come. # Variational methods and optimization: We consider optimization approaches for problems where the optimizer is a probability distribution. Concepts we will discuss in this context include: * Maximum Entropy * Information Bottleneck * Deterministic Annealing # Clustering: The problem of sorting data into groups without using training samples. This requires a definition of ``similarity'' between data points and adequate optimization procedures. # Model selection: We have already discussed how to fit a model to a data set in ML I, which usually involved adjusting model parameters for a given type of model. Model selection refers to the question of how complex the chosen model should be. As we already know, simple and complex models both have advantages and drawbacks alike. # Statistical physics models: approaches for large systems approximate optimization, which originate in the statistical physics (free energy minimization applied to spin glasses and other models); sampling methods based on these models | |||||
Lecture notes | A draft of a script will be provided; transparencies of the lectures 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 | Requirements: knowledge of the Machine Learning course basic knowledge of statistics, interest in statistical methods. It is recommended that Introduction to Machine Learning (ML I) is taken first; but with a little extra effort Statistical Learning Theory can be followed without the introductory course. | |||||
Seminar Computational Science | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-5251-00L | Computational Science Takes place for the last time. | W | 2 credits | 2S | P. Arbenz, P. Chatzidoukas | |
Abstract | Class participants study and make a 40 minute presentation (in English) on fundamental papers of Computational Science. A preliminary discussion of the talk (structure, content, methodology) with the responsible professor is required. The talk has to be given in a way that the other seminar participants can understand it and learn from it. Participation throughout the semester is mandatory. | |||||
Objective | Studying and presenting fundamental works of Computational Science. Learning how to make a scientific presentation. | |||||
Content | Class participants study and make a 40 minute presentation (in English) on fundamental papers of Computational Science. A preliminary discussion of the talk (structure, content, methodology) with the responsible professor is required. The talk has to be given in a way that the other seminar participants can understand it and learn from it. Participation throughout the semester is mandatory. | |||||
Lecture notes | none | |||||
Literature | Papers will be distributed in the first seminar in the first week of the semester | |||||
252-5704-00L | Advanced Methods in Computer Graphics Number of participants limited to 24. | W | 2 credits | 2S | M. Gross | |
Abstract | This seminar covers advanced topics in computer graphics with a focus on the latest research results. Topics include modeling, rendering, visualization, animation, physical simulation, computational photography, and others. | |||||
Objective | The goal is to obtain an in-depth understanding of actual problems and research topics in the field of computer graphics as well as improve presentation and critical analysis skills. | |||||
Focus Courses in Distributed Systems | ||||||
Focus Core Courses Distributed Systems | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
227-0558-00L | Principles of Distributed Computing | W | 6 credits | 2V + 2U + 1A | R. Wattenhofer, M. Ghaffari | |
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.) | |||||
Focus Elective Courses Distributed Systems | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0312-00L | Ubiquitous Computing | W | 3 credits | 2V | F. Mattern, S. Mayer | |
Abstract | Ubiquitous computing integrates tiny wirelessly connected computers and sensors into the environment and everyday objects. Main topics: The vision of ubiquitous computing, trends in technology, smart cards, RFID, Personal Area Networks (Bluetooth), sensor networks, location awareness, privacy and security, application areas, economic and social impact. | |||||
Objective | The vision of ubiquitous computing, trends in technology, smart cards, RFID, Personal Area Networks (Bluetooth), sensor networks, location awareness, privacy and security, application areas, economic and social impact. | |||||
Lecture notes | Copies of slides will be made available | |||||
Literature | Will be provided in the lecture. To put you in the mood: Mark Weiser: The Computer for the 21st Century. Scientific American, September 1991, pp. 94-104 | |||||
252-0807-00L | Information Systems Laboratory Number of participants limited to 12. In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. Additional Labs will be listed on the Addendum. | W | 10 credits | 9P | M. Norrie | |
Abstract | The purpose of this laboratory course is to practically explore modern techniques to build large-scale distributed information systems. Participants will work in groups of three or more students, and develop projects in several phases. | |||||
Objective | The students will gain experience of working with technologies used in the design and development of information systems. | |||||
Content | First week: Kick-off meeting and project assignment Second week: Meeting with the project supervisor to discuss the goals and scope of the project. During the semester: Individual group work. Each team member should contribute to the project roughly about 10h/week, excluding any necessary reading or self-studying (e.g. the time spent to learn a new technology). In addition, it is expected that each team can meet with their supervisor on a regular basis. End of semester: Final presentation. | |||||
252-0817-00L | Distributed Systems Laboratory In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. Additional Labs will be listed on the Addendum. | W | 10 credits | 9P | G. Alonso, T. Hoefler, F. Mattern, T. Roscoe, A. Singla, R. Wattenhofer, C. Zhang | |
Abstract | This course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including as well wireless networks, ad-hoc networks, and distributed application on mobile phones. | |||||
Objective | Students acquire practical knowledge about technologies from the area of distributed systems. | |||||
Content | This course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including as well wireless networks, ad-hoc networks, and distributed application on mobile phones. The objecte of the project is for the students to gain hands-on-experience with real products and the latest technology in distributed systems. There is no lecture associated to the course. For information of the course or projects available, please contact Prof. Mattern, Prof. Wattenhofer, Prof. Roscoe or Prof. G. Alonso. | |||||
263-3501-00L | Advanced Computer Networks | W | 5 credits | 2V + 2U | A. Singla, P. M. Stüdi | |
Abstract | This course covers a set of advanced topics in computer networks. The focus is on principles, architectures, and protocols used in modern networked systems, such as the Internet and data center networks. | |||||
Objective | The goals of the course are to build on basic undergraduate-level networking, and provide an understanding of the tradeoffs and existing technology in the design of large, complex networked systems, together with concrete experience of the challenges through a series of lab exercises. | |||||
Content | The focus of the course is on principles, architectures, and protocols used in modern networked systems. Topics include data center network topologies, software defined networking, network function virtualization, flow control and congestion control in data centers, end-point optimizations, and server virtualization. | |||||
263-3710-00L | Machine Perception Students, who have already taken 263-3700-00 User Interface Engineering are not allowed to register for this course! | W | 5 credits | 2V + 1U + 1A | O. Hilliges | |
Abstract | Recent developments in neural network (aka “deep learning”) have drastically advanced the performance of machine perception systems in a variety of areas including drones, self-driving cars and intelligent UIs. This course is a deep dive into details of the deep learning algorithms and architectures for a variety of perceptual tasks. | |||||
Objective | Students will learn about fundamental aspects of modern deep learning approaches for perception. Students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in learning-based computer vision, robotics and HCI. The final project assignment will involve training a complex neural network architecture and applying it on a real-world dataset of human motion. The core competency acquired through this course is a solid foundation in deep-learning algorithms to process and interpret human input into computing systems. In particular, students should be able to develop systems that deal with the problem of recognizing people in images, detecting and describing body parts, inferring their spatial configuration, performing action/gesture recognition from still images or image sequences, also considering multi-modal data, among others. | |||||
Content | We will focus on teaching how to set up the problem of machine perception, the learning algorithms (e.g. backpropagation), practical engineering aspects as well as advanced deep learning algorithms including generative models. The course covers the following main areas: I) Machine-learning algorithms for input recognition, computer vision and image classification (human pose, object detection, gestures, etc.) II) Deep-learning models for the analysis of time-series data (temporal sequences of motion) III) Learning of generative models for synthesis and prediction of human activity. Specific topics include: • Deep learning basics: ○ Neural Networks and training (i.e., backpropagation) ○ Feedforward Networks ○ Recurrent Neural Networks • Deep Learning techniques user input recognition: ○ Convolutional Neural Networks for classification ○ Fully Convolutional architectures for dense per-pixel tasks (i.e., segmentation) ○ LSTMs & related for time series analysis ○ Generative Models (GANs, Variational Autoencoders) • Case studies from research in computer vision, HCI, robotics and signal processing | |||||
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 is not meant as extensive tutorial of how to train deep networks with Tensorflow.. Please take note of the following conditions: 1) The number of participants is limited to 100 students (MSc and PhDs). 2) Students must have taken the exam in Machine Learning (252-0535-00) or have acquired equivalent knowledge 3) All practical exercises will require basic knowledge of Python and will use libraries such as TensorFlow, scikit-learn and scikit-image. We will provide introductions to TensorFlow and other libraries that are needed but will not provide introductions to basic programming or Python. The following courses are strongly recommended as prerequisite: * "Machine Learning" * "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. | |||||
Seminar in Distributed Systems | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-3600-02L | Smart Systems Seminar | W | 2 credits | 2S | O. Hilliges, S. Coros, F. Mattern | |
Abstract | Seminar on various topics from the broader areas of Ubiquitous Computing, Human Computer Interaction, Robotics and Digital Fabrication. | |||||
Objective | Learn about various current topics from the broader areas of Ubiquitous Computing, Human Computer Interaction, Robotics and Digital Fabrication. | |||||
Prerequisites / Notice | There will be an orientation event several weeks before the start of the semester (possibly at the end of the preceding semester) where also first topics will be assigned to students. Please check Link for further information. | |||||
263-3830-00L | Software Defined Networking: The Data Centre Perspective | W | 2 credits | 2S | T. Roscoe, D. Wagenknecht-Dimitrova | |
Abstract | Software Defined Networks (SDN) is a change supported not only by research but also industry and redifens how traditional network management and configuration is been done. | |||||
Objective | Through review and discussion of literature on an exciting new trend in networking, the students get the opportunity to get familiar with one of the most promising new developments in data centre connectivity, while at the same time they can develop soft skills related to the evaluation and presentation of professional content. | |||||
Content | Software Defined Networks (SDN) is a change supported not only by research but also industry and redifens how traditional network management and configuration is been done. Although much has been already investigated and there are already functional SDN-enabled switches there are many open questions ahead of the adoption of SDN inside and outside the data centre (traditional or cloud-based). With a series of seminars we will reflect on the challenges, adoption strategies and future trends of SDN to create an understanding how SDN is affecting the network operators' industry. | |||||
Literature | The seminar is based on recent publications by academia and industry. Links to the publications are placed on the Seminar page and can be downloaded from any location with access to the ETH campus network. | |||||
Prerequisites / Notice | The seminar bases on active and interactive participation of the students. | |||||
263-3840-00L | Hardware Architectures for Machine Learning | W | 2 credits | 2S | G. Alonso, T. Hoefler, O. Mutlu, C. Zhang | |
Abstract | The seminar covers recent results in the increasingly important field of hardware acceleration for data science and machine learning, both in dedicated machines or in data centers. | |||||
Objective | The seminar aims at students interested in the system aspects of machine learning, who are willing to bridge the gap across traditional disciplines: machine learning, databases, systems, and computer architecture. | |||||
Content | The seminar is intended to cover recent results in the increasingly important field of hardware acceleration for data science and machine learning, both in dedicated machines or in data centers. | |||||
Prerequisites / Notice | The seminar should be of special interest to students intending to complete a master's thesis or a doctoral dissertation in related topics. | |||||
263-4845-00L | Distributed Stream Processing: Systems and Algorithms Does not take place this semester. | W | 2 credits | 2S | ||
Abstract | In this seminar, we will study the design and architecture of modern distributed streaming systems as well as fundamental algorithms for analyzing data streams. We will also consider current research topics and open issues in the area of distributed stream processing. | |||||
Objective | The seminar will focus on high-impact research contributions addressing open issues in the design and implementation of modern distributed stream processors. In particular, the students will read, review, present, and discuss a series of research and industrial papers. | |||||
Content | Modern distributed stream processing technology enables continuous, fast, and reliable analysis of large-scale unbounded datasets. Stream processing has recently become highly popular across industry and academia due to its capabilities to both improve established data processing tasks and to facilitate novel applications with real-time requirements. The students will read, review, present, and discuss a series of research and industrial papers covering the following topics: - Fault-tolerance and processing guarantees - State management - Windowing semantics and optimizations - Basic data stream mining algorithms (e.g. sampling, counting, filtering) - Query languages and libraries for stream processing (e.g. Complex Event Processing, online machine learning) | |||||
227-0126-00L | Advanced Topics in Networked Embedded Systems Number of participants limited to 12. | W | 2 credits | 1S | L. Thiele, J. Beutel, Z. Zhou | |
Abstract | The seminar will cover advanced topics in networked embedded systems. A particular focus are cyber-physical systems and sensor networks in various application domains. | |||||
Objective | The goal is to get a deeper understanding on leading edge technologies in the discipline, on classes of applications, and on current as well as future research directions. | |||||
Content | The seminar enables Master students, PhDs and Postdocs to learn about latest breakthroughs in wireless sensor networks, networked embedded systems and devices, and energy-harvesting in several application domains, including environmental monitoring, tracking, smart buildings and control. Participants are requested to actively participate in the organization and preparation of the seminar. | |||||
227-0559-00L | Seminar in Distributed Computing | W | 2 credits | 2S | R. Wattenhofer | |
Abstract | In this seminar participating students present and discuss recent research papers in the area of distributed computing. The seminar consists of algorithmic as well as systems papers in distributed computing theory, peer-to-peer computing, ad hoc and sensor networking, or multi-core computing. | |||||
Objective | In the last two decades, we have experienced an unprecedented growth in the area of distributed systems and networks; distributed computing now encompasses many of the activities occurring in today's computer and communications world. This course introduces the basics of distributed computing, highlighting common themes and techniques. We study the fundamental issues underlying the design of distributed systems: communication, coordination, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques. In this seminar, students present the latest work in this domain. Seminar language: English | |||||
Content | Different each year. For details see: Link | |||||
Lecture notes | Slides of presentations will be made available. | |||||
Literature | Papers. The actual paper selection can be found on Link. | |||||
851-0740-00L | Big Data, Law, and Policy Number of participants limited to 35 Students will be informed by 4.3.2018 at the latest | W | 3 credits | 2S | S. Bechtold, T. Roscoe, E. Vayena | |
Abstract | This course introduces students to societal perspectives on the big data revolution. Discussing important contributions from machine learning and data science, the course explores their legal, economic, ethical, and political implications in the past, present, and future. | |||||
Objective | This course is intended both for students of machine learning and data science who want to reflect on the societal implications of their field, and for students from other disciplines who want to explore the societal impact of data sciences. The course will first discuss some of the methodological foundations of machine learning, followed by a discussion of research papers and real-world applications where big data and societal values may clash. Potential topics include the implications of big data for privacy, liability, insurance, health systems, voting, and democratic institutions, as well as the use of predictive algorithms for price discrimination and the criminal justice system. Guest speakers, weekly readings and reaction papers ensure a lively debate among participants from various backgrounds. | |||||
Focus Courses in Information Security | ||||||
Focus Core Courses Information Security | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0407-00L | Cryptography Foundations | W | 7 credits | 3V + 2U + 1A | U. Maurer | |
Abstract | Fundamentals and applications of cryptography. Cryptography as a mathematical discipline: reductions, constructive cryptography paradigm, security proofs. The discussed primitives include cryptographic functions, pseudo-randomness, symmetric encryption and authentication, public-key encryption, key agreement, and digital signature schemes. Selected cryptanalytic techniques. | |||||
Objective | The goals are: (1) understand the basic theoretical concepts and scientific thinking in cryptography; (2) understand and apply some core cryptographic techniques and security proof methods; (3) be prepared and motivated to access the scientific literature and attend specialized courses in cryptography. | |||||
Content | See course description. | |||||
Lecture notes | yes. | |||||
Prerequisites / Notice | Familiarity with the basic cryptographic concepts as treated for example in the course "Information Security" is required but can in principle also be acquired in parallel to attending the course. | |||||
Focus Elective Courses Information Security | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0408-00L | Cryptographic Protocols | W | 5 credits | 2V + 2U | M. Hirt, U. Maurer | |
Abstract | The course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc. | |||||
Objective | Indroduction to a very active research area with many gems and paradoxical results. Spark interest in fundamental problems. | |||||
Content | The course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc. | |||||
Lecture notes | the lecture notes are in German, but they are not required as the entire course material is documented also in other course material (in english). | |||||
Prerequisites / Notice | A basic understanding of fundamental cryptographic concepts (as taught for example in the course Information Security or in the course Cryptography Foundations) is useful, but not required. | |||||
263-4600-00L | Formal Methods for Information Security | W | 4 credits | 2V + 1U | R. Sasse, C. Sprenger | |
Abstract | The course focuses on formal methods for the modelling and analysis of security protocols for critical systems, ranging from authentication protocols for network security to electronic voting protocols and online banking. | |||||
Objective | The students will learn the key ideas and theoretical foundations of formal modelling and analysis of security protocols. The students will complement their theoretical knowledge by solving practical exercises, completing a small project, and using state-of-the-art tools. | |||||
Content | The course treats formal methods mainly for the modelling and analysis of security protocols. Cryptographic protocols (such as SSL/TLS, SSH, Kerberos, SAML single-sign on, and IPSec) form the basis for secure communication and business processes. Numerous attacks on published protocols show that the design of cryptographic protocols is extremely error-prone. A rigorous analysis of these protocols is therefore indispensable, and manual analysis is insufficient. The lectures cover the theoretical basis for the (tool-supported) formal modeling and analysis of such protocols. Specifically, we discuss their operational semantics, the formalization of security properties, and techniques and algorithms for their verification. In addition to the classical security properties for confidentiality and authentication, we will study strong secrecy and privacy properties. We will discuss electronic voting protocols, and RFID protocols (a staple of the Internet of Things), where these properties are central. The accompanying tutorials provide an opportunity to apply the theory and tools to concrete protocols. Moreover, we will discuss methods to abstract and refine security protocols and the link between symbolic protocol models and cryptographic models. Furthermore, we will also present a security notion for general systems based on non-interference as well as language-based information flow security where non-interference is enforced via a type system. | |||||
263-2925-00L | Program Analysis for System Security and Reliability | W | 5 credits | 2V + 1U + 1A | M. Vechev | |
Abstract | The course introduces modern analysis and synthesis techniques (both, deterministic and probabilistic) and shows how to apply these methods to build reliable and secure systems spanning the domains of blockchain, computer networks and deep learning. | |||||
Objective | * Understand how classic analysis and synthesis techniques work, including discrete and probabilistic methods. * Understand how to apply the methods to generate attacks and create defenses against applications in blockchain, computer networks and deep learning. * Understand the state-of-the-art in the area as well as future trends. | |||||
Content | The course will illustrate how the methods can be used to create more secure and reliable systems across four application domains: Part I: Analysis and Synthesis for Computer Networks: 1. Analysis: Datalog, Batfish 2. Synthesis: CEGIS, SyNET (Link) 3. Probabilistic: (PSI: Link), its applications to networks (Bayonet) Part II: Blockchain security 1. Introduction to space and tools. 2. Automated symbolic reasoning. 3. Applications: verification of smart contracts (Link) Part III: Security and Robustness of Deep Learning: 1. Basics: affine transforms, activation functions 2. Attacks: gradient based method to adversarial generation 3. Defenses: affine domains, AI2 (Link) Part IV: Probabilistic Security: 1. Enforcement: PSI + Spire. 2. Graphical models: CRFs, Structured SVM, Pseudo-likelihood. 3. Practical statistical de-obfuscation: DeGuard: Link, JSNice: Link, and more. To gain a deeper understanding, the course will involve a hands-on programming project. | |||||
Seminar in Information Security | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-4800-00L | Information & Physics Number of participants limited to 120. Previously called Quantum Information and Cryptography Um das vorhandene Angebot optimal auszunutzen, behält sich das D-INFK vor, Belegungen von Studierenden zu löschen, die sich in mehreren Veranstaltungen dieser Kategorie eingeschrieben haben, bereits die erforderlichen Leistungen in dieser Kategorie erbracht haben oder aus anderen organisatorischen Gründen nicht auf die Belegung der Veranstaltung angewiesen sind. | W | 2 credits | 4S | S. Wolf | |
Abstract | In this advanced seminar, various topics are treated in the intersection of quantum physics, information theory, and cryptography. | |||||
Objective | see above | |||||
263-2930-00L | Blockchain Security Seminar Number of participants limited to 26. | W | 2 credits | 2S | M. Vechev, D. Drachsler Cohen, P. Tsankov | |
Abstract | This seminar introduces students to the latest research trends in the field of blockchains. | |||||
Objective | The objectives of this seminar are twofold: (1) learning about the blockchain platform, a prominent technology receiving a lot of attention in computer Science and economy and (2) learning to convey and present complex and technical concepts in simple terms, and in particular identifying the core idea underlying the technicalities. | |||||
Content | This seminar introduces students to the latest research trends in the field of blockchains. The seminar covers the basics of blockchain technology, including motivation for decentralized currency, establishing trust between multiple parties using consensus algorithms, and smart contracts as a means to establish decentralized computation. It also covers security issues arising in blockchains and smart contracts as well as automated techniques for detecting vulnerabilities using programming language techniques. | |||||
Focus Courses in Information Systems | ||||||
Focus Core Courses Information Systems | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
263-2925-00L | Program Analysis for System Security and Reliability | W | 5 credits | 2V + 1U + 1A | M. Vechev | |
Abstract | The course introduces modern analysis and synthesis techniques (both, deterministic and probabilistic) and shows how to apply these methods to build reliable and secure systems spanning the domains of blockchain, computer networks and deep learning. | |||||
Objective | * Understand how classic analysis and synthesis techniques work, including discrete and probabilistic methods. * Understand how to apply the methods to generate attacks and create defenses against applications in blockchain, computer networks and deep learning. * Understand the state-of-the-art in the area as well as future trends. | |||||
Content | The course will illustrate how the methods can be used to create more secure and reliable systems across four application domains: Part I: Analysis and Synthesis for Computer Networks: 1. Analysis: Datalog, Batfish 2. Synthesis: CEGIS, SyNET (Link) 3. Probabilistic: (PSI: Link), its applications to networks (Bayonet) Part II: Blockchain security 1. Introduction to space and tools. 2. Automated symbolic reasoning. 3. Applications: verification of smart contracts (Link) Part III: Security and Robustness of Deep Learning: 1. Basics: affine transforms, activation functions 2. Attacks: gradient based method to adversarial generation 3. Defenses: affine domains, AI2 (Link) Part IV: Probabilistic Security: 1. Enforcement: PSI + Spire. 2. Graphical models: CRFs, Structured SVM, Pseudo-likelihood. 3. Practical statistical de-obfuscation: DeGuard: Link, JSNice: Link, and more. To gain a deeper understanding, the course will involve a hands-on programming project. | |||||
Focus Elective Courses Information Systems | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0312-00L | Ubiquitous Computing | W | 3 credits | 2V | F. Mattern, S. Mayer | |
Abstract | Ubiquitous computing integrates tiny wirelessly connected computers and sensors into the environment and everyday objects. Main topics: The vision of ubiquitous computing, trends in technology, smart cards, RFID, Personal Area Networks (Bluetooth), sensor networks, location awareness, privacy and security, application areas, economic and social impact. | |||||
Objective | The vision of ubiquitous computing, trends in technology, smart cards, RFID, Personal Area Networks (Bluetooth), sensor networks, location awareness, privacy and security, application areas, economic and social impact. | |||||
Lecture notes | Copies of slides will be made available | |||||
Literature | Will be provided in the lecture. To put you in the mood: Mark Weiser: The Computer for the 21st Century. Scientific American, September 1991, pp. 94-104 | |||||
252-0355-00L | Object Databases | W | 4 credits | 2V + 1U | A. K. de Spindler | |
Abstract | The course examines the principles and techniques of providing data management in object-oriented programming environments. After introducing the basics of object storage and management, we will cover semantic object models and their implementation. Finally, we discuss advanced data management services such as version models for temporal and engineering databases and for software configuration. | |||||
Objective | The goal of this course is to extend the student's knowledge of database technologies towards object-oriented solutions. Starting with basic principles, students also learn about commercial products and research projects in the domain of object-oriented data management. Apart from getting to know the characteristics of these approaches and the differences between them, the course also discusses what application requirements justify the use of object-oriented databases. Therefore, it educates students to make informed decisions on when to use what database technology. | |||||
Content | The course examines the principles and techniques of providing data management in object-oriented programming environments. It is divided into three parts that cover the road from simple object persistence, to object-oriented database management systems and to advanced data management services. In the first part, object serialisation and object-relational mapping frameworks will be introduced. Using the example of the open-source project db4o, the utilisation, architecture and functionality of a simple object-oriented database is discussed. The second part of the course is dedicated to advanced topics such as industry standards and solutions for object data management as well as storage and index technologies. Additionally, advanced data management services such as version models for temporal and engineering databases as well as for software configuration are discussed. In the third and last part of the course, an object-oriented data model that features a clear separation of typing and classification is presented. Together with the model, its implementation in terms of an object-oriented database management system is discussed also. Finally, an extension of this data model is presented that allows context-aware data to be managed. | |||||
Prerequisites / Notice | Prerequisites: Knowledge about the topics of the lectures "Introduction to Databases" and "Information Systems" is required. | |||||
252-0807-00L | Information Systems Laboratory Number of participants limited to 12. In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. Additional Labs will be listed on the Addendum. | W | 10 credits | 9P | M. Norrie | |
Abstract | The purpose of this laboratory course is to practically explore modern techniques to build large-scale distributed information systems. Participants will work in groups of three or more students, and develop projects in several phases. | |||||
Objective | The students will gain experience of working with technologies used in the design and development of information systems. | |||||
Content | First week: Kick-off meeting and project assignment Second week: Meeting with the project supervisor to discuss the goals and scope of the project. During the semester: Individual group work. Each team member should contribute to the project roughly about 10h/week, excluding any necessary reading or self-studying (e.g. the time spent to learn a new technology). In addition, it is expected that each team can meet with their supervisor on a regular basis. End of semester: Final presentation. | |||||
252-3005-00L | Natural Language Understanding | W | 4 credits | 2V + 1U | T. Hofmann, M. Ciaramita | |
Abstract | This course presents topics in natural language processing with an emphasis on modern techniques, primarily focusing on statistical and deep learning approaches. The course provides an overview of the primary areas of research in language processing as well as a detailed exploration of the models and techniques used both in research and in commercial natural language systems. | |||||
Objective | The objective of the course is to learn the basic concepts in the statistical processing of natural languages. The course will be project-oriented so that the students can also gain hands-on experience with state-of-the-art tools and techniques. | |||||
Content | This course presents an introduction to general topics and techniques used in natural language processing today, primarily focusing on statistical approaches. The course provides an overview of the primary areas of research in language processing as well as a detailed exploration of the models and techniques used both in research and in commercial natural language systems. | |||||
Literature | Lectures will make use of textbooks such as the one by Jurafsky and Martin where appropriate, but will also make use of original research and survey papers. | |||||
Seminar in Information Systems | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-3002-00L | Algorithms for Database Systems Limited number of participants. | W | 2 credits | 2S | P. Widmayer, P. Uznanski | |
Abstract | Query processing, optimization, stream-based systems, distributed and parallel databases, non-standard databases. | |||||
Objective | Develop an understanding of selected problems of current interest in the area of algorithms for database systems. | |||||
252-3100-00L | Computer Supported Cooperative Work Number of participants limited to 12. Takes place for the last time. | W | 2 credits | 2S | M. Norrie | |
Abstract | Computer-Supported Cooperative Work (CSCW) is the study of how people work together using computer technology. It is a multi-disciplinary research field dealing with the social, theoretical, practical and technical aspects of collaboration and how the use of technology can affect groups, organisations and communities. The diversity of the CSCW field is reflected in the range of topics covered. | |||||
Objective | Computer-Supported Cooperative Work (CSCW) is the study of how people work together using computer technology. It is a multi-disciplinary research field dealing with the social, theoretical, practical and technical aspects of collaboration and how the use of technology can affect groups, organisations, communities and societies. The CSCW community is interested in how people use everyday tools such as email, the web and chat systems as well as specialist groupware applications that support groups of people engaged in shared tasks such as software development or product design. A better understanding of how people communicate and work together can in turn lead to a better understanding of the problems of current technologies and systems and influence the design of new technologies and tools. | |||||
Focus Courses in Software Engineering | ||||||
Focus Core Courses Software Engineering | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
263-2925-00L | Program Analysis for System Security and Reliability | W | 5 credits | 2V + 1U + 1A | M. Vechev | |
Abstract | The course introduces modern analysis and synthesis techniques (both, deterministic and probabilistic) and shows how to apply these methods to build reliable and secure systems spanning the domains of blockchain, computer networks and deep learning. | |||||
Objective | * Understand how classic analysis and synthesis techniques work, including discrete and probabilistic methods. * Understand how to apply the methods to generate attacks and create defenses against applications in blockchain, computer networks and deep learning. * Understand the state-of-the-art in the area as well as future trends. | |||||
Content | The course will illustrate how the methods can be used to create more secure and reliable systems across four application domains: Part I: Analysis and Synthesis for Computer Networks: 1. Analysis: Datalog, Batfish 2. Synthesis: CEGIS, SyNET (Link) 3. Probabilistic: (PSI: Link), its applications to networks (Bayonet) Part II: Blockchain security 1. Introduction to space and tools. 2. Automated symbolic reasoning. 3. Applications: verification of smart contracts (Link) Part III: Security and Robustness of Deep Learning: 1. Basics: affine transforms, activation functions 2. Attacks: gradient based method to adversarial generation 3. Defenses: affine domains, AI2 (Link) Part IV: Probabilistic Security: 1. Enforcement: PSI + Spire. 2. Graphical models: CRFs, Structured SVM, Pseudo-likelihood. 3. Practical statistical de-obfuscation: DeGuard: Link, JSNice: Link, and more. To gain a deeper understanding, the course will involve a hands-on programming project. | |||||
Focus Elective Courses Software Engineering | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
263-2812-00L | Program Verification Number of participants limited to 30. | W | 5 credits | 2V + 1U + 1A | A. J. Summers | |
Abstract | A hands-on introduction to the theory and construction of deductive software verifiers, covering both cutting-edge methodologies for formal program reasoning, and a perspective over the broad tool stacks making up modern verification tools. | |||||
Objective | Students will earn the necessary skills for designing and developing deductive verification tools which can be applied to modularly analyse complex software, including features challenging for reasoning such as heap-based mutable data and concurrency. Students will learn both a variety of fundamental reasoning principles, and how these reasoning ideas can be made practical via automatic tools. Students will be gain practical experience with reasoning tools at various levels of abstraction, from SAT and SMT solvers at the lowest level, up through intermediate verification languages and tools, to verifiers which target front-end code in executable languages. By the end of the course, students should have a good working understanding and experience of the issues and decisions involved with designing and building practical verification tools, and the theoretical techniques which underpin them. | |||||
Content | The course will be organized around building up a "tool stack", starting at the lowest-level with background on SAT and SMT solving techniques, and working upwards through tools at progressively-higher levels of abstraction. The notion of intermediate verification languages will be explored, and the Boogie (Microsoft Research) and Viper (ETH) languages will be used in depth to tackle increasingly ambitious verification tasks. The course will intermix technical content with hands-on experience; at each level of abstraction, we will build small tools on top which can tackle specific program correctness problems, starting from simple puzzle solvers (Soduko) at the SAT level, and working upwards to full functional correctness of application-level code. This practical work will include three mini-projects (each worth 10% of the final grade) spread throughout the course, which count towards the final grade. An oral examination (worth 70% of the final grade) will cover the technical content covered. | |||||
Lecture notes | Slides and other materials will be available online. | |||||
Literature | Background reading material and links to tools will be published on the course website. | |||||
Prerequisites / Notice | Some programming experience is essential, as the course contains several practical assignments. A basic familiarity with propositional and first-order logic will be assumed. Courses with an emphasis on formal reasoning about programs (such as Formal Methods and Functional Programming) are advantageous background, but are not a requirement. | |||||
263-2300-00L | How To Write Fast Numerical Code Does not take place this semester. Number of participants limited to 84. Prerequisite: Master student, solid C programming skills. | W | 6 credits | 3V + 2U | M. Püschel | |
Abstract | This course introduces the student to the foundations and state-of-the-art techniques in developing high performance software for numerical functionality such as linear algebra and others. The focus is on optimizing for the memory hierarchy and for special instruction sets. Finally, the course will introduce the recent field of automatic performance tuning. | |||||
Objective | Software performance (i.e., runtime) arises through the interaction of algorithm, its implementation, and the microarchitecture the program is run on. The first goal of the course is to provide the student with an understanding of this interaction, and hence software performance, focusing on numerical or mathematical functionality. The second goal is to teach a general systematic strategy how to use this knowledge to write fast software for numerical problems. This strategy will be trained in a few homeworks and semester-long group projects. | |||||
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 software development using important functionality such as linear algebra functionality, transforms, filters, and others as examples. The course will explain how to optimize for the memory hierarchy, take advantage of special instruction sets, and, if time permits, how to write multithreaded code for multicore platforms. Much of the material is based on state-of-the-art research. Further, a general strategy for performance analysis and optimization is introduced that the students will apply in group projects that accompany the course. Finally, the course will introduce the students to the recent field of automatic performance tuning. | |||||
Seminar in Software Engineering | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
263-2100-00L | Research Topics in Software Engineering Number of participants limited to 22. | W | 2 credits | 2S | T. Gross | |
Abstract | This seminar introduces students to the latest research trends that help to improve various aspects of software quality. Topics cover the following areas of research: Compilers, domain-specific languages, concurrency, formal methods, performance optimization, program analysis, program generation, program synthesis, testing, tools, verification | |||||
Objective | At the end of the course, the students should be: - familiar with a broad range of key research results in the area as well as their applications. - know how to read and assess high quality research papers - be able to highlight practical examples/applications, limitations of existing work, and outline potential improvements. | |||||
Content | The course will be structured as a sequence of presentations of high-quality research papers, spanning both theory and practice. These papers will have typically appeared in top conferences spanning several areas such as POPL, PLDI, OOPSLA, OSDI, ASPLOS, SOSP, AAAI, ICML and others. | |||||
Literature | The publications to be presented will be announced on the seminar home page at least one week before the first session. | |||||
Prerequisites / Notice | Papers will be distributed during the first lecture. | |||||
263-2926-00L | Deep Learning for Big Code Number of participants limited to 24. | W | 2 credits | 2S | M. Vechev | |
Abstract | The seminar covers some of the latest and most exciting developments (industrial and research) in the field of Deep Learning for Code, including new methods and latest systems, as well as open challenges and opportunities. | |||||
Objective | The objective of the seminar is to: - Introduce students to the field of Deep Learning for Big Code. - Learn how machine learning models can be used to solve practical challenges in software engineering and programming beyond traditional methods. - Highlight the latest research and work opportunities in industry and academia available on this topic. | |||||
Content | The last 5 years have seen increased interest in applying advanced machine learning techniques such as deep learning to new kind of data: program code. As the size of open source code increases dramatically (over 980 billion lines of code written by humans), so comes the opportunity for new kind of deep probabilistic methods and commercial systems that leverage this data to revolutionize software creation and address hard problems not previously possible. Examples include: machines writing code, program de-obfuscation for security, code search, and many more. Interestingly, this new type of data, unlike natural language and images, introduces technical challenges not typically encountered when working with standard datasets (e.g., images, videos, natural language), for instance, finding the right representation over which deep learning operates. This in turn has the potential to drive new kinds of machine learning models with broad applicability. Because of this, there has been substantial interest over the last few years in both industry (e.g., companies such as Facebook starting, various start-ups in the space such as Link), academia (e.g., Link) and government agencies (e.g., DARPA) on using machine learning to automate various programming tasks. In this seminar, we will cover some of the latest and most exciting developments in the field of Deep Learning for Code, including new methods and latest systems, as well as open challenges and opportunities. The seminar is carried out as a set of presentations chosen from a list of available papers. The grade is determined as a function of the presentation, handling questions and answers, and participation. | |||||
Prerequisites / Notice | The seminar is carried out as a set of presentations chosen from a list of available papers. The grade is determined as a function of the presentation, handling questions and answers, and participation. The seminar is ideally suited for M.Sc. students in Computer Science. | |||||
263-2930-00L | Blockchain Security Seminar Number of participants limited to 26. | W | 2 credits | 2S | M. Vechev, D. Drachsler Cohen, P. Tsankov | |
Abstract | This seminar introduces students to the latest research trends in the field of blockchains. | |||||
Objective | The objectives of this seminar are twofold: (1) learning about the blockchain platform, a prominent technology receiving a lot of attention in computer Science and economy and (2) learning to convey and present complex and technical concepts in simple terms, and in particular identifying the core idea underlying the technicalities. | |||||
Content | This seminar introduces students to the latest research trends in the field of blockchains. The seminar covers the basics of blockchain technology, including motivation for decentralized currency, establishing trust between multiple parties using consensus algorithms, and smart contracts as a means to establish decentralized computation. It also covers security issues arising in blockchains and smart contracts as well as automated techniques for detecting vulnerabilities using programming language techniques. | |||||
Focus Courses in Theoretical Computer Science | ||||||
Focus Core Courses Theoretical Computer Science | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0407-00L | Cryptography Foundations | W | 7 credits | 3V + 2U + 1A | U. Maurer | |
Abstract | Fundamentals and applications of cryptography. Cryptography as a mathematical discipline: reductions, constructive cryptography paradigm, security proofs. The discussed primitives include cryptographic functions, pseudo-randomness, symmetric encryption and authentication, public-key encryption, key agreement, and digital signature schemes. Selected cryptanalytic techniques. | |||||
Objective | The goals are: (1) understand the basic theoretical concepts and scientific thinking in cryptography; (2) understand and apply some core cryptographic techniques and security proof methods; (3) be prepared and motivated to access the scientific literature and attend specialized courses in cryptography. | |||||
Content | See course description. | |||||
Lecture notes | yes. | |||||
Prerequisites / Notice | Familiarity with the basic cryptographic concepts as treated for example in the course "Information Security" is required but can in principle also be acquired in parallel to attending the course. | |||||
261-5110-00L | Optimization for Data Science | W | 8 credits | 3V + 2U + 2A | B. Gärtner, D. Steurer | |
Abstract | This course teaches an overview of modern optimization methods, with applications in particular for machine learning and data science. | |||||
Objective | Understanding the theoretical and practical aspects of relevant optimization methods used in data science. Learning general paradigms to deal with optimization problems arising in data science. | |||||
Content | This course teaches an overview of modern optimization methods, with applications in particular for machine learning and data science. In the first part of the course, we will discuss how classical first and second order methods such as gradient descent and Newton's method can be adapated to scale to large datasets, in theory and in practice. We also cover some new algorithms and paradigms that have been developed specifically in the context of data science. The emphasis is not so much on the application of these methods (many of which are covered in other courses), but on understanding and analyzing the methods themselves. In the second part, we discuss convex programming relaxations as a powerful and versatile paradigm for designing efficient algorithms to solve computational problems arising in data science. We will learn about this paradigm and develop a unified perspective on it through the lens of the sum-of-squares semidefinite programming hierarchy. As applications, we are discussing non-negative matrix factorization, compressed sensing and sparse linear regression, matrix completion and phase retrieval, as well as robust estimation. | |||||
Prerequisites / Notice | As background, we require material taught in the course "252-0209-00L Algorithms, Probability, and Computing". It is not necessary that participants have actually taken the course, but they should be prepared to catch up if necessary. | |||||
Focus Elective Courses Theoretical Computer Science | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0408-00L | Cryptographic Protocols | W | 5 credits | 2V + 2U | M. Hirt, U. Maurer | |
Abstract | The course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc. | |||||
Objective | Indroduction to a very active research area with many gems and paradoxical results. Spark interest in fundamental problems. | |||||
Content | The course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc. | |||||
Lecture notes | the lecture notes are in German, but they are not required as the entire course material is documented also in other course material (in english). | |||||
Prerequisites / Notice | A basic understanding of fundamental cryptographic concepts (as taught for example in the course Information Security or in the course Cryptography Foundations) is useful, but not required. | |||||
252-1403-00L | Invitation to Quantum Informatics | W | 3 credits | 2V | S. Wolf | |
Abstract | Followed by an introduction to the basic principles of quantum physics, such as superposition, interference, or entanglement, a variety of subjects are treated: Quantum algorithms, teleportation, quantum communication complexity and "pseudo-telepathy", quantum cryptography, as well as the main concepts of quantum information theory. | |||||
Objective | It is the goal of this course to get familiar with the most important notions that are of importance for the connection between Information and Physics. The formalism of Quantum Physics will be motivated and derived, and the use of these laws for information processing will be understood. In particular, the important algorithms of Grover as well as Shor will be studied and analyzed. | |||||
Content | According to Landauer, "information is physical". In quantum information, one is interested in the consequences and the possibilites offered by the laws of quantum physics for information processing. Followed by an introduction to the basic principles of quantum physics, such as superposition, interference, or entanglement, a variety of subjects are treated: Quantum algorithms, teleportation, quantum communication complexity and "pseude-telepathy", quantum cryptography, as well as the main concepts of quantum information theory. | |||||
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. | |||||
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-4110-00L | Interdisciplinary Algorithms Lab In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. Additional Labs will be listed on the Addendum. | W | 5 credits | 2P | A. Steger, D. Steurer, J. Lengler | |
Abstract | In this course students will develop solutions for algorithmic problems posed by researchers from other fields. | |||||
Objective | Students will learn that in order to tackle algorithmic problems from an interdisciplinary or applied context one needs to combine a solid understanding of algorithmic methodology with insights into the problem at hand to judge which side constraints are essential and which can be loosened. | |||||
Prerequisites / Notice | Students will work in teams. Ideally, skills of team members complement each other. Interested Bachelor students can apply for participation by sending an email to Link explaining motivation and transcripts. | |||||
263-4310-00L | Linear Algebra Methods in Combinatorics | W | 5 credits | 2V + 2U | P. Penna | |
Abstract | This course describes the linear algebra bound technique also called dimension argument. To learn the technique we discuss several examples in combinatorics, geometry, and computer science. Besides this technique, the course aims at showing the mathematical elegance of certain proofs and the simplicity of the statements. | |||||
Objective | Becoming familiar with the method and being able to apply it to problems similar to those encountered during the course. | |||||
Content | This course is (essentially) about one single technique called the "linear algebra bound" (also known as "dimension argument"). We shall see several examples in combinatorics, geometry, and computer science and learn the technique throughout these examples. Towards the end of the course, we shall see the power of this method in proving rather amazing results (e.g., a circuit complexity lower bound, explicit constructions of Ramsey graphs, and a famous conjecture in geometry disproved). The course also aims at illustrating the main ideas behind the proofs and how the various problems are in fact connected to each other. | |||||
Lecture notes | Lecture notes of each single lecture will be made available (shortly after the lecture itself). | |||||
Literature | Most of the material of the course is covered by the following book: 1. Linear algebra methods in combinatorics, by L. Babai and P. Frankl, Department of Computer Science, University of Chicago, preliminary version, 1992. Some parts are also taken from 2. Extremal Combinatorics (with Applications in Computer Science), by Stasys Jukna, Springer-Verlag 2001. | |||||
263-4312-00L | Advanced Data Structures | W | 5 credits | 2V + 2U | P. Uznanski | |
Abstract | Data structures play a central role in modern computer science and are essential building blocks in obtaining efficient algorithms. The course covers major results and research directions in data structures, that (mostly) have not yet made it into standard computer science curriculum. | |||||
Objective | Learning modern models of computation. Applying new algorithmic techniques to the construction of efficient data structures. Understanding techniques used in both lower- and upper- bound proofs on said data structures. | |||||
Content | This course will survey important developments in data structures that have not (yet) worked their way into the standard computer science curriculum. Though we will cover state of the art techniques, the presentation is relatively self-contained, and only assumes a basic undergraduate data structures course (e.g., knowledge of binary search trees). The course material includes (but is not exhausted by): - computation models and memory models - string indexing (suffix trees, suffix arrays) - search trees - static tree processing (Lowest Common Ancestor queries, Level Ancestry queries) - range queries on arrays (queries for minimal element in a given range) - integers-only data structures: how to sort integers in linear time, faster predecessor structures (van Emde Boas trees) - hashing - dynamic graphs connectivity | |||||
Prerequisites / Notice | This is a highly theoretical course. You should be comfortable with: - algorithms and data structures - probability Completing Algorithms, Probability, and Computing course (252-0209-00L) is a good indicator. | |||||
272-0301-00L | Methods for Design of Random Systems This course d o e s n o t include the Mentored Work Specialised Courses with an Educational Focus in Computer Science B. | W | 4 credits | 2V + 1U | H.‑J. Böckenhauer, D. Komm, R. Kralovic | |
Abstract | The students should get a deep understanding of the notion of randomness and its usefulness. Using basic elements probability theory and number theory the students will discover randomness as a source of efficiency in algorithmic. The goal is to teach the paradigms of design of randomized algorithms. | |||||
Objective | To understand the computational power of randomness and to learn the basic methods for designing randomized algorithms | |||||
Lecture notes | J. Hromkovic: Randomisierte Algorithmen, Teubner 2004. J.Hromkovic: Design and Analysis of Randomized Algorithms. Springer 2006. J.Hromkovic: Algorithmics for Hard Problems, Springer 2004. | |||||
Literature | J. Hromkovic: Randomisierte Algorithmen, Teubner 2004. J.Hromkovic: Design and Analysis of Randomized Algorithms. Springer 2006. J.Hromkovic: Algorithmics for Hard Problems, Springer 2004. | |||||
272-0302-00L | Approximation and Online Algorithms | W | 4 credits | 2V + 1U | H.‑J. Böckenhauer, 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. | |||||
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 | |||||
401-3052-05L | Graph Theory | W | 5 credits | 2V + 1U | B. Sudakov | |
Abstract | Basic notions, trees, spanning trees, Caley's formula, vertex and edge connectivity, blocks, 2-connectivity, Mader's theorem, Menger's theorem, Eulerian graphs, Hamilton cycles, Dirac's theorem, matchings, theorems of Hall, König and Tutte, planar graphs, Euler's formula, basic non-planar graphs, graph colorings, greedy colorings, Brooks' theorem, 5-colorings of planar graphs | |||||
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 | NOTICE: This course unit was previously offered as 252-1408-00L Graphs and Algorithms. | |||||
401-3903-11L | Geometric Integer Programming | W | 6 credits | 2V + 1U | R. Weismantel | |
Abstract | Integer programming is the task of minimizing a linear function over all the integer points in a polyhedron. This lecture introduces the key concepts of an algorithmic theory for solving such problems. | |||||
Objective | The purpose of the lecture is to provide a geometric treatment of the theory of integer optimization. | |||||
Content | Key topics are: - lattice theory and the polynomial time solvability of integer optimization problems in fixed dimension, - the theory of integral generating sets and its connection to totally dual integral systems, - finite cutting plane algorithms based on lattices and integral generating sets. | |||||
Lecture notes | not available, blackboard presentation | |||||
Literature | Bertsimas, Weismantel: Optimization over Integers, Dynamic Ideas 2005. Schrijver: Theory of linear and integer programming, Wiley, 1986. | |||||
Prerequisites / Notice | "Mathematical Optimization" (401-3901-00L) | |||||
401-4904-00L | Combinatorial Optimization | W | 6 credits | 2V + 1U | R. Zenklusen | |
Abstract | Combinatorial Optimization deals with efficiently finding a provably strong solution among a finite set of options. This course discusses key combinatorial structures and techniques to design efficient algorithms for combinatorial optimization problems. We put a strong emphasis on polyhedral methods, which proved to be a powerful and unifying tool throughout combinatorial optimization. | |||||
Objective | The goal of this lecture is to get a thorough understanding of various modern combinatorial optimization techniques with an emphasis on polyhedral approaches. Students will learn a general toolbox to tackle a wide range of combinatorial optimization problems. | |||||
Content | Key topics include: - Polyhedral descriptions; - Combinatorial uncrossing; - Ellipsoid method; - Equivalence between separation and optimization; - Design of efficient approximation algorithms for hard problems. | |||||
Lecture notes | Lecture notes will be available online. | |||||
Literature | - Bernhard Korte, Jens Vygen: Combinatorial Optimization. 5th edition, Springer, 2012. - Alexander Schrijver: Combinatorial Optimization: Polyhedra and Efficiency, Springer, 2003. This work has 3 volumes. | |||||
Prerequisites / Notice | Prior exposure to Linear Programming can greatly help the understanding of the material. We therefore recommend that students interested in Combinatorial Optimization get familiarized with Linear Programming before taking this lecture. | |||||
272-0300-00L | 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 | 4 credits | 2V + 1U | J. Hromkovic | |
Abstract | This course unit looks into algorithmic approaches to the solving of hard problems. The seminar is accompanied by a comprehensive reflection upon the significance of the approaches presented for computer science tuition at high schools. | |||||
Objective | To systematically acquire an overview of the methods for solving hard problems. | |||||
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. | |||||
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, D. Kratsch: Exact Exponential Algorithms, 2010. | |||||
Seminar in Theoretical Computer Science | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-3002-00L | Algorithms for Database Systems Limited number of participants. | W | 2 credits | 2S | P. Widmayer, P. Uznanski | |
Abstract | Query processing, optimization, stream-based systems, distributed and parallel databases, non-standard databases. | |||||
Objective | Develop an understanding of selected problems of current interest in the area of algorithms for database systems. | |||||
252-4102-00L | Seminar on Randomized Algorithms and Probabilistic Methods | W | 2 credits | 2S | A. Steger | |
Abstract | The aim of the seminar is to study papers which bring the students to the forefront of today's research topics. This semester we will study selected papers of the conference Symposium on Discrete Algorithms (SODA18). | |||||
Objective | Read papers from the forefront of today's research; learn how to give a scientific talk. | |||||
Prerequisites / Notice | The seminar is open for both students from mathematics and students from computer science. As prerequisite we require that you passed the course Randomized Algorithms and Probabilistic Methods (or equivalent, if you come from abroad). | |||||
252-4202-00L | Seminar in Theoretical Computer Science | W | 2 credits | 2S | E. Welzl, B. Gärtner, M. Hoffmann, J. Lengler, A. Steger, B. Sudakov | |
Abstract | Presentation of recent publications in theoretical computer science, including results by diploma, masters and doctoral candidates. | |||||
Objective | To get an overview of current research in the areas covered by the involved research groups. To present results from the literature. | |||||
252-4302-00L | Seminar Algorithmic Game Theory Limited number of participants. | W | 2 credits | 2S | P. Widmayer, P. Penna | |
Abstract | In the seminar we will get familiar with the current original research in the area of algorithmic game theory by reading and presenting selected research papers in that area. | |||||
Objective | Develop an understanding of selected problems of current interest in the area of algorithmic game theory, and a practice of a scientific presentation. | |||||
Content | Study and understanding of selected topics of current interest in algorithmic game theory such as: Complexity Results (class PPAD, PLS, NP), Sponsored Search, Approximation Algorithms via Algorithmic Game Theory, Price of Anarchy, New paradigms of computation (e.g., envy-fee, truthful), Mechanism Design. | |||||
Literature | Selected research articles. | |||||
Prerequisites / Notice | You must have passed our "Algorithmic Game Theory" class (or have acquired equivalent knowledge, in exceptional cases). | |||||
252-4800-00L | Information & Physics Number of participants limited to 120. Previously called Quantum Information and Cryptography Um das vorhandene Angebot optimal auszunutzen, behält sich das D-INFK vor, Belegungen von Studierenden zu löschen, die sich in mehreren Veranstaltungen dieser Kategorie eingeschrieben haben, bereits die erforderlichen Leistungen in dieser Kategorie erbracht haben oder aus anderen organisatorischen Gründen nicht auf die Belegung der Veranstaltung angewiesen sind. | W | 2 credits | 4S | S. Wolf | |
Abstract | In this advanced seminar, various topics are treated in the intersection of quantum physics, information theory, and cryptography. | |||||
Objective | see above | |||||
263-4203-00L | Geometry: Combinatorics and Algorithms | W | 2 credits | 2S | M. Hoffmann, E. Welzl, L. F. Barba Flores, P. Valtr | |
Abstract | This seminar complements the course Geometry: Combinatorics & Algorithms. Students of the seminar will present original research papers, some classic and some of them very recent. | |||||
Objective | Each student is expected to read, understand, and elaborate on a selected research paper. To this end, (s)he should give a 45-min. presentation about the paper. The process includes * getting an overview of the related literature; * understanding and working out the background/motivation: why and where are the questions addressed relevant? * understanding the contents of the paper in all details; * selecting parts suitable for the presentation; * presenting the selected parts in such a way that an audience with some basic background in geometry and graph theory can easily understand and appreciate it. | |||||
Content | This seminar is held once a year and complements the course Geometry: Combinatorics & Algorithms. Students of the seminar will present original research papers, some classic and some of them very recent. The seminar is a good preparation for a master, diploma, or semester thesis in the area. | |||||
Prerequisites / Notice | Prerequisite: Successful participation in the course "Geometry: Combinatorics & Algorithms" (takes place every HS) is required. | |||||
Focus Courses in Visual Computing | ||||||
Focus Core Courses Visual Computing | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0538-00L | Shape Modeling and Geometry Processing | W | 5 credits | 2V + 1U + 1A | S. Coros | |
Abstract | This course covers some of the latest developments in geometric modeling and digital geometry processing. Topics include surface modeling based on polygonal meshes, mesh generation, surface reconstruction, mesh fairing and simplification, discrete differential geometry, interactive shape editing, topics in digital shape fabrication. | |||||
Objective | The students will learn how to design, program and analyze algorithms and systems for interactive 3D shape modeling and digital geometry processing. | |||||
Content | Recent advances in 3D digital geometry processing have created a plenitude of novel concepts for the mathematical representation and interactive manipulation of geometric models. This course covers some of the latest developments in geometric modeling and digital geometry processing. Topics include surface modeling based on triangle meshes, mesh generation, surface reconstruction, mesh fairing and simplification, 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. Some background in geometry or computational geometry is helpful, but not necessary. | |||||
Focus Elective Courses Visual Computing | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0526-00L | Statistical Learning Theory | W | 6 credits | 2V + 3P | J. M. Buhmann | |
Abstract | The course covers advanced methods of statistical learning : Statistical learning theory;variational methods and optimization, e.g., maximum entropy techniques, information bottleneck, deterministic and simulated annealing; clustering for vectorial, histogram and relational data; model selection; graphical models. | |||||
Objective | The course surveys recent methods of statistical learning. The fundamentals of machine learning as presented in the course "Introduction to Machine Learning" are expanded and in particular, the theory of statistical learning is discussed. | |||||
Content | # Theory of estimators: How can we measure the quality of a statistical estimator? We already discussed bias and variance of estimators very briefly, but the interesting part is yet to come. # Variational methods and optimization: We consider optimization approaches for problems where the optimizer is a probability distribution. Concepts we will discuss in this context include: * Maximum Entropy * Information Bottleneck * Deterministic Annealing # Clustering: The problem of sorting data into groups without using training samples. This requires a definition of ``similarity'' between data points and adequate optimization procedures. # Model selection: We have already discussed how to fit a model to a data set in ML I, which usually involved adjusting model parameters for a given type of model. Model selection refers to the question of how complex the chosen model should be. As we already know, simple and complex models both have advantages and drawbacks alike. # Statistical physics models: approaches for large systems approximate optimization, which originate in the statistical physics (free energy minimization applied to spin glasses and other models); sampling methods based on these models | |||||
Lecture notes | A draft of a script will be provided; transparencies of the lectures 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 | Requirements: knowledge of the Machine Learning course basic knowledge of statistics, interest in statistical methods. It is recommended that Introduction to Machine Learning (ML I) is taken first; but with a little extra effort Statistical Learning Theory can be followed without the introductory course. | |||||
252-0570-00L | Game Programming Laboratory In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. Additional Labs will be listed on the Addendum. | W | 10 credits | 9P | B. Sumner | |
Abstract | The goal of this course is the in-depth understanding of the technology and programming underlying computer games. Students gradually design and develop a computer game in small groups and get acquainted with the art of game programming. | |||||
Objective | The goal of this new course is to acquaint students with the technology and art of programming modern three-dimensional computer games. | |||||
Content | This is a new course that addresses modern three-dimensional computer game technology. During the course, small groups of students will design and develop a computer game. Focus will be put on technical aspects of game development, such as rendering, cinematography, interaction, physics, animation, and AI. In addition, we will cultivate creative thinking for advanced gameplay and visual effects. The "laboratory" format involves a practical, hands-on approach with neither traditional lectures nor exercises. Instead, we will meet once a week to discuss technical issues and to track progress. We plan to utilize Microsoft's XNA Game Studio Express, which is a collection libraries and tools that facilitate game development. While development will take place on PCs, we will ultimately deploy our games on the XBox 360 console. At the end of the course we will present our results to the public. | |||||
Lecture notes | Online XNA documentation. | |||||
Prerequisites / Notice | The number of participants is limited. Prerequisites include: - good programming skills (Java, C++, C#, etc.) - CG experience: Students should have taken, at a minimum, Visual Computing. Higher level courses are recommended, such as Introduction to Computer Graphics, Surface Representations and Geometric Modeling, and Physically-based Simulation in Computer Graphics. | |||||
252-0579-00L | 3D Vision | W | 4 credits | 3G | T. Sattler, M. R. Oswald | |
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. | |||||
252-5706-00L | Mathematical Foundations of Computer Graphics and Vision | W | 4 credits | 2V + 1U | M. R. Oswald, C. Öztireli | |
Abstract | This course presents the fundamental mathematical tools and concepts used in computer graphics and vision. Each theoretical topic is introduced in the context of practical vision or graphic problems, showcasing its importance in real-world applications. | |||||
Objective | The main goal is to equip the students with the key mathematical tools necessary to understand state-of-the-art algorithms in vision and graphics. In addition to the theoretical part, the students will learn how to use these mathematical tools to solve a wide range of practical problems in visual computing. After successfully completing this course, the students will be able to apply these mathematical concepts and tools to practical industrial and academic projects in visual computing. | |||||
Content | The theory behind various mathematical concepts and tools will be introduced, and their practical utility will be showcased in diverse applications in computer graphics and vision. The course will cover topics in sampling, reconstruction, approximation, optimization, robust fitting, differentiation, quadrature and spectral methods. Applications will include 3D surface reconstruction, camera pose estimation, image editing, data projection, character animation, structure-aware geometry processing, and rendering. | |||||
263-3710-00L | Machine Perception Students, who have already taken 263-3700-00 User Interface Engineering are not allowed to register for this course! | W | 5 credits | 2V + 1U + 1A | O. Hilliges | |
Abstract | Recent developments in neural network (aka “deep learning”) have drastically advanced the performance of machine perception systems in a variety of areas including drones, self-driving cars and intelligent UIs. This course is a deep dive into details of the deep learning algorithms and architectures for a variety of perceptual tasks. | |||||
Objective | Students will learn about fundamental aspects of modern deep learning approaches for perception. Students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in learning-based computer vision, robotics and HCI. The final project assignment will involve training a complex neural network architecture and applying it on a real-world dataset of human motion. The core competency acquired through this course is a solid foundation in deep-learning algorithms to process and interpret human input into computing systems. In particular, students should be able to develop systems that deal with the problem of recognizing people in images, detecting and describing body parts, inferring their spatial configuration, performing action/gesture recognition from still images or image sequences, also considering multi-modal data, among others. | |||||
Content | We will focus on teaching how to set up the problem of machine perception, the learning algorithms (e.g. backpropagation), practical engineering aspects as well as advanced deep learning algorithms including generative models. The course covers the following main areas: I) Machine-learning algorithms for input recognition, computer vision and image classification (human pose, object detection, gestures, etc.) II) Deep-learning models for the analysis of time-series data (temporal sequences of motion) III) Learning of generative models for synthesis and prediction of human activity. Specific topics include: • Deep learning basics: ○ Neural Networks and training (i.e., backpropagation) ○ Feedforward Networks ○ Recurrent Neural Networks • Deep Learning techniques user input recognition: ○ Convolutional Neural Networks for classification ○ Fully Convolutional architectures for dense per-pixel tasks (i.e., segmentation) ○ LSTMs & related for time series analysis ○ Generative Models (GANs, Variational Autoencoders) • Case studies from research in computer vision, HCI, robotics and signal processing | |||||
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 is not meant as extensive tutorial of how to train deep networks with Tensorflow.. Please take note of the following conditions: 1) The number of participants is limited to 100 students (MSc and PhDs). 2) Students must have taken the exam in Machine Learning (252-0535-00) or have acquired equivalent knowledge 3) All practical exercises will require basic knowledge of Python and will use libraries such as TensorFlow, scikit-learn and scikit-image. We will provide introductions to TensorFlow and other libraries that are needed but will not provide introductions to basic programming or Python. The following courses are strongly recommended as prerequisite: * "Machine Learning" * "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. | |||||
227-1034-00L | Computational Vision (University of Zurich) No enrolment to this course at ETH Zurich. Book the corresponding module directly at UZH. UZH Module Code: INI402 Mind the enrolment deadlines at UZH: Link | W | 6 credits | 2V + 1U | D. Kiper, K. A. Martin | |
Abstract | This course focuses on neural computations that underlie visual perception. We study how visual signals are processed in the retina, LGN and visual cortex. We study the morpholgy and functional architecture of cortical circuits responsible for pattern, motion, color, and three-dimensional vision. | |||||
Objective | This course considers the operation of circuits in the process of neural computations. The evolution of neural systems will be considered to demonstrate how neural structures and mechanisms are optimised for energy capture, transduction, transmission and representation of information. Canonical brain circuits will be described as models for the analysis of sensory information. The concept of receptive fields will be introduced and their role in coding spatial and temporal information will be considered. The constraints of the bandwidth of neural channels and the mechanisms of normalization by neural circuits will be discussed. The visual system will form the basis of case studies in the computation of form, depth, and motion. The role of multiple channels and collective computations for object recognition will be considered. Coordinate transformations of space and time by cortical and subcortical mechanisms will be analysed. The means by which sensory and motor systems are integrated to allow for adaptive behaviour will be considered. | |||||
Content | This course considers the operation of circuits in the process of neural computations. The evolution of neural systems will be considered to demonstrate how neural structures and mechanisms are optimised for energy capture, transduction, transmission and representation of information. Canonical brain circuits will be described as models for the analysis of sensory information. The concept of receptive fields will be introduced and their role in coding spatial and temporal information will be considered. The constraints of the bandwidth of neural channels and the mechanisms of normalization by neural circuits will be discussed. The visual system will form the basis of case studies in the computation of form, depth, and motion. The role of multiple channels and collective computations for object recognition will be considered. Coordinate transformations of space and time by cortical and subcortical mechanisms will be analysed. The means by which sensory and motor systems are integrated to allow for adaptive behaviour will be considered. | |||||
Literature | Books: (recommended references, not required) 1. An Introduction to Natural Computation, D. Ballard (Bradford Books, MIT Press) 1997. 2. The Handbook of Brain Theorie and Neural Networks, M. Arbib (editor), (MIT Press) 1995. | |||||
Seminar in Visual Computing | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-5704-00L | Advanced Methods in Computer Graphics Number of participants limited to 24. | W | 2 credits | 2S | M. Gross | |
Abstract | This seminar covers advanced topics in computer graphics with a focus on the latest research results. Topics include modeling, rendering, visualization, animation, physical simulation, computational photography, and others. | |||||
Objective | The goal is to obtain an in-depth understanding of actual problems and research topics in the field of computer graphics as well as improve presentation and critical analysis skills. | |||||
263-5904-00L | Deep Learning for Computer Vision: Seminal Work Number of participants limited to 24. | W | 2 credits | 2S | T. Sattler, L. M. Koch | |
Abstract | This seminar covers seminal papers on the topic of deep learning for computer vision. The students will present and discuss the papers and gain an understanding of the most influential research in this area - both past and present. | |||||
Objective | The objectives of this seminar are two-fold. Firstly, the aim is to provide a solid understanding of key contributions to the field of deep learning for vision (including a historical perspective as well as recent work). Secondly, the students will learn to critically read and analyse original research papers and judge their impact, as well as how to give a scientific presentation and lead a discussion on their topic. | |||||
Content | The seminar will start with introductory lectures to provide (1) a compact overview of challenges and relevant machine learning and deep learning research, and (2) a tutorial on critical analysis and presentation of research papers. Each student then chooses one paper from the provided collection to present during the remainder of the seminar. The students will be supported in the preparation of their presentation by the seminar assistants. | |||||
Lecture notes | The selection of research papers will be presented at the beginning of the semester. | |||||
Literature | The course "Machine Learning" is recommended. | |||||
Focus Courses General Studies | ||||||
Core Focus Courses General Studies | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0407-00L | Cryptography Foundations | W | 7 credits | 3V + 2U + 1A | U. Maurer | |
Abstract | Fundamentals and applications of cryptography. Cryptography as a mathematical discipline: reductions, constructive cryptography paradigm, security proofs. The discussed primitives include cryptographic functions, pseudo-randomness, symmetric encryption and authentication, public-key encryption, key agreement, and digital signature schemes. Selected cryptanalytic techniques. | |||||
Objective | The goals are: (1) understand the basic theoretical concepts and scientific thinking in cryptography; (2) understand and apply some core cryptographic techniques and security proof methods; (3) be prepared and motivated to access the scientific literature and attend specialized courses in cryptography. | |||||
Content | See course description. | |||||
Lecture notes | yes. | |||||
Prerequisites / Notice | Familiarity with the basic cryptographic concepts as treated for example in the course "Information Security" is required but can in principle also be acquired in parallel to attending the course. | |||||
252-0538-00L | Shape Modeling and Geometry Processing | W | 5 credits | 2V + 1U + 1A | S. Coros | |
Abstract | This course covers some of the latest developments in geometric modeling and digital geometry processing. Topics include surface modeling based on polygonal meshes, mesh generation, surface reconstruction, mesh fairing and simplification, discrete differential geometry, interactive shape editing, topics in digital shape fabrication. | |||||
Objective | The students will learn how to design, program and analyze algorithms and systems for interactive 3D shape modeling and digital geometry processing. | |||||
Content | Recent advances in 3D digital geometry processing have created a plenitude of novel concepts for the mathematical representation and interactive manipulation of geometric models. This course covers some of the latest developments in geometric modeling and digital geometry processing. Topics include surface modeling based on triangle meshes, mesh generation, surface reconstruction, mesh fairing and simplification, 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. Some background in geometry or computational geometry is helpful, but not necessary. | |||||
261-5110-00L | Optimization for Data Science | W | 8 credits | 3V + 2U + 2A | B. Gärtner, D. Steurer | |
Abstract | This course teaches an overview of modern optimization methods, with applications in particular for machine learning and data science. | |||||
Objective | Understanding the theoretical and practical aspects of relevant optimization methods used in data science. Learning general paradigms to deal with optimization problems arising in data science. | |||||
Content | This course teaches an overview of modern optimization methods, with applications in particular for machine learning and data science. In the first part of the course, we will discuss how classical first and second order methods such as gradient descent and Newton's method can be adapated to scale to large datasets, in theory and in practice. We also cover some new algorithms and paradigms that have been developed specifically in the context of data science. The emphasis is not so much on the application of these methods (many of which are covered in other courses), but on understanding and analyzing the methods themselves. In the second part, we discuss convex programming relaxations as a powerful and versatile paradigm for designing efficient algorithms to solve computational problems arising in data science. We will learn about this paradigm and develop a unified perspective on it through the lens of the sum-of-squares semidefinite programming hierarchy. As applications, we are discussing non-negative matrix factorization, compressed sensing and sparse linear regression, matrix completion and phase retrieval, as well as robust estimation. | |||||
Prerequisites / Notice | As background, we require material taught in the course "252-0209-00L Algorithms, Probability, and Computing". It is not necessary that participants have actually taken the course, but they should be prepared to catch up if necessary. | |||||
263-2925-00L | Program Analysis for System Security and Reliability | W | 5 credits | 2V + 1U + 1A | M. Vechev | |
Abstract | The course introduces modern analysis and synthesis techniques (both, deterministic and probabilistic) and shows how to apply these methods to build reliable and secure systems spanning the domains of blockchain, computer networks and deep learning. | |||||
Objective | * Understand how classic analysis and synthesis techniques work, including discrete and probabilistic methods. * Understand how to apply the methods to generate attacks and create defenses against applications in blockchain, computer networks and deep learning. * Understand the state-of-the-art in the area as well as future trends. | |||||
Content | The course will illustrate how the methods can be used to create more secure and reliable systems across four application domains: Part I: Analysis and Synthesis for Computer Networks: 1. Analysis: Datalog, Batfish 2. Synthesis: CEGIS, SyNET (Link) 3. Probabilistic: (PSI: Link), its applications to networks (Bayonet) Part II: Blockchain security 1. Introduction to space and tools. 2. Automated symbolic reasoning. 3. Applications: verification of smart contracts (Link) Part III: Security and Robustness of Deep Learning: 1. Basics: affine transforms, activation functions 2. Attacks: gradient based method to adversarial generation 3. Defenses: affine domains, AI2 (Link) Part IV: Probabilistic Security: 1. Enforcement: PSI + Spire. 2. Graphical models: CRFs, Structured SVM, Pseudo-likelihood. 3. Practical statistical de-obfuscation: DeGuard: Link, JSNice: Link, and more. To gain a deeper understanding, the course will involve a hands-on programming project. | |||||
227-0558-00L | Principles of Distributed Computing | W | 6 credits | 2V + 2U + 1A | R. Wattenhofer, M. Ghaffari | |
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.) | |||||
263-2300-00L | How To Write Fast Numerical Code Does not take place this semester. Number of participants limited to 84. Prerequisite: Master student, solid C programming skills. | W | 6 credits | 3V + 2U | M. Püschel | |
Abstract | This course introduces the student to the foundations and state-of-the-art techniques in developing high performance software for numerical functionality such as linear algebra and others. The focus is on optimizing for the memory hierarchy and for special instruction sets. Finally, the course will introduce the recent field of automatic performance tuning. | |||||
Objective | Software performance (i.e., runtime) arises through the interaction of algorithm, its implementation, and the microarchitecture the program is run on. The first goal of the course is to provide the student with an understanding of this interaction, and hence software performance, focusing on numerical or mathematical functionality. The second goal is to teach a general systematic strategy how to use this knowledge to write fast software for numerical problems. This strategy will be trained in a few homeworks and semester-long group projects. | |||||
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 software development using important functionality such as linear algebra functionality, transforms, filters, and others as examples. The course will explain how to optimize for the memory hierarchy, take advantage of special instruction sets, and, if time permits, how to write multithreaded code for multicore platforms. Much of the material is based on state-of-the-art research. Further, a general strategy for performance analysis and optimization is introduced that the students will apply in group projects that accompany the course. Finally, the course will introduce the students to the recent field of automatic performance tuning. | |||||
Elective Focus Courses General Studies | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0312-00L | Ubiquitous Computing | W | 3 credits | 2V | F. Mattern, S. Mayer | |
Abstract | Ubiquitous computing integrates tiny wirelessly connected computers and sensors into the environment and everyday objects. Main topics: The vision of ubiquitous computing, trends in technology, smart cards, RFID, Personal Area Networks (Bluetooth), sensor networks, location awareness, privacy and security, application areas, economic and social impact. | |||||
Objective | The vision of ubiquitous computing, trends in technology, smart cards, RFID, Personal Area Networks (Bluetooth), sensor networks, location awareness, privacy and security, application areas, economic and social impact. | |||||
Lecture notes | Copies of slides will be made available | |||||
Literature | Will be provided in the lecture. To put you in the mood: Mark Weiser: The Computer for the 21st Century. Scientific American, September 1991, pp. 94-104 | |||||
252-0355-00L | Object Databases | W | 4 credits | 2V + 1U | A. K. de Spindler | |
Abstract | The course examines the principles and techniques of providing data management in object-oriented programming environments. After introducing the basics of object storage and management, we will cover semantic object models and their implementation. Finally, we discuss advanced data management services such as version models for temporal and engineering databases and for software configuration. | |||||
Objective | The goal of this course is to extend the student's knowledge of database technologies towards object-oriented solutions. Starting with basic principles, students also learn about commercial products and research projects in the domain of object-oriented data management. Apart from getting to know the characteristics of these approaches and the differences between them, the course also discusses what application requirements justify the use of object-oriented databases. Therefore, it educates students to make informed decisions on when to use what database technology. | |||||
Content | The course examines the principles and techniques of providing data management in object-oriented programming environments. It is divided into three parts that cover the road from simple object persistence, to object-oriented database management systems and to advanced data management services. In the first part, object serialisation and object-relational mapping frameworks will be introduced. Using the example of the open-source project db4o, the utilisation, architecture and functionality of a simple object-oriented database is discussed. The second part of the course is dedicated to advanced topics such as industry standards and solutions for object data management as well as storage and index technologies. Additionally, advanced data management services such as version models for temporal and engineering databases as well as for software configuration are discussed. In the third and last part of the course, an object-oriented data model that features a clear separation of typing and classification is presented. Together with the model, its implementation in terms of an object-oriented database management system is discussed also. Finally, an extension of this data model is presented that allows context-aware data to be managed. | |||||
Prerequisites / Notice | Prerequisites: Knowledge about the topics of the lectures "Introduction to Databases" and "Information Systems" is required. | |||||
252-0408-00L | Cryptographic Protocols | W | 5 credits | 2V + 2U | M. Hirt, U. Maurer | |
Abstract | The course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc. | |||||
Objective | Indroduction to a very active research area with many gems and paradoxical results. Spark interest in fundamental problems. | |||||
Content | The course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc. | |||||
Lecture notes | the lecture notes are in German, but they are not required as the entire course material is documented also in other course material (in english). | |||||
Prerequisites / Notice | A basic understanding of fundamental cryptographic concepts (as taught for example in the course Information Security or in the course Cryptography Foundations) is useful, but not required. | |||||
252-0526-00L | Statistical Learning Theory | W | 6 credits | 2V + 3P | J. M. Buhmann | |
Abstract | The course covers advanced methods of statistical learning : Statistical learning theory;variational methods and optimization, e.g., maximum entropy techniques, information bottleneck, deterministic and simulated annealing; clustering for vectorial, histogram and relational data; model selection; graphical models. | |||||
Objective | The course surveys recent methods of statistical learning. The fundamentals of machine learning as presented in the course "Introduction to Machine Learning" are expanded and in particular, the theory of statistical learning is discussed. | |||||
Content | # Theory of estimators: How can we measure the quality of a statistical estimator? We already discussed bias and variance of estimators very briefly, but the interesting part is yet to come. # Variational methods and optimization: We consider optimization approaches for problems where the optimizer is a probability distribution. Concepts we will discuss in this context include: * Maximum Entropy * Information Bottleneck * Deterministic Annealing # Clustering: The problem of sorting data into groups without using training samples. This requires a definition of ``similarity'' between data points and adequate optimization procedures. # Model selection: We have already discussed how to fit a model to a data set in ML I, which usually involved adjusting model parameters for a given type of model. Model selection refers to the question of how complex the chosen model should be. As we already know, simple and complex models both have advantages and drawbacks alike. # Statistical physics models: approaches for large systems approximate optimization, which originate in the statistical physics (free energy minimization applied to spin glasses and other models); sampling methods based on these models | |||||
Lecture notes | A draft of a script will be provided; transparencies of the lectures 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 | Requirements: knowledge of the Machine Learning course basic knowledge of statistics, interest in statistical methods. It is recommended that Introduction to Machine Learning (ML I) is taken first; but with a little extra effort Statistical Learning Theory can be followed without the introductory course. | |||||
252-0570-00L | Game Programming Laboratory In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. Additional Labs will be listed on the Addendum. | W | 10 credits | 9P | B. Sumner | |
Abstract | The goal of this course is the in-depth understanding of the technology and programming underlying computer games. Students gradually design and develop a computer game in small groups and get acquainted with the art of game programming. | |||||
Objective | The goal of this new course is to acquaint students with the technology and art of programming modern three-dimensional computer games. | |||||
Content | This is a new course that addresses modern three-dimensional computer game technology. During the course, small groups of students will design and develop a computer game. Focus will be put on technical aspects of game development, such as rendering, cinematography, interaction, physics, animation, and AI. In addition, we will cultivate creative thinking for advanced gameplay and visual effects. The "laboratory" format involves a practical, hands-on approach with neither traditional lectures nor exercises. Instead, we will meet once a week to discuss technical issues and to track progress. We plan to utilize Microsoft's XNA Game Studio Express, which is a collection libraries and tools that facilitate game development. While development will take place on PCs, we will ultimately deploy our games on the XBox 360 console. At the end of the course we will present our results to the public. | |||||
Lecture notes | Online XNA documentation. | |||||
Prerequisites / Notice | The number of participants is limited. Prerequisites include: - good programming skills (Java, C++, C#, etc.) - CG experience: Students should have taken, at a minimum, Visual Computing. Higher level courses are recommended, such as Introduction to Computer Graphics, Surface Representations and Geometric Modeling, and Physically-based Simulation in Computer Graphics. | |||||
252-0579-00L | 3D Vision | W | 4 credits | 3G | T. Sattler, M. R. Oswald | |
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. | |||||
252-0807-00L | Information Systems Laboratory Number of participants limited to 12. In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. Additional Labs will be listed on the Addendum. | W | 10 credits | 9P | M. Norrie | |
Abstract | The purpose of this laboratory course is to practically explore modern techniques to build large-scale distributed information systems. Participants will work in groups of three or more students, and develop projects in several phases. | |||||
Objective | The students will gain experience of working with technologies used in the design and development of information systems. | |||||
Content | First week: Kick-off meeting and project assignment Second week: Meeting with the project supervisor to discuss the goals and scope of the project. During the semester: Individual group work. Each team member should contribute to the project roughly about 10h/week, excluding any necessary reading or self-studying (e.g. the time spent to learn a new technology). In addition, it is expected that each team can meet with their supervisor on a regular basis. End of semester: Final presentation. | |||||
252-0817-00L | Distributed Systems Laboratory In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. Additional Labs will be listed on the Addendum. | W | 10 credits | 9P | G. Alonso, T. Hoefler, F. Mattern, T. Roscoe, A. Singla, R. Wattenhofer, C. Zhang | |
Abstract | This course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including as well wireless networks, ad-hoc networks, and distributed application on mobile phones. | |||||
Objective | Students acquire practical knowledge about technologies from the area of distributed systems. | |||||
Content | This course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including as well wireless networks, ad-hoc networks, and distributed application on mobile phones. The objecte of the project is for the students to gain hands-on-experience with real products and the latest technology in distributed systems. There is no lecture associated to the course. For information of the course or projects available, please contact Prof. Mattern, Prof. Wattenhofer, Prof. Roscoe or Prof. G. Alonso. | |||||
252-1403-00L | Invitation to Quantum Informatics | W | 3 credits | 2V | S. Wolf | |
Abstract | Followed by an introduction to the basic principles of quantum physics, such as superposition, interference, or entanglement, a variety of subjects are treated: Quantum algorithms, teleportation, quantum communication complexity and "pseudo-telepathy", quantum cryptography, as well as the main concepts of quantum information theory. | |||||
Objective | It is the goal of this course to get familiar with the most important notions that are of importance for the connection between Information and Physics. The formalism of Quantum Physics will be motivated and derived, and the use of these laws for information processing will be understood. In particular, the important algorithms of Grover as well as Shor will be studied and analyzed. | |||||
Content | According to Landauer, "information is physical". In quantum information, one is interested in the consequences and the possibilites offered by the laws of quantum physics for information processing. Followed by an introduction to the basic principles of quantum physics, such as superposition, interference, or entanglement, a variety of subjects are treated: Quantum algorithms, teleportation, quantum communication complexity and "pseude-telepathy", quantum cryptography, as well as the main concepts of quantum information theory. | |||||
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. | |||||
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. | |||||
252-3005-00L | Natural Language Understanding | W | 4 credits | 2V + 1U | T. Hofmann, M. Ciaramita | |
Abstract | This course presents topics in natural language processing with an emphasis on modern techniques, primarily focusing on statistical and deep learning approaches. The course provides an overview of the primary areas of research in language processing as well as a detailed exploration of the models and techniques used both in research and in commercial natural language systems. | |||||
Objective | The objective of the course is to learn the basic concepts in the statistical processing of natural languages. The course will be project-oriented so that the students can also gain hands-on experience with state-of-the-art tools and techniques. | |||||
Content | This course presents an introduction to general topics and techniques used in natural language processing today, primarily focusing on statistical approaches. The course provides an overview of the primary areas of research in language processing as well as a detailed exploration of the models and techniques used both in research and in commercial natural language systems. | |||||
Literature | Lectures will make use of textbooks such as the one by Jurafsky and Martin where appropriate, but will also make use of original research and survey papers. | |||||
252-5706-00L | Mathematical Foundations of Computer Graphics and Vision | W | 4 credits | 2V + 1U | M. R. Oswald, C. Öztireli | |
Abstract | This course presents the fundamental mathematical tools and concepts used in computer graphics and vision. Each theoretical topic is introduced in the context of practical vision or graphic problems, showcasing its importance in real-world applications. | |||||
Objective | The main goal is to equip the students with the key mathematical tools necessary to understand state-of-the-art algorithms in vision and graphics. In addition to the theoretical part, the students will learn how to use these mathematical tools to solve a wide range of practical problems in visual computing. After successfully completing this course, the students will be able to apply these mathematical concepts and tools to practical industrial and academic projects in visual computing. | |||||
Content | The theory behind various mathematical concepts and tools will be introduced, and their practical utility will be showcased in diverse applications in computer graphics and vision. The course will cover topics in sampling, reconstruction, approximation, optimization, robust fitting, differentiation, quadrature and spectral methods. Applications will include 3D surface reconstruction, camera pose estimation, image editing, data projection, character animation, structure-aware geometry processing, and rendering. | |||||
263-2812-00L | Program Verification Number of participants limited to 30. | W | 5 credits | 2V + 1U + 1A | A. J. Summers | |
Abstract | A hands-on introduction to the theory and construction of deductive software verifiers, covering both cutting-edge methodologies for formal program reasoning, and a perspective over the broad tool stacks making up modern verification tools. | |||||
Objective | Students will earn the necessary skills for designing and developing deductive verification tools which can be applied to modularly analyse complex software, including features challenging for reasoning such as heap-based mutable data and concurrency. Students will learn both a variety of fundamental reasoning principles, and how these reasoning ideas can be made practical via automatic tools. Students will be gain practical experience with reasoning tools at various levels of abstraction, from SAT and SMT solvers at the lowest level, up through intermediate verification languages and tools, to verifiers which target front-end code in executable languages. By the end of the course, students should have a good working understanding and experience of the issues and decisions involved with designing and building practical verification tools, and the theoretical techniques which underpin them. | |||||
Content | The course will be organized around building up a "tool stack", starting at the lowest-level with background on SAT and SMT solving techniques, and working upwards through tools at progressively-higher levels of abstraction. The notion of intermediate verification languages will be explored, and the Boogie (Microsoft Research) and Viper (ETH) languages will be used in depth to tackle increasingly ambitious verification tasks. The course will intermix technical content with hands-on experience; at each level of abstraction, we will build small tools on top which can tackle specific program correctness problems, starting from simple puzzle solvers (Soduko) at the SAT level, and working upwards to full functional correctness of application-level code. This practical work will include three mini-projects (each worth 10% of the final grade) spread throughout the course, which count towards the final grade. An oral examination (worth 70% of the final grade) will cover the technical content covered. | |||||
Lecture notes | Slides and other materials will be available online. | |||||
Literature | Background reading material and links to tools will be published on the course website. | |||||
Prerequisites / Notice | Some programming experience is essential, as the course contains several practical assignments. A basic familiarity with propositional and first-order logic will be assumed. Courses with an emphasis on formal reasoning about programs (such as Formal Methods and Functional Programming) are advantageous background, but are not a requirement. | |||||
263-3501-00L | Advanced Computer Networks | W | 5 credits | 2V + 2U | A. Singla, P. M. Stüdi | |
Abstract | This course covers a set of advanced topics in computer networks. The focus is on principles, architectures, and protocols used in modern networked systems, such as the Internet and data center networks. | |||||
Objective | The goals of the course are to build on basic undergraduate-level networking, and provide an understanding of the tradeoffs and existing technology in the design of large, complex networked systems, together with concrete experience of the challenges through a series of lab exercises. | |||||
Content | The focus of the course is on principles, architectures, and protocols used in modern networked systems. Topics include data center network topologies, software defined networking, network function virtualization, flow control and congestion control in data centers, end-point optimizations, and server virtualization. | |||||
263-3710-00L | Machine Perception Students, who have already taken 263-3700-00 User Interface Engineering are not allowed to register for this course! | W | 5 credits | 2V + 1U + 1A | O. Hilliges | |
Abstract | Recent developments in neural network (aka “deep learning”) have drastically advanced the performance of machine perception systems in a variety of areas including drones, self-driving cars and intelligent UIs. This course is a deep dive into details of the deep learning algorithms and architectures for a variety of perceptual tasks. | |||||
Objective | Students will learn about fundamental aspects of modern deep learning approaches for perception. Students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in learning-based computer vision, robotics and HCI. The final project assignment will involve training a complex neural network architecture and applying it on a real-world dataset of human motion. The core competency acquired through this course is a solid foundation in deep-learning algorithms to process and interpret human input into computing systems. In particular, students should be able to develop systems that deal with the problem of recognizing people in images, detecting and describing body parts, inferring their spatial configuration, performing action/gesture recognition from still images or image sequences, also considering multi-modal data, among others. | |||||
Content | We will focus on teaching how to set up the problem of machine perception, the learning algorithms (e.g. backpropagation), practical engineering aspects as well as advanced deep learning algorithms including generative models. The course covers the following main areas: I) Machine-learning algorithms for input recognition, computer vision and image classification (human pose, object detection, gestures, etc.) II) Deep-learning models for the analysis of time-series data (temporal sequences of motion) III) Learning of generative models for synthesis and prediction of human activity. Specific topics include: • Deep learning basics: ○ Neural Networks and training (i.e., backpropagation) ○ Feedforward Networks ○ Recurrent Neural Networks • Deep Learning techniques user input recognition: ○ Convolutional Neural Networks for classification ○ Fully Convolutional architectures for dense per-pixel tasks (i.e., segmentation) ○ LSTMs & related for time series analysis ○ Generative Models (GANs, Variational Autoencoders) • Case studies from research in computer vision, HCI, robotics and signal processing | |||||
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 is not meant as extensive tutorial of how to train deep networks with Tensorflow.. Please take note of the following conditions: 1) The number of participants is limited to 100 students (MSc and PhDs). 2) Students must have taken the exam in Machine Learning (252-0535-00) or have acquired equivalent knowledge 3) All practical exercises will require basic knowledge of Python and will use libraries such as TensorFlow, scikit-learn and scikit-image. We will provide introductions to TensorFlow and other libraries that are needed but will not provide introductions to basic programming or Python. The following courses are strongly recommended as prerequisite: * "Machine Learning" * "Visual Computing" or "Computer Vision" The course will be assessed by a final written examination in English. No course materials or electronic devices can be used during the examination. Note that the examination will be based on the contents of the lectures, the associated reading materials and the exercises. | |||||
263-4110-00L | Interdisciplinary Algorithms Lab In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. Additional Labs will be listed on the Addendum. | W | 5 credits | 2P | A. Steger, D. Steurer, J. Lengler | |
Abstract | In this course students will develop solutions for algorithmic problems posed by researchers from other fields. | |||||
Objective | Students will learn that in order to tackle algorithmic problems from an interdisciplinary or applied context one needs to combine a solid understanding of algorithmic methodology with insights into the problem at hand to judge which side constraints are essential and which can be loosened. | |||||
Prerequisites / Notice | Students will work in teams. Ideally, skills of team members complement each other. Interested Bachelor students can apply for participation by sending an email to Link explaining motivation and transcripts. | |||||
263-4310-00L | Linear Algebra Methods in Combinatorics | W | 5 credits | 2V + 2U | P. Penna | |
Abstract | This course describes the linear algebra bound technique also called dimension argument. To learn the technique we discuss several examples in combinatorics, geometry, and computer science. Besides this technique, the course aims at showing the mathematical elegance of certain proofs and the simplicity of the statements. | |||||
Objective | Becoming familiar with the method and being able to apply it to problems similar to those encountered during the course. | |||||
Content | This course is (essentially) about one single technique called the "linear algebra bound" (also known as "dimension argument"). We shall see several examples in combinatorics, geometry, and computer science and learn the technique throughout these examples. Towards the end of the course, we shall see the power of this method in proving rather amazing results (e.g., a circuit complexity lower bound, explicit constructions of Ramsey graphs, and a famous conjecture in geometry disproved). The course also aims at illustrating the main ideas behind the proofs and how the various problems are in fact connected to each other. | |||||
Lecture notes | Lecture notes of each single lecture will be made available (shortly after the lecture itself). | |||||
Literature | Most of the material of the course is covered by the following book: 1. Linear algebra methods in combinatorics, by L. Babai and P. Frankl, Department of Computer Science, University of Chicago, preliminary version, 1992. Some parts are also taken from 2. Extremal Combinatorics (with Applications in Computer Science), by Stasys Jukna, Springer-Verlag 2001. | |||||
263-4312-00L | Advanced Data Structures | W | 5 credits | 2V + 2U | P. Uznanski | |
Abstract | Data structures play a central role in modern computer science and are essential building blocks in obtaining efficient algorithms. The course covers major results and research directions in data structures, that (mostly) have not yet made it into standard computer science curriculum. | |||||
Objective | Learning modern models of computation. Applying new algorithmic techniques to the construction of efficient data structures. Understanding techniques used in both lower- and upper- bound proofs on said data structures. | |||||
Content | This course will survey important developments in data structures that have not (yet) worked their way into the standard computer science curriculum. Though we will cover state of the art techniques, the presentation is relatively self-contained, and only assumes a basic undergraduate data structures course (e.g., knowledge of binary search trees). The course material includes (but is not exhausted by): - computation models and memory models - string indexing (suffix trees, suffix arrays) - search trees - static tree processing (Lowest Common Ancestor queries, Level Ancestry queries) - range queries on arrays (queries for minimal element in a given range) - integers-only data structures: how to sort integers in linear time, faster predecessor structures (van Emde Boas trees) - hashing - dynamic graphs connectivity | |||||
Prerequisites / Notice | This is a highly theoretical course. You should be comfortable with: - algorithms and data structures - probability Completing Algorithms, Probability, and Computing course (252-0209-00L) is a good indicator. | |||||
263-4600-00L | Formal Methods for Information Security | W | 4 credits | 2V + 1U | R. Sasse, C. Sprenger | |
Abstract | The course focuses on formal methods for the modelling and analysis of security protocols for critical systems, ranging from authentication protocols for network security to electronic voting protocols and online banking. | |||||
Objective | The students will learn the key ideas and theoretical foundations of formal modelling and analysis of security protocols. The students will complement their theoretical knowledge by solving practical exercises, completing a small project, and using state-of-the-art tools. | |||||
Content | The course treats formal methods mainly for the modelling and analysis of security protocols. Cryptographic protocols (such as SSL/TLS, SSH, Kerberos, SAML single-sign on, and IPSec) form the basis for secure communication and business processes. Numerous attacks on published protocols show that the design of cryptographic protocols is extremely error-prone. A rigorous analysis of these protocols is therefore indispensable, and manual analysis is insufficient. The lectures cover the theoretical basis for the (tool-supported) formal modeling and analysis of such protocols. Specifically, we discuss their operational semantics, the formalization of security properties, and techniques and algorithms for their verification. In addition to the classical security properties for confidentiality and authentication, we will study strong secrecy and privacy properties. We will discuss electronic voting protocols, and RFID protocols (a staple of the Internet of Things), where these properties are central. The accompanying tutorials provide an opportunity to apply the theory and tools to concrete protocols. Moreover, we will discuss methods to abstract and refine security protocols and the link between symbolic protocol models and cryptographic models. Furthermore, we will also present a security notion for general systems based on non-interference as well as language-based information flow security where non-interference is enforced via a type system. | |||||
272-0300-00L | 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 | 4 credits | 2V + 1U | J. Hromkovic | |
Abstract | This course unit looks into algorithmic approaches to the solving of hard problems. The seminar is accompanied by a comprehensive reflection upon the significance of the approaches presented for computer science tuition at high schools. | |||||
Objective | To systematically acquire an overview of the methods for solving hard problems. | |||||
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. | |||||
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, D. Kratsch: Exact Exponential Algorithms, 2010. | |||||
272-0301-00L | Methods for Design of Random Systems This course d o e s n o t include the Mentored Work Specialised Courses with an Educational Focus in Computer Science B. | W | 4 credits | 2V + 1U | H.‑J. Böckenhauer, D. Komm, R. Kralovic | |
Abstract | The students should get a deep understanding of the notion of randomness and its usefulness. Using basic elements probability theory and number theory the students will discover randomness as a source of efficiency in algorithmic. The goal is to teach the paradigms of design of randomized algorithms. | |||||
Objective | To understand the computational power of randomness and to learn the basic methods for designing randomized algorithms | |||||
Lecture notes | J. Hromkovic: Randomisierte Algorithmen, Teubner 2004. J.Hromkovic: Design and Analysis of Randomized Algorithms. Springer 2006. J.Hromkovic: Algorithmics for Hard Problems, Springer 2004. | |||||
Literature | J. Hromkovic: Randomisierte Algorithmen, Teubner 2004. J.Hromkovic: Design and Analysis of Randomized Algorithms. Springer 2006. J.Hromkovic: Algorithmics for Hard Problems, Springer 2004. | |||||
272-0302-00L | Approximation and Online Algorithms | W | 4 credits | 2V + 1U | H.‑J. Böckenhauer, 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. | |||||
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 | |||||
401-3052-05L | Graph Theory | W | 5 credits | 2V + 1U | B. Sudakov | |
Abstract | Basic notions, trees, spanning trees, Caley's formula, vertex and edge connectivity, blocks, 2-connectivity, Mader's theorem, Menger's theorem, Eulerian graphs, Hamilton cycles, Dirac's theorem, matchings, theorems of Hall, König and Tutte, planar graphs, Euler's formula, basic non-planar graphs, graph colorings, greedy colorings, Brooks' theorem, 5-colorings of planar graphs | |||||
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 | NOTICE: This course unit was previously offered as 252-1408-00L Graphs and Algorithms. | |||||
401-3903-11L | Geometric Integer Programming | W | 6 credits | 2V + 1U | R. Weismantel | |
Abstract | Integer programming is the task of minimizing a linear function over all the integer points in a polyhedron. This lecture introduces the key concepts of an algorithmic theory for solving such problems. | |||||
Objective | The purpose of the lecture is to provide a geometric treatment of the theory of integer optimization. | |||||
Content | Key topics are: - lattice theory and the polynomial time solvability of integer optimization problems in fixed dimension, - the theory of integral generating sets and its connection to totally dual integral systems, - finite cutting plane algorithms based on lattices and integral generating sets. | |||||
Lecture notes | not available, blackboard presentation | |||||
Literature | Bertsimas, Weismantel: Optimization over Integers, Dynamic Ideas 2005. Schrijver: Theory of linear and integer programming, Wiley, 1986. | |||||
Prerequisites / Notice | "Mathematical Optimization" (401-3901-00L) | |||||
401-4904-00L | Combinatorial Optimization | W | 6 credits | 2V + 1U | R. Zenklusen | |
Abstract | Combinatorial Optimization deals with efficiently finding a provably strong solution among a finite set of options. This course discusses key combinatorial structures and techniques to design efficient algorithms for combinatorial optimization problems. We put a strong emphasis on polyhedral methods, which proved to be a powerful and unifying tool throughout combinatorial optimization. | |||||
Objective | The goal of this lecture is to get a thorough understanding of various modern combinatorial optimization techniques with an emphasis on polyhedral approaches. Students will learn a general toolbox to tackle a wide range of combinatorial optimization problems. | |||||
Content | Key topics include: - Polyhedral descriptions; - Combinatorial uncrossing; - Ellipsoid method; - Equivalence between separation and optimization; - Design of efficient approximation algorithms for hard problems. | |||||
Lecture notes | Lecture notes will be available online. | |||||
Literature | - Bernhard Korte, Jens Vygen: Combinatorial Optimization. 5th edition, Springer, 2012. - Alexander Schrijver: Combinatorial Optimization: Polyhedra and Efficiency, Springer, 2003. This work has 3 volumes. | |||||
Prerequisites / Notice | Prior exposure to Linear Programming can greatly help the understanding of the material. We therefore recommend that students interested in Combinatorial Optimization get familiarized with Linear Programming before taking this lecture. | |||||
227-1034-00L | Computational Vision (University of Zurich) No enrolment to this course at ETH Zurich. Book the corresponding module directly at UZH. UZH Module Code: INI402 Mind the enrolment deadlines at UZH: Link | W | 6 credits | 2V + 1U | D. Kiper, K. A. Martin | |
Abstract | This course focuses on neural computations that underlie visual perception. We study how visual signals are processed in the retina, LGN and visual cortex. We study the morpholgy and functional architecture of cortical circuits responsible for pattern, motion, color, and three-dimensional vision. | |||||
Objective | This course considers the operation of circuits in the process of neural computations. The evolution of neural systems will be considered to demonstrate how neural structures and mechanisms are optimised for energy capture, transduction, transmission and representation of information. Canonical brain circuits will be described as models for the analysis of sensory information. The concept of receptive fields will be introduced and their role in coding spatial and temporal information will be considered. The constraints of the bandwidth of neural channels and the mechanisms of normalization by neural circuits will be discussed. The visual system will form the basis of case studies in the computation of form, depth, and motion. The role of multiple channels and collective computations for object recognition will be considered. Coordinate transformations of space and time by cortical and subcortical mechanisms will be analysed. The means by which sensory and motor systems are integrated to allow for adaptive behaviour will be considered. | |||||
Content | This course considers the operation of circuits in the process of neural computations. The evolution of neural systems will be considered to demonstrate how neural structures and mechanisms are optimised for energy capture, transduction, transmission and representation of information. Canonical brain circuits will be described as models for the analysis of sensory information. The concept of receptive fields will be introduced and their role in coding spatial and temporal information will be considered. The constraints of the bandwidth of neural channels and the mechanisms of normalization by neural circuits will be discussed. The visual system will form the basis of case studies in the computation of form, depth, and motion. The role of multiple channels and collective computations for object recognition will be considered. Coordinate transformations of space and time by cortical and subcortical mechanisms will be analysed. The means by which sensory and motor systems are integrated to allow for adaptive behaviour will be considered. | |||||
Literature | Books: (recommended references, not required) 1. An Introduction to Natural Computation, D. Ballard (Bradford Books, MIT Press) 1997. 2. The Handbook of Brain Theorie and Neural Networks, M. Arbib (editor), (MIT Press) 1995. | |||||
Seminar in General Studies | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-3002-00L | Algorithms for Database Systems Limited number of participants. | W | 2 credits | 2S | P. Widmayer, P. Uznanski | |
Abstract | Query processing, optimization, stream-based systems, distributed and parallel databases, non-standard databases. | |||||
Objective | Develop an understanding of selected problems of current interest in the area of algorithms for database systems. | |||||
252-3100-00L | Computer Supported Cooperative Work Number of participants limited to 12. Takes place for the last time. | W | 2 credits | 2S | M. Norrie | |
Abstract | Computer-Supported Cooperative Work (CSCW) is the study of how people work together using computer technology. It is a multi-disciplinary research field dealing with the social, theoretical, practical and technical aspects of collaboration and how the use of technology can affect groups, organisations and communities. The diversity of the CSCW field is reflected in the range of topics covered. | |||||
Objective | Computer-Supported Cooperative Work (CSCW) is the study of how people work together using computer technology. It is a multi-disciplinary research field dealing with the social, theoretical, practical and technical aspects of collaboration and how the use of technology can affect groups, organisations, communities and societies. The CSCW community is interested in how people use everyday tools such as email, the web and chat systems as well as specialist groupware applications that support groups of people engaged in shared tasks such as software development or product design. A better understanding of how people communicate and work together can in turn lead to a better understanding of the problems of current technologies and systems and influence the design of new technologies and tools. | |||||
252-3600-02L | Smart Systems Seminar | W | 2 credits | 2S | O. Hilliges, S. Coros, F. Mattern | |
Abstract | Seminar on various topics from the broader areas of Ubiquitous Computing, Human Computer Interaction, Robotics and Digital Fabrication. | |||||
Objective | Learn about various current topics from the broader areas of Ubiquitous Computing, Human Computer Interaction, Robotics and Digital Fabrication. | |||||
Prerequisites / Notice | There will be an orientation event several weeks before the start of the semester (possibly at the end of the preceding semester) where also first topics will be assigned to students. Please check Link for further information. | |||||
252-4102-00L | Seminar on Randomized Algorithms and Probabilistic Methods | W | 2 credits | 2S | A. Steger | |
Abstract | The aim of the seminar is to study papers which bring the students to the forefront of today's research topics. This semester we will study selected papers of the conference Symposium on Discrete Algorithms (SODA18). | |||||
Objective | Read papers from the forefront of today's research; learn how to give a scientific talk. | |||||
Prerequisites / Notice | The seminar is open for both students from mathematics and students from computer science. As prerequisite we require that you passed the course Randomized Algorithms and Probabilistic Methods (or equivalent, if you come from abroad). | |||||
252-4202-00L | Seminar in Theoretical Computer Science | W | 2 credits | 2S | E. Welzl, B. Gärtner, M. Hoffmann, J. Lengler, A. Steger, B. Sudakov | |
Abstract | Presentation of recent publications in theoretical computer science, including results by diploma, masters and doctoral candidates. | |||||
Objective | To get an overview of current research in the areas covered by the involved research groups. To present results from the literature. | |||||
263-4203-00L | Geometry: Combinatorics and Algorithms | W | 2 credits | 2S | M. Hoffmann, E. Welzl, L. F. Barba Flores, P. Valtr | |
Abstract | This seminar complements the course Geometry: Combinatorics & Algorithms. Students of the seminar will present original research papers, some classic and some of them very recent. | |||||
Objective | Each student is expected to read, understand, and elaborate on a selected research paper. To this end, (s)he should give a 45-min. presentation about the paper. The process includes * getting an overview of the related literature; * understanding and working out the background/motivation: why and where are the questions addressed relevant? * understanding the contents of the paper in all details; * selecting parts suitable for the presentation; * presenting the selected parts in such a way that an audience with some basic background in geometry and graph theory can easily understand and appreciate it. | |||||
Content | This seminar is held once a year and complements the course Geometry: Combinatorics & Algorithms. Students of the seminar will present original research papers, some classic and some of them very recent. The seminar is a good preparation for a master, diploma, or semester thesis in the area. | |||||
Prerequisites / Notice | Prerequisite: Successful participation in the course "Geometry: Combinatorics & Algorithms" (takes place every HS) is required. | |||||
252-4302-00L | Seminar Algorithmic Game Theory Limited number of participants. | W | 2 credits | 2S | P. Widmayer, P. Penna | |
Abstract | In the seminar we will get familiar with the current original research in the area of algorithmic game theory by reading and presenting selected research papers in that area. | |||||
Objective | Develop an understanding of selected problems of current interest in the area of algorithmic game theory, and a practice of a scientific presentation. | |||||
Content | Study and understanding of selected topics of current interest in algorithmic game theory such as: Complexity Results (class PPAD, PLS, NP), Sponsored Search, Approximation Algorithms via Algorithmic Game Theory, Price of Anarchy, New paradigms of computation (e.g., envy-fee, truthful), Mechanism Design. | |||||
Literature | Selected research articles. | |||||
Prerequisites / Notice | You must have passed our "Algorithmic Game Theory" class (or have acquired equivalent knowledge, in exceptional cases). | |||||
252-4800-00L | Information & Physics Number of participants limited to 120. Previously called Quantum Information and Cryptography Um das vorhandene Angebot optimal auszunutzen, behält sich das D-INFK vor, Belegungen von Studierenden zu löschen, die sich in mehreren Veranstaltungen dieser Kategorie eingeschrieben haben, bereits die erforderlichen Leistungen in dieser Kategorie erbracht haben oder aus anderen organisatorischen Gründen nicht auf die Belegung der Veranstaltung angewiesen sind. | W | 2 credits | 4S | S. Wolf | |
Abstract | In this advanced seminar, various topics are treated in the intersection of quantum physics, information theory, and cryptography. | |||||
Objective | see above | |||||
252-5251-00L | Computational Science Takes place for the last time. | W | 2 credits | 2S | P. Arbenz, P. Chatzidoukas | |
Abstract | Class participants study and make a 40 minute presentation (in English) on fundamental papers of Computational Science. A preliminary discussion of the talk (structure, content, methodology) with the responsible professor is required. The talk has to be given in a way that the other seminar participants can understand it and learn from it. Participation throughout the semester is mandatory. | |||||
Objective | Studying and presenting fundamental works of Computational Science. Learning how to make a scientific presentation. | |||||
Content | Class participants study and make a 40 minute presentation (in English) on fundamental papers of Computational Science. A preliminary discussion of the talk (structure, content, methodology) with the responsible professor is required. The talk has to be given in a way that the other seminar participants can understand it and learn from it. Participation throughout the semester is mandatory. | |||||
Lecture notes | none | |||||
Literature | Papers will be distributed in the first seminar in the first week of the semester | |||||
252-5704-00L | Advanced Methods in Computer Graphics Number of participants limited to 24. | W | 2 credits | 2S | M. Gross | |
Abstract | This seminar covers advanced topics in computer graphics with a focus on the latest research results. Topics include modeling, rendering, visualization, animation, physical simulation, computational photography, and others. | |||||
Objective | The goal is to obtain an in-depth understanding of actual problems and research topics in the field of computer graphics as well as improve presentation and critical analysis skills. | |||||
263-2100-00L | Research Topics in Software Engineering Number of participants limited to 22. | W | 2 credits | 2S | T. Gross | |
Abstract | This seminar introduces students to the latest research trends that help to improve various aspects of software quality. Topics cover the following areas of research: Compilers, domain-specific languages, concurrency, formal methods, performance optimization, program analysis, program generation, program synthesis, testing, tools, verification | |||||
Objective | At the end of the course, the students should be: - familiar with a broad range of key research results in the area as well as their applications. - know how to read and assess high quality research papers - be able to highlight practical examples/applications, limitations of existing work, and outline potential improvements. | |||||
Content | The course will be structured as a sequence of presentations of high-quality research papers, spanning both theory and practice. These papers will have typically appeared in top conferences spanning several areas such as POPL, PLDI, OOPSLA, OSDI, ASPLOS, SOSP, AAAI, ICML and others. | |||||
Literature | The publications to be presented will be announced on the seminar home page at least one week before the first session. | |||||
Prerequisites / Notice | Papers will be distributed during the first lecture. | |||||
263-2926-00L | Deep Learning for Big Code Number of participants limited to 24. | W | 2 credits | 2S | M. Vechev | |
Abstract | The seminar covers some of the latest and most exciting developments (industrial and research) in the field of Deep Learning for Code, including new methods and latest systems, as well as open challenges and opportunities. | |||||
Objective | The objective of the seminar is to: - Introduce students to the field of Deep Learning for Big Code. - Learn how machine learning models can be used to solve practical challenges in software engineering and programming beyond traditional methods. - Highlight the latest research and work opportunities in industry and academia available on this topic. | |||||
Content | The last 5 years have seen increased interest in applying advanced machine learning techniques such as deep learning to new kind of data: program code. As the size of open source code increases dramatically (over 980 billion lines of code written by humans), so comes the opportunity for new kind of deep probabilistic methods and commercial systems that leverage this data to revolutionize software creation and address hard problems not previously possible. Examples include: machines writing code, program de-obfuscation for security, code search, and many more. Interestingly, this new type of data, unlike natural language and images, introduces technical challenges not typically encountered when working with standard datasets (e.g., images, videos, natural language), for instance, finding the right representation over which deep learning operates. This in turn has the potential to drive new kinds of machine learning models with broad applicability. Because of this, there has been substantial interest over the last few years in both industry (e.g., companies such as Facebook starting, various start-ups in the space such as Link), academia (e.g., Link) and government agencies (e.g., DARPA) on using machine learning to automate various programming tasks. In this seminar, we will cover some of the latest and most exciting developments in the field of Deep Learning for Code, including new methods and latest systems, as well as open challenges and opportunities. The seminar is carried out as a set of presentations chosen from a list of available papers. The grade is determined as a function of the presentation, handling questions and answers, and participation. | |||||
Prerequisites / Notice | The seminar is carried out as a set of presentations chosen from a list of available papers. The grade is determined as a function of the presentation, handling questions and answers, and participation. The seminar is ideally suited for M.Sc. students in Computer Science. | |||||
263-2930-00L | Blockchain Security Seminar Number of participants limited to 26. | W | 2 credits | 2S | M. Vechev, D. Drachsler Cohen, P. Tsankov | |
Abstract | This seminar introduces students to the latest research trends in the field of blockchains. | |||||
Objective | The objectives of this seminar are twofold: (1) learning about the blockchain platform, a prominent technology receiving a lot of attention in computer Science and economy and (2) learning to convey and present complex and technical concepts in simple terms, and in particular identifying the core idea underlying the technicalities. | |||||
Content | This seminar introduces students to the latest research trends in the field of blockchains. The seminar covers the basics of blockchain technology, including motivation for decentralized currency, establishing trust between multiple parties using consensus algorithms, and smart contracts as a means to establish decentralized computation. It also covers security issues arising in blockchains and smart contracts as well as automated techniques for detecting vulnerabilities using programming language techniques. | |||||
263-3830-00L | Software Defined Networking: The Data Centre Perspective | W | 2 credits | 2S | T. Roscoe, D. Wagenknecht-Dimitrova | |
Abstract | Software Defined Networks (SDN) is a change supported not only by research but also industry and redifens how traditional network management and configuration is been done. | |||||
Objective | Through review and discussion of literature on an exciting new trend in networking, the students get the opportunity to get familiar with one of the most promising new developments in data centre connectivity, while at the same time they can develop soft skills related to the evaluation and presentation of professional content. | |||||
Content | Software Defined Networks (SDN) is a change supported not only by research but also industry and redifens how traditional network management and configuration is been done. Although much has been already investigated and there are already functional SDN-enabled switches there are many open questions ahead of the adoption of SDN inside and outside the data centre (traditional or cloud-based). With a series of seminars we will reflect on the challenges, adoption strategies and future trends of SDN to create an understanding how SDN is affecting the network operators' industry. | |||||
Literature | The seminar is based on recent publications by academia and industry. Links to the publications are placed on the Seminar page and can be downloaded from any location with access to the ETH campus network. | |||||
Prerequisites / Notice | The seminar bases on active and interactive participation of the students. | |||||
263-3840-00L | Hardware Architectures for Machine Learning | W | 2 credits | 2S | G. Alonso, T. Hoefler, O. Mutlu, C. Zhang | |
Abstract | The seminar covers recent results in the increasingly important field of hardware acceleration for data science and machine learning, both in dedicated machines or in data centers. | |||||
Objective | The seminar aims at students interested in the system aspects of machine learning, who are willing to bridge the gap across traditional disciplines: machine learning, databases, systems, and computer architecture. | |||||
Content | The seminar is intended to cover recent results in the increasingly important field of hardware acceleration for data science and machine learning, both in dedicated machines or in data centers. | |||||
Prerequisites / Notice | The seminar should be of special interest to students intending to complete a master's thesis or a doctoral dissertation in related topics. | |||||
263-4845-00L | Distributed Stream Processing: Systems and Algorithms Does not take place this semester. | W | 2 credits | 2S | ||
Abstract | In this seminar, we will study the design and architecture of modern distributed streaming systems as well as fundamental algorithms for analyzing data streams. We will also consider current research topics and open issues in the area of distributed stream processing. | |||||
Objective | The seminar will focus on high-impact research contributions addressing open issues in the design and implementation of modern distributed stream processors. In particular, the students will read, review, present, and discuss a series of research and industrial papers. | |||||
Content | Modern distributed stream processing technology enables continuous, fast, and reliable analysis of large-scale unbounded datasets. Stream processing has recently become highly popular across industry and academia due to its capabilities to both improve established data processing tasks and to facilitate novel applications with real-time requirements. The students will read, review, present, and discuss a series of research and industrial papers covering the following topics: - Fault-tolerance and processing guarantees - State management - Windowing semantics and optimizations - Basic data stream mining algorithms (e.g. sampling, counting, filtering) - Query languages and libraries for stream processing (e.g. Complex Event Processing, online machine learning) | |||||
263-5904-00L | Deep Learning for Computer Vision: Seminal Work Number of participants limited to 24. | W | 2 credits | 2S | T. Sattler, L. M. Koch | |
Abstract | This seminar covers seminal papers on the topic of deep learning for computer vision. The students will present and discuss the papers and gain an understanding of the most influential research in this area - both past and present. | |||||
Objective | The objectives of this seminar are two-fold. Firstly, the aim is to provide a solid understanding of key contributions to the field of deep learning for vision (including a historical perspective as well as recent work). Secondly, the students will learn to critically read and analyse original research papers and judge their impact, as well as how to give a scientific presentation and lead a discussion on their topic. | |||||
Content | The seminar will start with introductory lectures to provide (1) a compact overview of challenges and relevant machine learning and deep learning research, and (2) a tutorial on critical analysis and presentation of research papers. Each student then chooses one paper from the provided collection to present during the remainder of the seminar. The students will be supported in the preparation of their presentation by the seminar assistants. | |||||
Lecture notes | The selection of research papers will be presented at the beginning of the semester. | |||||
Literature | The course "Machine Learning" is recommended. | |||||
227-0126-00L | Advanced Topics in Networked Embedded Systems Number of participants limited to 12. | W | 2 credits | 1S | L. Thiele, J. Beutel, Z. Zhou | |
Abstract | The seminar will cover advanced topics in networked embedded systems. A particular focus are cyber-physical systems and sensor networks in various application domains. | |||||
Objective | The goal is to get a deeper understanding on leading edge technologies in the discipline, on classes of applications, and on current as well as future research directions. | |||||
Content | The seminar enables Master students, PhDs and Postdocs to learn about latest breakthroughs in wireless sensor networks, networked embedded systems and devices, and energy-harvesting in several application domains, including environmental monitoring, tracking, smart buildings and control. Participants are requested to actively participate in the organization and preparation of the seminar. | |||||
227-0559-00L | Seminar in Distributed Computing | W | 2 credits | 2S | R. Wattenhofer | |
Abstract | In this seminar participating students present and discuss recent research papers in the area of distributed computing. The seminar consists of algorithmic as well as systems papers in distributed computing theory, peer-to-peer computing, ad hoc and sensor networking, or multi-core computing. | |||||
Objective | In the last two decades, we have experienced an unprecedented growth in the area of distributed systems and networks; distributed computing now encompasses many of the activities occurring in today's computer and communications world. This course introduces the basics of distributed computing, highlighting common themes and techniques. We study the fundamental issues underlying the design of distributed systems: communication, coordination, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques. In this seminar, students present the latest work in this domain. Seminar language: English | |||||
Content | Different each year. For details see: Link | |||||
Lecture notes | Slides of presentations will be made available. | |||||
Literature | Papers. The actual paper selection can be found on Link. | |||||
851-0740-00L | Big Data, Law, and Policy Number of participants limited to 35 Students will be informed by 4.3.2018 at the latest | W | 3 credits | 2S | S. Bechtold, T. Roscoe, E. Vayena | |
Abstract | This course introduces students to societal perspectives on the big data revolution. Discussing important contributions from machine learning and data science, the course explores their legal, economic, ethical, and political implications in the past, present, and future. | |||||
Objective | This course is intended both for students of machine learning and data science who want to reflect on the societal implications of their field, and for students from other disciplines who want to explore the societal impact of data sciences. The course will first discuss some of the methodological foundations of machine learning, followed by a discussion of research papers and real-world applications where big data and societal values may clash. Potential topics include the implications of big data for privacy, liability, insurance, health systems, voting, and democratic institutions, as well as the use of predictive algorithms for price discrimination and the criminal justice system. Guest speakers, weekly readings and reaction papers ensure a lively debate among participants from various backgrounds. | |||||
Computer Science Elective Courses The Elective Computer Science Courses can be selected from all Master level courses offered by D-INFK. | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0820-00L | Case Studies from Practice | W | 4 credits | 2V + 1U | M. Brandis | |
Abstract | The course is designed to provide students with an understanding of "real-life" computer science challenges in business settings and teach them how to address these. | |||||
Objective | By using case studies that are based on actual IT projects, students will learn how to deal with complex, not straightforward problems. It will help them to apply their theoretical Computer Science background in practice and will teach them fundamental principles of IT management and challenges with IT in practice. A particular focus is to make the often imprecise and fuzzy problems in practice accessible to factual analysis and reasoning, and to challenge "common wisdom" and hearsay. | |||||
Content | The course consists of multiple lectures on methods to systematically analyze problems in a business setting and communicate about them as well as IT management and IT economics, presented by the lecturer, and a number of case studies provided by guest lecturers from either IT companies or IT departments of a diverse range of companies. Students will obtain insights into both established and startup companies, small and big, and different industries. Presenting companies have included avaloq, Accenture, AdNovum, Bank Julius Bär, Credit Suisse, Deloitte, HP, Hotelcard, IBM Research, McKinsey & Company, Open Web Technology, SAP Research, Selfnation, SIX Group, Teralytics, 28msec, Zühlke and dormakaba, and Marc Brandis Strategic Consulting. The participating companies in spring 2017 will be announced at course start. | |||||
263-0600-00L | Research in Computer Science Only for Computer Science MSc. | W | 5 credits | 11A | Professors | |
Abstract | Independent project work under the supervision of a Computer Science Professor. | |||||
Objective | Project done under supervision of a professor in the Department of Computer Science. | |||||
Prerequisites / Notice | Only students who fulfill one of the following requirements are allowed to begin a research project: a) 1 lab (interfocus course) and 1 core focus course b) 2 core focus courses c) 2 labs (interfocus courses) A task description must be submitted to the Student Administration Office at the beginning of the work. | |||||
401-3632-00L | Computational Statistics | W | 10 credits | 3V + 2U | M. H. Maathuis | |
Abstract | Computational Statistics deals with modern statistical methods of data analysis (aka "data science") for prediction and inference. The course provides an overview of existing methods. The course is hands-on, and methods are applied using the statistical programming language R. | |||||
Objective | In this class, 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. | |||||
Elective Courses Students can individually chose from the entire Master course offerings from ETH Zurich, EPF Lausanne, the University of Zurich and - but only with the consent of the Director of Studies - from all other Swiss universities. For further details please see Art. 31 of the Regulations 2009 for the Master Program in Computer Science. | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
151-3217-00L | Coaching Student Teams (Basic Training) | W | 1 credit | 1G | R. P. Haas, B. Volk | |
Abstract | Aim is enhancement of knowledge and competency regarding coaching skills. Participants should be active coaches of a student team. Topics: Overview of the roles and mind set of a coach as, introduction into coaching methodology, mutual learning and reflecting of participants coaching expertise and situations. | |||||
Objective | - Basic knowledge about role and mindset of a coach - Basic Knowledge and reflection about classical coaching situations - Inspiration and mutual learning from real coaching sessions (mutual peer observation) | |||||
Content | Basic knowledge about role and mindset of a coach - Introduction into coaching: definition & models - Introduction into the coaching process and team building phases - Role of coaches between examinator, tutor and ""friend"" First steps building up personal coaching competencies, e.g. active listening, asking questions, giving feedback - Competencies in theoretical models - Coaching competencies: exercises and reflection Some Reflection and exchange of experiences about personal coaching situations - Exchange of experiences in the lecture group - Mutual peer observations | |||||
Lecture notes | Slides, script and other documents will be distributed electronically (access only for participants registered to this course) | |||||
Literature | Please refer to lecture script. | |||||
Prerequisites / Notice | Participants (Students, PhD Students, Postdocs) should be active coaches of a student project team or coaches of individual students. | |||||
151-3220-00L | Coaching Student Teams (Advances Course 2) | W | 1 credit | 1G | R. P. Haas, I. Goller, M. Lehner, B. Volk | |
Abstract | Aim is enhancement of knowledge and competency regarding coaching skills. Participants should be active coaches of a student team. Core is self refection of one's own work as a coach and the effect of it teams and students supported. | |||||
Objective | - Advanced knowledge about role and mindset of a coach - Reflection of one's own behavior as a coach - Development of personal coaching skills - Selective extension of Knowledge and know-how about coaching methods as needed. | |||||
Content | Advanced insights about coaching methods and situations - Knowledge about basic coaching methods for student teams - Know-how about usage of methods in the coaching process - Facilitating decisions - Using and applying coaches opinions and knowledge - Facilitating conflict situations Reflection and exchange of experiences about personal coaching situations - Exchange of experiences in the lecture group - Reflection about classical coaching situations (includes assignements between lectures) - Reflection and exchange of experiences about personal coaching situations (Individual coaching session) - Inspiration and mutual learning from real coaching sessions (Mutual peer observation) - Refection of a coaching intervention (Case study) | |||||
Lecture notes | Slides, script and other documents will be distributed electronically (access only for participants registered to this course). | |||||
Literature | Please refer to lecture script. | |||||
Prerequisites / Notice | - Participants (Students, PhD Students, Postdocs) should be active coaches of a student project team. - Completion of the basic training is required or taking it in parallel. | |||||
Internship | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0700-00L | Internship Only for Computer Science MSc. | W | 0 credits | external organisers | ||
Abstract | Internship in a computer science company, which is admitted by the CS Department at ETH. Minimum 10 weeks fulltime employment. | |||||
Objective | The main objective of the 10-week internship is to expose students to the industrial work environment. During this period, students have the opportunity to be involved in on-going projects at the host institution. | |||||
Prerequisites / Notice | A task description must be presented for approval, before the start of the internship. After completion of the internship, a work certificate must be presented. | |||||
GESS Science in Perspective | ||||||
» Recommended Science in Perspective (Type B) for D-INFK | ||||||
» see Science in Perspective: Language Courses ETH/UZH | ||||||
» see Science in Perspective: Type A: Enhancement of Reflection Capability | ||||||
Master's Thesis | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
263-0800-00L | Master's Thesis Only students who fulfill the following criteria are allowed to begin with their master thesis: a. successful completion of the bachelor programme; b. fulfilling any additional requirements necessary to gain admission to the master programme; c. "Inter focus courses" (12 credits) completed; d. "Focus courses" (26 credits) completed. | O | 30 credits | 64D | Professors | |
Abstract | Independent project work supervised by a Computer Science professor. Duration 6 months. | |||||
Objective | To work independently and to produce a scientifically structured work under the supervision of a Computer Science Professor. |