Suchergebnis: Katalogdaten im Herbstsemester 2019

Informatik Master Information
Vertiefungsfächer
Vertiefung General Studies
Wahlfächer der Vertiefung General Studies
NummerTitelTypECTSUmfangDozierende
252-0286-00LSystem Construction Information Belegung eingeschränkt - Details anzeigen
Number of participants limited to 30.
W5 KP2V + 1U + 1AF. Friedrich Wicker
KurzbeschreibungMain 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.
LernzielThe 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.
InhaltCase 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
SkriptLecture material will be made available from the lecture homepage.
252-0543-01LComputer Graphics Information W7 KP3V + 2U + 1AM. Gross, M. Papas
KurzbeschreibungThis course covers some of the fundamental concepts of computer graphics generation of photorealistic images from digital representations of 3D scenes and image-based methods for recovering digital scene representations from captured images.
LernzielAt the end of the course the students will be able to build a rendering system. The students will study the basic principles of rendering and image synthesis. In addition, the course is intended to stimulate the students' curiosity to explore the field of computer graphics in subsequent courses or on their own.
InhaltThis course covers fundamental concepts of modern computer graphics. Students will learn about 3D object representations and the details of how to generate photorealistic images from digital representations of 3D scenes. Starting with an introduction to 3D shape modeling, geometry representation and texture mapping, we will move on to the physics of light transport, acceleration structures, appearance modeling and Monte Carlo integration. We will apply these principles for computing light transport of direct and global illumination due to surfaces and participating media. We will end with an overview of modern image-based capture and image synthesis methods, covering topics such as geometry and material capture, light-fields and depth-image based rendering.
Skriptno
LiteraturBooks:
High Dynamic Range Imaging: Acquisition, Display, and Image-Based Lighting
Multiple view geometry in computer vision
Physically Based Rendering: From Theory to Implementation
Voraussetzungen / BesonderesPrerequisites:
Fundamentals of calculus and linear algebra, basic concepts of algorithms and data structures, programming skills in C++, Visual Computing course recommended.
The programming assignments will be in C++. This will not be taught in the class.
252-0546-00LPhysically-Based Simulation in Computer Graphics Information W5 KP2V + 1U + 1AV. da Costa de Azevedo, B. Solenthaler
KurzbeschreibungDie Vorlesung gibt eine Einführung in das Gebiet der physikalisch basierten Animation in der Computer Graphik und einen Überblick über fundamentale Methoden und Algorithmen. In den praktischen Übungen werden drei Aufgabenblätter in kleinen Gruppen bearbeitet. Zudem sollen in einem Programmierprojekt die Vorlesungsinhalte in einem 3D Spiel oder einer vergleichbaren Anwendung umgesetzt werden.
LernzielDie Vorlesung gibt eine Einführung in das Gebiet der physikalisch basierten Animation in der Computer Graphik und einen Überblick über fundamentale Methoden und Algorithmen. In den praktischen Übungen werden drei Aufgabenblätter in kleinen Gruppen bearbeitet. Zudem sollen in einem Programmierprojekt die Vorlesungsinhalte in einem 3D Spiel oder einer vergleichbaren Anwendung umgesetzt werden.
InhaltIn der Vorlesung werden Themen aus dem Gebiet der physikalisch-basierten Modellierung wie Partikel-Systeme, Feder-Masse Modelle, die Methoden der Finiten Differenzen und der Finiten Elemente behandelt. Diese Methoden und Techniken werden verwendet um deformierbare Objekte oder Flüssigkeiten zu simulieren mit Anwendungen in Animationsfilmen, 3D Computerspielen oder medizinischen Systemen. Es werden auch Themen wie Starrkörperdynamik, Kollisionsdetektion und Charakteranimation behandelt.
Voraussetzungen / BesonderesBasiskenntnisse in Analysis und Physik, Algorithmen und Datenstrukturen und der Programmierung in C++. Kenntnisse auf den Gebieten Numerische Mathematik sowie Gewoehnliche und Partielle Differentialgleichungen sind von Vorteil, werden aber nicht vorausgesetzt.
252-0811-00LApplied Security Laboratory Information
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.
W8 KP7PD. Basin
KurzbeschreibungHands-on course on applied aspects of information security. Applied
information security, operating system security, OS hardening, computer forensics, web application security, project work, design, implementation, and configuration of security mechanisms, risk analysis, system review.
LernzielThe Applied Security Laboratory addresses four major topics: operating system security (hardening, vulnerability scanning, access control, logging), application security with an emphasis on web applications (web server setup, common web exploits, authentication, session handling, code security), computer forensics, and risk analysis and risk management.
InhaltThis course emphasizes applied aspects of Information Security. The students will study a number of topics in a hands-on fashion and carry out experiments in order to better understand the need for secure implementation and configuration of IT systems and to assess the effectivity and impact of security measures. This part is based on a book and virtual machines that include example applications, questions, and answers.

