Search result: Catalogue data in Spring Semester 2020
Computer Science Master | ||||||
Focus Courses | ||||||
Focus Courses in Distributed Systems | ||||||
Seminar in Distributed Systems | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|---|
851-0740-00L | Big Data, Law, and Policy Number of participants limited to 35 Students will be informed by 1.3.2020 at the latest. | W | 3 credits | 2S | S. Bechtold | |
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. | |||||
227-0559-10L | Seminar in Communication Networks: Learning, Reasoning and Control Does not take place this semester. Number of participants limited to 24. | W | 2 credits | 2S | L. Vanbever, A. Singla | |
Abstract | In this seminar participating students review, present, and discuss (mostly recent) research papers in the area of computer networks. This semester the seminar will focus on topics blending networks with machine learning and control theory. | |||||
Objective | The two main goals of this seminar are: 1) learning how to read and review scientific papers; and 2) learning how to present and discuss technical topics with an audience of peers. Students are required to attend the entire seminar, choose a paper to present from a given list, prepare and give a presentation on that topic, and lead the follow-up discussion. To ensure the talks' quality, each student will be mentored by a teaching assistant. In addition to presenting one paper, every student is also required to submit one (short) review for one of the two papers presented every week in-class (12 reviews in total). The students will be evaluated based on their submitted reviews, their presentation, their leadership in animating the discussion for their own paper, and their participation in the discussions of other papers. | |||||
Content | The seminar will start with two introductory lectures in week 1 and week 2. Starting from week 3, participating students will start reviewing, presenting, and discussing research papers. Each week will see two presentations, for a total of 24 papers. The course content will vary from semester to semester. This semester, the seminar will focus on topics blending networks with machine learning and control theory. For details, please see: Link | |||||
Lecture notes | The slides of each presentation will be made available on the website. | |||||
Literature | The paper selection will be made available on the course website: Link | |||||
Prerequisites / Notice | Communication Networks (227-0120-00L) or equivalents. It is expected that students have prior knowledge in machine learning and control theory, for instance by having attended appropriate courses. | |||||
Focus Courses in Information Security | ||||||
Focus Core Courses Information Security | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
263-4660-00L | Applied Cryptography Number of participants limited to 150. | W | 8 credits | 3V + 2U + 2P | K. Paterson | |
Abstract | This course will introduce the basic primitives of cryptography, using rigorous syntax and game-based security definitions. The course will show how these primitives can be combined to build cryptographic protocols and systems. | |||||
Objective | The goal of the course is to put students' understanding of cryptography on sound foundations, to enable them to start to build well-designed cryptographic systems, and to expose them to some of the pitfalls that arise when doing so. | |||||
Content | Basic symmetric primitives (block ciphers, modes, hash functions); generic composition; AEAD; basic secure channels; basic public key primitives (encryption,signature, DH key exchange); ECC; randomness; applications. | |||||
Literature | Textbook: Boneh and Shoup, “A Graduate Course in Applied Cryptography”, Link. | |||||
Prerequisites / Notice | Ideally, students will have taken the D-INFK Bachelors course “Information Security" or an equivalent course at Bachelors level. | |||||
Focus Elective Courses Information Security | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0408-00L | Cryptographic Protocols | W | 6 credits | 2V + 2U + 1A | 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-2925-00L | Program Analysis for System Security and Reliability | W | 6 credits | 2V + 1U + 2A | P. Tsankov | |
Abstract | Security issues in modern systems (blockchains, datacenters, AI) result in billions of losses due to hacks. This course introduces the security issues in modern systems and state-of-the-art automated techniques for building secure and reliable systems. The course has a practical focus and covers systems built by successful ETH spin-offs. | |||||
Objective | * Learn about security issues in modern systems -- blockchains, smart contracts, AI-based systems (e.g., autonomous cars), data centers -- and why they are challenging to address. * Understand how the latest automated analysis techniques work, both discrete and probabilistic. * Understand how these techniques combine with machine-learning methods, both supervised and unsupervised. * Understand how to use these methods to build reliable and secure modern systems. * Learn about new open problems that if solved can lead to research and commercial impact. | |||||
Content | Part I: Security of Blockchains - We will cover existing blockchains (e.g., Ethereum, Bitcoin), how they work, what the core security issues are, and how these have led to massive financial losses. - We will show how to extract useful information about smart contracts and transactions using interactive analysis frameworks for querying blockchains (e.g. Google's Ethereum BigQuery). - We will discuss the state-of-the-art security tools (e.g., Link) for ensuring that smart contracts are free of security vulnerabilities. - We will study the latest automated reasoning systems (e.g., Link) for checking custom (temporal) properties of smart contracts and illustrate their operation on real-world use cases. - We will study the underlying methods for automated reasoning and testing (e.g., abstract interpretation, symbolic execution, fuzzing) are used to build such tools. Part II: Security of Datacenters and Networks - We will show how to ensure that datacenters and ISPs are secured using declarative reasoning methods (e.g., Datalog). We will also see how to automatically synthesize secure configurations (e.g. using SyNET and NetComplete) which lead to desirable behaviors, thus automating the job of the network operator and avoiding critical errors. - We will discuss how to apply modern discrete probabilistic inference (e.g., PSI and Bayonet) so to reason about probabilistic network properties (e.g., the probability of a packet reaching a destination if links fail). Part III: Machine Learning for Security - We will discuss how machine learning models for structured prediction are used to address security tasks, including de-obfuscation of binaries (Debin: Link), Android APKs (DeGuard: Link) and JavaScript (JSNice: Link). - We will study to leverage program abstractions in combination with clustering techniques to learn security rules for cryptography APIs from large codebases. - We will study how to automatically learn to identify security vulnerabilities related to the handling of untrusted inputs (cross-Site scripting, SQL injection, path traversal, remote code execution) from large codebases. To gain a deeper understanding, the course will involve a hands-on programming project where the methods studied in the class will be applied. | |||||
263-4600-00L | Formal Methods for Information Security | W | 5 credits | 2V + 1U + 1A | 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-4656-00L | Digital Signatures | W | 4 credits | 2V + 1A | D. Hofheinz | |
Abstract | Digital signatures as one central cryptographic building block. Different security goals and security definitions for digital signatures, followed by a variety of popular and fundamental signature schemes with their security analyses. | |||||
Objective | The student knows a variety of techniques to construct and analyze the security of digital signature schemes. This includes modularity as a central tool of constructing secure schemes, and reductions as a central tool to proving the security of schemes. | |||||
Content | We will start with several definitions of security for signature schemes, and investigate the relations among them. We will proceed to generic (but inefficient) constructions of secure signatures, and then move on to a number of efficient schemes based on concrete computational hardness assumptions. On the way, we will get to know paradigms such as hash-then-sign, one-time signatures, and chameleon hashing as central tools to construct secure signatures. | |||||
Literature | Jonathan Katz, "Digital Signatures." | |||||
Prerequisites / Notice | Ideally, students will have taken the D-INFK Bachelors course "Information Security" or an equivalent course at Bachelors level. | |||||
Seminar in Information Security | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
263-4651-00L | Current Topics in Cryptography Number of participants limited to 24. The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar. | W | 2 credits | 2S | D. Hofheinz, U. Maurer, K. Paterson | |
Abstract | In this seminar course, students present and discuss a variety of recent research papers in Cryptography. | |||||
Objective | Independent study of scientific literature and assessment of its contributions as well as learning and practicing presentation techniques. | |||||
Content | The course lecturers will provide a list of papers from which students will select. | |||||
Literature | The reading list will be published on the course website. | |||||
Prerequisites / Notice | Ideally, students will have taken the D-INFK Bachelors course “Information Security" or an equivalent course at Bachelors level. Ideally, they will have attended or will attend in parallel the Masters course in "Applied Cryptography”. | |||||
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 | 6 credits | 2V + 1U + 2A | P. Tsankov | |
Abstract | Security issues in modern systems (blockchains, datacenters, AI) result in billions of losses due to hacks. This course introduces the security issues in modern systems and state-of-the-art automated techniques for building secure and reliable systems. The course has a practical focus and covers systems built by successful ETH spin-offs. | |||||
Objective | * Learn about security issues in modern systems -- blockchains, smart contracts, AI-based systems (e.g., autonomous cars), data centers -- and why they are challenging to address. * Understand how the latest automated analysis techniques work, both discrete and probabilistic. * Understand how these techniques combine with machine-learning methods, both supervised and unsupervised. * Understand how to use these methods to build reliable and secure modern systems. * Learn about new open problems that if solved can lead to research and commercial impact. | |||||
Content | Part I: Security of Blockchains - We will cover existing blockchains (e.g., Ethereum, Bitcoin), how they work, what the core security issues are, and how these have led to massive financial losses. - We will show how to extract useful information about smart contracts and transactions using interactive analysis frameworks for querying blockchains (e.g. Google's Ethereum BigQuery). - We will discuss the state-of-the-art security tools (e.g., Link) for ensuring that smart contracts are free of security vulnerabilities. - We will study the latest automated reasoning systems (e.g., Link) for checking custom (temporal) properties of smart contracts and illustrate their operation on real-world use cases. - We will study the underlying methods for automated reasoning and testing (e.g., abstract interpretation, symbolic execution, fuzzing) are used to build such tools. Part II: Security of Datacenters and Networks - We will show how to ensure that datacenters and ISPs are secured using declarative reasoning methods (e.g., Datalog). We will also see how to automatically synthesize secure configurations (e.g. using SyNET and NetComplete) which lead to desirable behaviors, thus automating the job of the network operator and avoiding critical errors. - We will discuss how to apply modern discrete probabilistic inference (e.g., PSI and Bayonet) so to reason about probabilistic network properties (e.g., the probability of a packet reaching a destination if links fail). Part III: Machine Learning for Security - We will discuss how machine learning models for structured prediction are used to address security tasks, including de-obfuscation of binaries (Debin: Link), Android APKs (DeGuard: Link) and JavaScript (JSNice: Link). - We will study to leverage program abstractions in combination with clustering techniques to learn security rules for cryptography APIs from large codebases. - We will study how to automatically learn to identify security vulnerabilities related to the handling of untrusted inputs (cross-Site scripting, SQL injection, path traversal, remote code execution) from large codebases. To gain a deeper understanding, the course will involve a hands-on programming project where the methods studied in the class will be applied. | |||||
Focus Elective Courses Information Systems | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0312-00L | Ubiquitous Computing | W | 4 credits | 2V + 1A | C. Holz, F. Mattern, S. Mayer | |
Abstract | Unlike desktop computing, ubiquitous computing occurs anytime and everywhere, using any device, in any location, and in any format. Computers exist in different forms, from watches and phones to refrigerators or pairs of glasses. Main topics: Smart environments, IoT, mobiles & wearables, context & location, sensing & tracking, computer vision on embedded systems, health monitoring, fabrication. | |||||
Objective | Unlike desktop computing, ubiquitous computing occurs anytime and everywhere, using any device, in any location, and in any format. Computers exist in different forms, from watches and phones to refrigerators or pairs of glasses. Main topics: Smart environments, IoT, mobiles & wearables, context & location, sensing & tracking, computer vision on embedded systems, health monitoring, fabrication. | |||||
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-0526-00L | Statistical Learning Theory | W | 7 credits | 3V + 2U + 1A | J. M. Buhmann, C. Cotrini Jimenez | |
Abstract | The course covers advanced methods of statistical learning: - Variational methods and optimization. - Deterministic annealing. - Clustering for diverse types of data. - Model validation by information theory. | |||||
Objective | The course surveys recent methods of statistical learning. The fundamentals of machine learning, as presented in the courses "Introduction to Machine Learning" and "Advanced Machine Learning", are expanded from the perspective of statistical learning. | |||||
Content | - Variational methods and optimization. We consider optimization approaches for problems where the optimizer is a probability distribution. We will discuss concepts like maximum entropy, information bottleneck, and deterministic annealing. - Clustering. This is the problem of sorting data into groups without using training samples. We discuss alternative notions of "similarity" between data points and adequate optimization procedures. - Model selection and validation. This refers to the question of how complex the chosen model should be. In particular, we present an information theoretic approach for model validation. - Statistical physics models. We discuss approaches for approximately optimizing large systems, which originate in statistical physics (free energy minimization applied to spin glasses and other models). We also study sampling methods based on these models. | |||||
Lecture notes | A draft of a script will be provided. Lecture slides will be made available. | |||||
Literature | Hastie, Tibshirani, Friedman: The Elements of Statistical Learning, Springer, 2001. L. Devroye, L. Gyorfi, and G. Lugosi: A probabilistic theory of pattern recognition. Springer, New York, 1996 | |||||
Prerequisites / Notice | Knowledge of machine learning (introduction to machine learning and/or advanced machine learning) Basic knowledge of statistics. | |||||
252-3005-00L | Natural Language Understanding Does not take place this semester. Takes place in HS20. | W | 5 credits | 2V + 1U + 1A | to be announced | |
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. | |||||
263-5300-00L | Guarantees for Machine Learning | W | 5 credits | 2V + 2A | F. Yang | |
Abstract | This course teaches classical and recent methods in statistics and optimization commonly used to prove theoretical guarantees for machine learning algorithms. The knowledge is then applied in project work that focuses on understanding phenomena in modern machine learning. | |||||
Objective | This course is aimed at advanced master and doctorate students who want to understand and/or conduct independent research on theory for modern machine learning. For this purpose, students will learn common mathematical techniques from statistical learning theory. In independent project work, they then apply their knowledge and go through the process of critically questioning recently published work, finding relevant research questions and learning how to effectively present research ideas to a professional audience. | |||||
Content | This course teaches some classical and recent methods in statistical learning theory aimed at proving theoretical guarantees for machine learning algorithms, including topics in - concentration bounds, uniform convergence - high-dimensional statistics (e.g. Lasso) - prediction error bounds for non-parametric statistics (e.g. in kernel spaces) - minimax lower bounds - regularization via optimization The project work focuses on active theoretical ML research that aims to understand modern phenomena in machine learning, including but not limited to - how overparameterization could help generalization ( interpolating models, linearized NN ) - how overparameterization could help optimization ( non-convex optimization, loss landscape ) - complexity measures and approximation theoretic properties of randomly initialized and trained NN - generalization of robust learning ( adversarial robustness, standard and robust error tradeoff ) - prediction with calibrated confidence ( conformal prediction, calibration ) | |||||
Prerequisites / Notice | It’s absolutely necessary for students to have a strong mathematical background (basic real analysis, probability theory, linear algebra) and good knowledge of core concepts in machine learning taught in courses such as “Introduction to Machine Learning”, “Regression”/ “Statistical Modelling”. It's also helpful to have heard an optimization course or approximation theoretic course. In addition to these prerequisites, this class requires a certain degree of mathematical maturity—including abstract thinking and the ability to understand and write proofs. | |||||
Seminar in Information Systems | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-3002-00L | Algorithms for Database Systems Number of participants limited to 15. The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar. | W | 2 credits | 2S | P. Penna | |
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. | |||||
263-5225-00L | Advanced Topics in Machine Learning and Data Science Number of participants limited to 20. The deadline for deregistering expires at the end of the fourth week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar. | W | 2 credits | 2S | F. Perez Cruz | |
Abstract | In this seminar, recent papers of the machine learning and data science literature are presented and discussed. Possible topics cover statistical models, machine learning algorithms and its applications. | |||||
Objective | The seminar “Advanced Topics in Machine Learning and Data Science” familiarizes students with recent developments in machine learning and data science. Recently published articles, as well as influential papers, have to be presented and critically reviewed. The students will learn how to structure a scientific presentation, which covers the motivation, key ideas and main results of a scientific paper. An important goal of the seminar presentation is to summarize the essential ideas of the paper in sufficient depth for the audience to be able to follow its main conclusion, especially why the article is (or is not) worth attention. The presentation style will play an important role and should reach the level of professional scientific presentations. | |||||
Content | The seminar will cover a number of recent papers which have emerged as important contributions to the machine learning and data science literatures. The topics will vary from year to year but they are centered on methodological issues in machine learning and its application, not only to text or images, but other scientific domains like medicine, climate or physics. | |||||
Literature | The papers will be presented in the first session of the seminar. | |||||
263-3840-00L | Hardware Architectures for Machine Learning The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar. | W | 2 credits | 2S | G. Alonso, T. Hoefler, 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. | |||||
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 | 6 credits | 2V + 1U + 2A | P. Tsankov | |
Abstract | Security issues in modern systems (blockchains, datacenters, AI) result in billions of losses due to hacks. This course introduces the security issues in modern systems and state-of-the-art automated techniques for building secure and reliable systems. The course has a practical focus and covers systems built by successful ETH spin-offs. | |||||
Objective | * Learn about security issues in modern systems -- blockchains, smart contracts, AI-based systems (e.g., autonomous cars), data centers -- and why they are challenging to address. * Understand how the latest automated analysis techniques work, both discrete and probabilistic. * Understand how these techniques combine with machine-learning methods, both supervised and unsupervised. * Understand how to use these methods to build reliable and secure modern systems. * Learn about new open problems that if solved can lead to research and commercial impact. | |||||
Content | Part I: Security of Blockchains - We will cover existing blockchains (e.g., Ethereum, Bitcoin), how they work, what the core security issues are, and how these have led to massive financial losses. - We will show how to extract useful information about smart contracts and transactions using interactive analysis frameworks for querying blockchains (e.g. Google's Ethereum BigQuery). - We will discuss the state-of-the-art security tools (e.g., Link) for ensuring that smart contracts are free of security vulnerabilities. - We will study the latest automated reasoning systems (e.g., Link) for checking custom (temporal) properties of smart contracts and illustrate their operation on real-world use cases. - We will study the underlying methods for automated reasoning and testing (e.g., abstract interpretation, symbolic execution, fuzzing) are used to build such tools. Part II: Security of Datacenters and Networks - We will show how to ensure that datacenters and ISPs are secured using declarative reasoning methods (e.g., Datalog). We will also see how to automatically synthesize secure configurations (e.g. using SyNET and NetComplete) which lead to desirable behaviors, thus automating the job of the network operator and avoiding critical errors. - We will discuss how to apply modern discrete probabilistic inference (e.g., PSI and Bayonet) so to reason about probabilistic network properties (e.g., the probability of a packet reaching a destination if links fail). Part III: Machine Learning for Security - We will discuss how machine learning models for structured prediction are used to address security tasks, including de-obfuscation of binaries (Debin: Link), Android APKs (DeGuard: Link) and JavaScript (JSNice: Link). - We will study to leverage program abstractions in combination with clustering techniques to learn security rules for cryptography APIs from large codebases. - We will study how to automatically learn to identify security vulnerabilities related to the handling of untrusted inputs (cross-Site scripting, SQL injection, path traversal, remote code execution) from large codebases. To gain a deeper understanding, the course will involve a hands-on programming project where the methods studied in the class will be applied. | |||||
Focus Elective Courses Software Engineering In spring 2020 there will be no course offered in this category. | ||||||
Seminar in Software Engineering | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
263-2100-00L | Research Topics in Software Engineering Number of participants limited to 22. The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar. | W | 2 credits | 2S | Z. Su, P. He, M. Rigger, T. Su | |
Abstract | This seminar is an opportunity to become familiar with current research in software engineering and more generally with the methods and challenges of scientific research. | |||||
Objective | Each student will be asked to study some papers from the recent software engineering literature and review them. This is an exercise in critical review and analysis. Active participation is required (a presentation of a paper as well as participation in discussions). | |||||
Content | The aim of this seminar is to introduce students to recent research results in the area of programming languages and software engineering. To accomplish that, students will study and present research papers in the area as well as participate in paper discussions. The papers will span topics in both theory and practice, including papers on program verification, program analysis, testing, programming language design, and development tools. | |||||
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. The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar. | W | 2 credits | 2S | V. Raychev | |
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. | |||||
Focus Courses in Theoretical Computer Science | ||||||
Focus Core Courses Theoretical Computer Science | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
261-5110-00L | Optimization for Data Science | W | 8 credits | 3V + 2U + 2A | B. Gärtner, D. Steurer | |
Abstract | This course provides an in-depth theoretical treatment of optimization methods that are particularly relevant in data science. | |||||
Objective | Understanding the theoretical guarantees (and their limits) of relevant optimization methods used in data science. Learning general paradigms to deal with optimization problems arising in data science. | |||||
Content | This course provides an in-depth theoretical treatment of optimization methods that are particularly relevant in machine learning and data science. In the first part of the course, we will first give a brief introduction to convex optimization, with some basic motivating examples from machine learning. Then we will analyse classical and more recent first and second order methods for convex optimization: gradient descent, projected gradient descent, subgradient descent, stochastic gradient descent, Nesterov's accelerated method, Newton's method, and Quasi-Newton methods. The emphasis will be on analysis techniques that occur repeatedly in convergence analyses for various classes of convex functions. We will also discuss some classical and recent theoretical results for nonconvex optimization. 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. |
- Page 2 of 7 All