Suchergebnis: Katalogdaten im Herbstsemester 2019
Informatik Master ![]() | ||||||
![]() | ||||||
![]() ![]() | ||||||
![]() ![]() ![]() | ||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |
---|---|---|---|---|---|---|
252-0286-00L | System Construction ![]() ![]() Number of participants limited to 30. | W | 5 KP | 2V + 1U + 1A | F. Friedrich Wicker | |
Kurzbeschreibung | Main goal is teaching knowledge and skills needed for building custom operating systems and runtime environments. Relevant topics are studied at the example of sufficiently simple systems that have been built at our Institute in the past, ranging from purpose-oriented single processor real-time systems up to generic system kernels on multi-core hardware. | |||||
Lernziel | The lecture's main goal is teaching of knowledge and skills needed for building custom operating systems and runtime environments. The lecture intends to supplement more abstract views of software construction, and to contribute to a better understanding of "how it really works" behind the scenes. | |||||
Inhalt | Case Study 1: Embedded System - Safety-critical and fault-tolerant monitoring system - Based on an auto-pilot system for helicopters Case Study 2: Multi-Processor Operating System - Universal operating system for symmetric multiprocessors - Shared memory approach - Based on Language-/System Codesign (Active Oberon / A2) Case Study 3: Custom designed Single-Processor System - RISC Single-processor system designed from scratch - Hardware on FPGA - Graphical workstation OS and compiler (Project Oberon) Case Study 4: Custom-designed Multi-Processor System - Special purpose heterogeneous system on a chip - Masssively parallel hard- and software architecture based on message passing - Focus: dataflow based applications | |||||
Skript | Lecture material will be made available from the lecture homepage. | |||||
263-2400-00L | Reliable and Interpretable Artificial Intelligence ![]() | W | 5 KP | 2V + 1U + 1A | M. Vechev | |
Kurzbeschreibung | Creating reliable and explainable probabilistic models is a fundamental challenge to solving the artificial intelligence problem. This course covers some of the latest and most exciting advances that bring us closer to constructing such models. | |||||
Lernziel | The main objective of this course is to expose students to the latest and most exciting research in the area of explainable and interpretable artificial intelligence, a topic of fundamental and increasing importance. Upon completion of the course, the students should have mastered the underlying methods and be able to apply them to a variety of problems. To facilitate deeper understanding, an important part of the course will be a group hands-on programming project where students will build a system based on the learned material. | |||||
Inhalt | The course covers some of the latest research (over the last 2-3 years) underlying the creation of safe, trustworthy, and reliable AI (more information here: https://www.sri.inf.ethz.ch/teaching/riai2019): * Adversarial Attacks on Deep Learning (noise-based, geometry attacks, sound attacks, physical attacks, autonomous driving, out-of-distribution) * Defenses against attacks * Combining gradient-based optimization with logic for encoding background knowledge * Complete Certification of deep neural networks via automated reasoning (e.g., via numerical abstractions, mixed-integer solvers). * Probabilistic certification of deep neural networks * Training deep neural networks to be provably robust via automated reasoning * Understanding and Interpreting Deep Networks * Probabilistic Programming | |||||
Voraussetzungen / Besonderes | While not a formal requirement, the course assumes familiarity with basics of machine learning (especially probability theory, linear algebra, gradient descent, and neural networks). These topics are usually covered in “Intro to ML” classes at most institutions (e.g., “Introduction to Machine Learning” at ETH). For solving assignments, some programming experience in Python is excepted. | |||||
263-2810-00L | Advanced Compiler Design ![]() Findet dieses Semester nicht statt. | W | 7 KP | 3V + 2U + 1A | Noch nicht bekannt | |
Kurzbeschreibung | This course covers advanced topics in compiler design: SSA intermediate representation and its use in optimization, just-in-time compilation, profile-based compilation, exception handling in modern programming languages. | |||||
Lernziel | Understand translation of object-oriented programs, opportunities and difficulties in optimizing programs using state-of-the-art techniques (profile-based compilation, just-in-time compilation, runtime system interaction) | |||||
Inhalt | This course builds conceptually on Compiler Design (a basic class for advanced undergraduates), but this class is not a prerequisite. Students should however have a solid understanding of basic compiler technology. The focus is on handling the key features of modern object-oriented programs. We review implementations of single and multiple inheritance (incl. object layout, method dispatch) and optimization opportunities. Specific topics: intermediate representations (IR) for optimizing compilers, static single assignment (SSA) representation, constant folding, partial redundancy optimizations, profiling, profile-guided code generation. Special topics as time permits: debugging optimized code, multi-threading, data races, object races, memory consistency models, programming language design. Review of single inheritance, multiple inheritance, object layout, method dispatch, type analysis, type propagation and related topics. This course provides another opportunity to explore software design in a medium-scale software project. | |||||
Literatur | Aho/Lam/Sethi/Ullmann, Compilers - Principles, Techniques, and Tools (2nd Edition). In addition, papers as provided in the class. | |||||
Voraussetzungen / Besonderes | A basic course on compiler design is helpful but not mandatory. Student should have programming skills/experience to implement an optimizer (or significant parts of an optimizer) for a simple object-oriented language. The programming project is implemented using Java. |
Seite 1 von 1