The students will also complete an independent project: based on a set of functional requirements, they will design and implement a prototypical IT system. In addition, they will conduct a thorough security analysis and devise appropriate security measures for their systems. Finally, they will carry out a technical and conceptual review of another system. All project work will be performed in teams and must be properly documented.
SkriptThe course is based on the book "Applied Information Security - A Hands-on Approach". More information: http://www.infsec.ethz.ch/appliedlabbook
LiteraturRecommended reading includes:
* Pfleeger, Pfleeger: Security in Computing, Third Edition, Prentice Hall, available online from within ETH
* Garfinkel, Schwartz, Spafford: Practical Unix & Internet Security, O'Reilly & Associates.
* Various: OWASP Guide to Building Secure Web Applications, available online
* Huseby: Innocent Code -- A Security Wake-Up Call for Web Programmers, John Wiley & Sons.
* Scambray, Schema: Hacking Exposed Web Applications, McGraw-Hill.
* O'Reilly, Loukides: Unix Power Tools, O'Reilly & Associates.
* Frisch: Essential System Administration, O'Reilly & Associates.
* NIST: Risk Management Guide for Information Technology Systems, available online as PDF
* BSI: IT-Grundschutzhandbuch, available online
Voraussetzungen / Besonderes* The lab allows flexible working since there are only few mandatory meetings during the semester.
* The lab covers a variety of different techniques. Thus, participating students should have a solid foundation in the following areas: information security, operating system administration (especially Unix/Linux), and networking. Students are also expected to have a basic understanding of HTML, PHP, JavaScript, and MySQL because several examples are implemented in these languages.
* Students must be prepared to spend more than three hours per week to complete the lab assignments and the project. This applies particularly to students who do not meet the recommended requirements given above. Successful participants of the course receive 8 credits as compensation for their effort.
* All participants must sign the lab's charter and usage policy during the introduction lecture.
252-0817-00LDistributed Systems Laboratory
Im Masterstudium können zusätzlich zu den Vertiefungsübergreifenden Fächern nur max. 10 Kreditpunkte über Laboratorien erarbeitet werden. Diese Labs gelten nur für das Masterstudium. Weitere Laboratorien werden auf dem Beiblatt aufgeführt.
W10 KP9PG. Alonso, F. Mattern, T. Roscoe, A. Singla, R. Wattenhofer, C. Zhang
KurzbeschreibungThis 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 wireless networks, ad-hoc networks, RFID, and distributed applications on smartphones.
LernzielGain hands-on-experience with real products and the latest technology in distributed systems.
InhaltThis 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 smartphones. The goal 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, see https://www.dsl.inf.ethz.ch/ or contact Prof. Mattern, Prof. Wattenhofer, Prof. Roscoe or Prof. G. Alonso.
252-1407-00LAlgorithmic Game Theory Information W7 KP3V + 2U + 1AP. Penna
KurzbeschreibungGame theory provides a formal model to study the behavior and interaction of self-interested users and programs in large-scale distributed computer systems without central control. The course discusses algorithmic aspects of game theory.
LernzielLearning the basic concepts of game theory and mechanism design, acquiring the computational paradigm of self-interested agents, and using these concepts in the computational and algorithmic setting.
InhaltThe Internet is a typical example of a large-scale distributed computer system without central control, with users that are typically only interested in their own good. For instance, they are interested in getting high bandwidth for themselves, but don't care about others, and the same is true for computational load or download rates. Game theory provides a particularly well-suited model for the behavior and interaction of such selfish users and programs. Classic game theory dates back to the 1930s and typically does not consider algorithmic aspects at all. Only a few years back, algorithms and game theory have been considered together, in an attempt to reconcile selfish behavior of independent agents with the common good.

This course discusses algorithmic aspects of game-theoretic models, with a focus on recent algorithmic and mathematical developments. Rather than giving an overview of such developments, the course aims to study selected important topics in depth.

Outline:
- Introduction to classic game-theoretic concepts.
- Existence of stable solutions (equilibria), algorithms for computing equilibria, computational complexity.
- Speed of convergence of natural game playing dynamics such as best-response dynamics or regret minimization.
- Techniques for bounding the quality-loss due to selfish behavior versus optimal outcomes under central control (a.k.a. the 'Price of Anarchy').
- Design and analysis of mechanisms that induce truthful behavior or near-optimal outcomes at equilibrium.
- Selected current research topics, such as Google's Sponsored Search Auction, the U.S. FCC Spectrum Auction, Kidney Exchange.
SkriptLecture notes will be usually posted on the website shortly after each lecture.
Literatur"Algorithmic Game Theory", edited by N. Nisan, T. Roughgarden, E. Tardos, and V. Vazirani, Cambridge University Press, 2008;

"Game Theory and Strategy", Philip D. Straffin, The Mathematical Association of America, 5th printing, 2004

Several copies of both books are available in the Computer Science library.
Voraussetzungen / BesonderesAudience: Although this is a Computer Science course, we encourage the participation from all students who are interested in this topic.

Requirements: You should enjoy precise mathematical reasoning. You need to have passed a course on algorithms and complexity. No knowledge of game theory is required.
252-1411-00LSecurity of Wireless Networks Information W5 KP2V + 1U + 1AS. Capkun, K. Kostiainen
KurzbeschreibungCore Elements: Wireless communication channel, Wireless network architectures and protocols, Attacks on wireless networks, Protection techniques.
LernzielAfter this course, the students should be able to: describe and classify security goals and attacks in wireless networks; describe security architectures of the following wireless systems and networks: 802.11, GSM/UMTS, RFID, ad hoc/sensor networks; reason about security protocols for wireless network; implement mechanisms to secure
802.11 networks.
InhaltWireless channel basics. Wireless electronic warfare: jamming and target tracking. Basic security protocols in cellular, WLAN and
multi-hop networks. Recent advances in security of multi-hop networks; RFID privacy challenges and solutions.
252-1425-00LGeometry: Combinatorics and Algorithms Information W6 KP2V + 2U + 1AB. Gärtner, M. Hoffmann, M. Wettstein
KurzbeschreibungGeometric structures are useful in many areas, and there is a need to understand their structural properties, and to work with them algorithmically. The lecture addresses theoretical foundations concerning geometric structures. Central objects of interest are triangulations. We study combinatorial (Does a certain object exist?) and algorithmic questions (Can we find a certain object efficiently?)
LernzielThe goal is to make students familiar with fundamental concepts, techniques and results in combinatorial and computational geometry, so as to enable them to model, analyze, and solve theoretical and practical problems in the area and in various application domains.
In particular, we want to prepare students for conducting independent research, for instance, within the scope of a thesis project.
InhaltPlanar and geometric graphs, embeddings and their representation (Whitney's Theorem, canonical orderings, DCEL), polygon triangulations and the art gallery theorem, convexity in R^d, planar convex hull algorithms (Jarvis Wrap, Graham Scan, Chan's Algorithm), point set triangulations, Delaunay triangulations (Lawson flips, lifting map, randomized incremental construction), Voronoi diagrams, the Crossing Lemma and incidence bounds, line arrangements (duality, Zone Theorem, ham-sandwich cuts), 3-SUM hardness, counting planar triangulations.
Skriptyes
LiteraturMark de Berg, Marc van Kreveld, Mark Overmars, Otfried Cheong, Computational Geometry: Algorithms and Applications, Springer, 3rd ed., 2008.
Satyan Devadoss, Joseph O'Rourke, Discrete and Computational Geometry, Princeton University Press, 2011.
Stefan Felsner, Geometric Graphs and Arrangements: Some Chapters from Combinatorial Geometry, Teubner, 2004.
Jiri Matousek, Lectures on Discrete Geometry, Springer, 2002.
Takao Nishizeki, Md. Saidur Rahman, Planar Graph Drawing, World Scientific, 2004.
Voraussetzungen / BesonderesPrerequisites: The course assumes basic knowledge of discrete mathematics and algorithms, as supplied in the first semesters of Bachelor Studies at ETH.
Outlook: In the following spring semester there is a seminar "Geometry: Combinatorics and Algorithms" that builds on this course. There are ample possibilities for Semester-, Bachelor- and Master Thesis projects in the area.
263-2210-00LComputer Architecture Information W8 KP6G + 1AO. Mutlu
KurzbeschreibungComputer architecture is the science and art of selecting and interconnecting hardware components to create a computer that meets functional, performance and cost goals. This course introduces the basic components of a modern computing system (processors, memory, interconnects, storage). The course takes a hardware/software cooperative approach to understanding and evaluating computing systems.
LernzielWe will learn the fundamental concepts of the different parts of modern computing systems, as well as the latest trends by exploring the recent research in Industry and Academia. We will extensively cover memory technologies (including DRAM and new Non-Volatile Memory technologies), memory scheduling, parallel computing systems (including multicore processors and GPUs), heterogeneous computing, processing-in-memory, interconnection networks, specialized systems for major data-intensive workloads (e.g. graph processing, bioinformatics, machine learning), etc.
InhaltThe principles presented in the lecture are reinforced in the laboratory through the design and simulation of a register transfer (RT) implementation of a MIPS-like pipelined processor in System Verilog. In addition, we will develop a cycle-accurate simulator of a similar processor in C, and we will use this simulator to explore different design options.
SkriptAll the materials (including lecture slides) will be provided on the course website: https://safari.ethz.ch/architecture/
The video recordings of the lectures are expected to be made available after lectures.
LiteraturWe will provide required and recommended readings in every lecture. They will mainly consist of research papers presented in major Computer Architecture and related conferences and journals.
Voraussetzungen / BesonderesDesign of Digital Circuits
263-2400-00LReliable and Interpretable Artificial Intelligence Information W5 KP2V + 1U + 1AM. Vechev
KurzbeschreibungCreating 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.
LernzielThe 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.
InhaltThe 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 / BesonderesWhile 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-3210-00LDeep Learning Information W5 KP2V + 1U + 1AT. Hofmann
KurzbeschreibungDeep learning is an area within machine learning that deals with algorithms and models that automatically induce multi-level data representations.
LernzielIn recent years, deep learning and deep networks have significantly improved the state-of-the-art in many application domains such as computer vision, speech recognition, and natural language processing. This class will cover the mathematical foundations of deep learning and provide insights into model design, training, and validation. The main objective is a profound understanding of why these methods work and how. There will also be a rich set of hands-on tasks and practical projects to familiarize students with this emerging technology.
Voraussetzungen / BesonderesThis is an advanced level course that requires some basic background in machine learning. More importantly, students are expected to have a very solid mathematical foundation, including linear algebra, multivariate calculus, and probability. The course will make heavy use of mathematics and is not (!) meant to be an extended tutorial of how to train deep networks with tools like Torch or Tensorflow, although that may be a side benefit.

The participation in the course is subject to the following condition:
- Students must have taken the exam in Advanced Machine Learning (252-0535-00) or have acquired equivalent knowledge, see exhaustive list below:

Advanced Machine Learning
https://ml2.inf.ethz.ch/courses/aml/

Computational Intelligence Lab
http://da.inf.ethz.ch/teaching/2019/CIL/

Introduction to Machine Learning
https://las.inf.ethz.ch/teaching/introml-S19

Statistical Learning Theory
http://ml2.inf.ethz.ch/courses/slt/

Computational Statistics
https://stat.ethz.ch/lectures/ss19/comp-stats.php

Probabilistic Artificial Intelligence
https://las.inf.ethz.ch/teaching/pai-f18
263-3850-00LInformal Methods Information W4 KP2G + 1AD. Cock
KurzbeschreibungFormal methods are increasingly a key part of the methodological toolkit of systems programmers - those writing operating systems, databases, and distributed systems. This course is about how to apply concepts, techniques, and principles from formal methods to such software systems, and how to get into the habit of thinking formally about systems design even when writing low-level C code.
LernzielThis course is about equipping students whose focus is systems with the insights and conceptual tools provided by formal methods, and therby enabling them to become better systems programmers.
By the end of the course, students should be able to seamlessly integrate basic concepts form formal methods into how they conceive, design, implement, reason about, and debug computer systems.

The goal is not to provide a comprehensive introduction to formal methods - this is well covered by other courses in the department. Instead, it is intended to provide students in computer systems (who may or may not have existing background knowledge of formal methods) with a basis for applying formal methods in their work.
InhaltThis course does not assume prior knowledge of formal methods, and will start with a quick review of topics such static vs. dynamic reasoning, variants and invariants, program algebra and refinement, etc. However, it is strongly recommended that students have already taken one of the introductory formal methods course at ETH (or equivalents elsewhere) before taking this course - the emphasis is on reinforcing these concepts by applying them, not to teach them from scratch.

Instead, the majority of the course will be about how to apply these techniques to actual, practical code in real systems. We will work from real systems code written both by students taking the course, and practical systems developed using formal techniques, in particular the verified seL4 microkernel will be a key case study. We will also focus on informal, pen-and-paper arguments for correctness of programs and systems rather than using theorem provers or automated verification tools; again these latter techniques are well covered in other courses (and recommended as a complement to this one).
263-4500-00LAdvanced Algorithms Information W6 KP2V + 2U + 1AM. Ghaffari, A. Krause
KurzbeschreibungThis is an advanced course on the design and analysis of algorithms, covering a range of topics and techniques not studied in typical introductory courses on algorithms.
LernzielThis course is intended to familiarize students with (some of) the main tools and techniques developed over the last 15-20 years in algorithm design, which are by now among the key ingredients used in developing efficient algorithms.
InhaltThe lectures will cover a range of topics, including the following: graph sparsifications while preserving cuts or distances, various approximation algorithms techniques and concepts, metric embeddings and probabilistic tree embeddings, online algorithms, multiplicative weight updates, streaming algorithms, sketching algorithms.
Skripthttps://people.inf.ethz.ch/gmohsen/AA19/
Voraussetzungen / BesonderesThis course is designed for masters and doctoral students and it especially targets those interested in theoretical computer science, but it should also be accessible to last-year bachelor students.

Sufficient comfort with both (A) Algorithm Design & Analysis and (B) Probability & Concentrations. E.g., having passed the course Algorithms, Probability, and Computing (APC) is highly recommended, though not required formally. If you are not sure whether you're ready for this class or not, please consult the instructor.
263-5210-00LProbabilistic Artificial Intelligence Information Belegung eingeschränkt - Details anzeigen W5 KP2V + 1U + 1AA. Krause
KurzbeschreibungThis course introduces core modeling techniques and algorithms from statistics, optimization, planning, and control and study applications in areas such as sensor networks, robotics, and the Internet.
LernzielHow can we build systems that perform well in uncertain environments and unforeseen situations? How can we develop systems that exhibit "intelligent" behavior, without prescribing explicit rules? How can we build systems that learn from experience in order to improve their performance? We will study core modeling techniques and algorithms from statistics, optimization, planning, and control and study applications in areas such as sensor networks, robotics, and the Internet. The course is designed for upper-level undergraduate and graduate students.
InhaltTopics covered:
- Search (BFS, DFS, A*), constraint satisfaction and optimization
- Tutorial in logic (propositional, first-order)
- Probability
- Bayesian Networks (models, exact and approximative inference, learning) - Temporal models (Hidden Markov Models, Dynamic Bayesian Networks)
- Probabilistic palnning (MDPs, POMPDPs)
- Reinforcement learning
- Combining logic and probability
Voraussetzungen / BesonderesSolid basic knowledge in statistics, algorithms and programming
263-5701-00LVisualization Information W5 KP2V + 1U + 1AT. Günther
KurzbeschreibungThis lecture provides an introduction into visualization of scientific and abstract data.
LernzielThis lecture provides an introduction into the visualization of scientific and abstract data. The lecture introduces into the two main branches of visualization: scientific visualization and information visualization. The focus is set onto scientific data, demonstrating the usefulness and necessity of computer graphics in other fields than the entertainment industry. The exercises contain theoretical tasks on the mathematical foundations such as numerical integration, differential vector calculus, and flow field analysis, while programming exercises familiarize with the Visualization Tool Kit (VTK). In a course project, the learned methods are applied to visualize one real scientific data set. The provided data sets contain measurements of volcanic eruptions, galaxy simulations, fluid simulations, meteorological cloud simulations and asteroid impact simulations.
InhaltThis lecture opens with human cognition basics, and scalar and vector calculus. Afterwards, this is applied to the visualization of air and fluid flows, including geometry-based, topology-based and feature-based methods. Further, the direct and indirect visualization of volume data is discussed. The lecture ends on the viualization of abstract, non-spatial and multi-dimensional data by means of information visualization.
Voraussetzungen / BesonderesFundamentals of differential calculus. Knowledge on numerical mathematics, computer algebra systems, as well as ordinary and partial differential equations is an asset, but not required.
263-5905-00LMixed Reality Laboratory Information
Im Masterstudium können zusätzlich zu den Vertiefungsübergreifenden Fächern nur max. 10 Kreditpunkte über Laboratorien erarbeitet werden. Weitere Laboratorien werden auf dem Beiblatt aufgeführt.
W10 KP9PF. Bogo, M. R. Oswald
KurzbeschreibungThe goal of this course is an introduction and hands-on experience on latest mixed reality technology at the cross-section of 3D computer graphics and vision, human machine interaction as well as gaming technology.
LernzielThe goal is to get a clear understanding on how to build mixed reality apps, covering current software SDKs and game engines, as well as foundations of 3D graphics, computer vision and human machine interaction.
Small groups of students will realize a particular software project and deploy it to an MR/AR device such as Microsoft HoloLens or a tablet or smartphone.
InhaltThe course introduces latest mixed reality technology and provides introductory elements for a number of related fields including:
Introduction to Mixed Reality / Augmented Reality / Virtual Reality Introduction to 3D Computer Graphics, 3D Computer Vision During the course, small groups of students will work on a particular project with the goal to design, develop and deploy a mixed reality application. The project topics are flexible and can reach from proof-of-concept vision/graphics/hmi research, to apps that support teaching with interactive augmented reality, or game development. The default platform will be Microsoft HoloLens in combination with C# and Unity3D. Besides introductory lectures and guest lectures covering the above mentioned topics, the focus of this course is on the project work and technical project-related aspects. There will be no exercises, but weekly meetings to exchange ideas, discuss technical issues and to track progress.
Voraussetzungen / BesonderesPrerequisites include:
- Good programming skills (C# / C++ / Java etc.)
- Computer graphics/vision experience: Students should have taken, at a minimum, Visual Computing. Higher level courses are recommended, such as Introduction to Computer Graphics, 3D Vision, Computer Vision.
261-5100-00LComputational Biomedicine Information Belegung eingeschränkt - Details anzeigen
Number of participants limited to 60.
W5 KP2V + 1U + 1AG. Rätsch, V. Boeva, N. Davidson
KurzbeschreibungThe course critically reviews central problems in Biomedicine and discusses the technical foundations and solutions for these problems.
LernzielOver the past years, rapid technological advancements have transformed classical disciplines such as biology and medicine into fields of apllied data science. While the sheer amount of the collected data often makes computational approaches inevitable for analysis, it is the domain specific structure and close relation to research and clinic, that call for accurate, robust and efficient algorithms. In this course we will critically review central problems in Biomedicine and will discuss the technical foundations and solutions for these problems.
InhaltThe course will consist of three topic clusters that will cover different aspects of data science problems in Biomedicine:
1) String algorithms for the efficient representation, search, comparison, composition and compression of large sets of strings, mostly originating from DNA or RNA Sequencing. This includes genome assembly, efficient index data structures for strings and graphs, alignment techniques as well as quantitative approaches.
2) Statistical models and algorithms for the assessment and functional analysis of individual genomic variations. this includes the identification of variants, prediction of functional effects, imputation and integration problems as well as the association with clinical phenotypes.
3) Models for organization and representation of large scale biomedical data. This includes ontolgy concepts, biomedical databases, sequence annotation and data compression.
Voraussetzungen / BesonderesData Structures & Algorithms, Introduction to Machine Learning, Statistics/Probability, Programming in Python, Unix Command Line
227-0575-00LAdvanced Topics in Communication Networks (Autumn 2019) Information W6 KP2V + 2UL. Vanbever
KurzbeschreibungThis class will introduce students to advanced, research-level topics in the area of communication networks, both theoretically and practically. Coverage will vary from semester to semester. Repetition for credit is possible, upon consent of the instructor. During the Fall Semester of 2019, the class will concentrate on network programmability and network data plane programming.
LernzielThe goal of this lecture is to introduce students to the latest advances in the area of computer networks, both theoretically and practically. The course will be divided in two main blocks. The first block (~7 weeks) will interleave classical lectures with practical exercises and paper readings. The second block (~6 weeks) will consist of a practical project which will be performed in small groups (~3 students). During the second block, lecture slots will be replaced by feedback sessions where students will be able to ask questions and get feedback about their project. The last week of the semester will be dedicated to student presentations and demonstrations.

During the Fall Semester of 2019 (and similarly to the 2018 edition), the class will focus on programmable network data planes and will involve developing network applications on top of the latest generation of programmable network hardware. By leveraging data-plane programmability, these applications can build deep traffic insights to, for instance, detect traffic anomalies (e.g. using Machine Learning), flexibly adapt forwarding behaviors (to improve performance), speed-up distributed applications (e.g. Map Reduce), or track network-wide health. More importantly, all this can now be done at line-rate, at forwarding speeds that can reach Terabits per second.
InhaltTraditionally, computer networks have been composed of "closed" network devices (routers, switches, middleboxes) whose features, forwarding behaviors and configuration interfaces are exclusively defined on a per-vendor basis. Innovating in such networks is a slow-paced process (if at all possible): it often takes years for new features to make it to mainstream network equipments. Worse yet, managing the network is hard and prone to failures as operators have to painstakingly coordinate the behavior of heterogeneous network devices so that they, collectively, compute a compatible forwarding state. Actually, it has been shown that the majority of the network downtimes are caused by humans, not equipment failures.

Network programmability and Software-Defined Networking (SDN) have recently emerged as a way to fundamentally change the way we build, innovate, and operate computer networks, both at the software *and* at the hardware level. Specifically, programmable networks now allow: (i) to adapt how traffic flows in the entire network through standardized software interfaces; and (ii) to reprogram the hardware pipeline of the network devices, i.e. the ASICs used to forward data packets.

Among others, we'll cover the following topics:
- The fundamentals and motivation behind network programmability;
- The design and optimization of network control loops;
- The use of advanced network data structures adapted for in-network execution;
- The P4 programming language and associated runtime environment;
- Hands-on examples of in-network applications solving hard problems in the area of data-centers, wide-area networks, and ISP networks.

The course will be divided in two blocks of 7 weeks. The first block will consist in traditional lectures introducing the concepts along with practical exercises to get acquainted with programmable data planes. The second block will consist of a project to be done in groups of few students (~3 students). The project will involve developing a fully working network application. Students will be free to propose their own application or pick one from a list. At the end of the course, each group will present its application in front of the class.
SkriptLecture notes and material will be made available before each course on the course website.
LiteraturRelevant references will be made available through the course website.
Voraussetzungen / BesonderesPrerequisites: Communication Networks (227-0120-00L) or equivalents / good programming skills (in any language) are expected as both the exercices and the final project will involve coding.
401-3055-64LAlgebraic Methods in Combinatorics Information W6 KP2V + 1UB. Sudakov
KurzbeschreibungCombinatorics is a fundamental mathematical discipline as well as an essential component of many mathematical areas, and its study has experienced an impressive growth in recent years. This course provides a gentle introduction to Algebraic methods, illustrated by examples and focusing on basic ideas and connections to other areas.
LernzielThe students will get an overview of various algebraic methods for solving combinatorial problems. We expect them to understand the proof techniques and to use them autonomously on related problems.
InhaltCombinatorics is a fundamental mathematical discipline as well as an essential component of many mathematical areas, and its study has experienced an impressive growth in recent years. While in the past many of the basic combinatorial results were obtained mainly by ingenuity and detailed reasoning, the modern theory has grown out of this early stage and often relies on deep, well-developed tools.

One of the main general techniques that played a crucial role in the development of Combinatorics was the application of algebraic methods. The most fruitful such tool is the dimension argument. Roughly speaking, the method can be described as follows. In order to bound the cardinality of of a discrete structure A one maps its elements to vectors in a linear space, and shows that the set A is mapped to linearly independent vectors. It then follows that the cardinality of A is bounded by the dimension of the corresponding linear space. This simple idea is surprisingly powerful and has many famous applications.

This course provides a gentle introduction to Algebraic methods, illustrated by examples and focusing on basic ideas and connections to other areas. The topics covered in the class will include (but are not limited to):

Basic dimension arguments, Spaces of polynomials and tensor product methods, Eigenvalues of graphs and their application, the Combinatorial Nullstellensatz and the Chevalley-Warning theorem. Applications such as: Solution of Kakeya problem in finite fields, counterexample to Borsuk's conjecture, chromatic number of the unit distance graph of Euclidean space, explicit constructions of Ramsey graphs and many others.

The course website can be found at
https://moodle-app2.let.ethz.ch/course/view.php?id=11617
SkriptLectures will be on the blackboard only, but there will be a set of typeset lecture notes which follow the class closely.
Voraussetzungen / BesonderesStudents are expected to have a mathematical background and should be able to write rigorous proofs.
401-3901-00LMathematical Optimization Information W11 KP4V + 2UR. Zenklusen
KurzbeschreibungMathematical treatment of diverse optimization techniques.
LernzielThe goal of this course is to get a thorough understanding of various classical mathematical optimization techniques with an emphasis on polyhedral approaches. In particular, we want students to develop a good understanding of some important problem classes in the field, of structural mathematical results linked to these problems, and of solution approaches based on this structural understanding.
InhaltKey topics include:
- Linear programming and polyhedra;
- Flows and cuts;
- Combinatorial optimization problems and techniques;
- Equivalence between optimization and separation;
- Brief introduction to Integer Programming.
Literatur- Bernhard Korte, Jens Vygen: Combinatorial Optimization. 6th edition, Springer, 2018.
- Alexander Schrijver: Combinatorial Optimization: Polyhedra and Efficiency. Springer, 2003. This work has 3 volumes.
- Ravindra K. Ahuja, Thomas L. Magnanti, James B. Orlin. Network Flows: Theory, Algorithms, and Applications. Prentice Hall, 1993.
- Alexander Schrijver: Theory of Linear and Integer Programming. John Wiley, 1986.
Voraussetzungen / BesonderesSolid background in linear algebra.
  •  Seite  1  von  2 Nächste Seite Letzte Seite     Alle