Suchergebnis: Katalogdaten im Frühjahrssemester 2021
Cyber Security Master | ||||||
Ergänzung | ||||||
Distributed Systems | ||||||
Kernfächer | ||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |
---|---|---|---|---|---|---|
227-0558-00L | Principles of Distributed Computing | W | 7 KP | 2V + 2U + 2A | R. Wattenhofer, M. Ghaffari | |
Kurzbeschreibung | 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. | |||||
Lernziel | 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. | |||||
Inhalt | 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 | |||||
Skript | Available. Our course script is used at dozens of other universities around the world. | |||||
Literatur | 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 | |||||
Voraussetzungen / Besonderes | Course pre-requisites: Interest in algorithmic problems. (No particular course needed.) | |||||
263-3800-00L | Advanced Operating Systems | W | 7 KP | 2V + 2U + 2A | D. Cock, T. Roscoe | |
Kurzbeschreibung | This course is intended to give students a thorough understanding of design and implementation issues for modern operating systems, with a particular emphasis on the challenges of modern hardware features. We will cover key design issues in implementing an operating system, such as memory management, scheduling, protection, inter-process communication, device drivers, and file systems. | |||||
Lernziel | The goals of the course are, firstly, to give students: 1. A broader perspective on OS design than that provided by knowledge of Unix or Windows, building on the material in a standard undergraduate operating systems class 2. Practical experience in dealing directly with the concurrency, resource management, and abstraction problems confronting OS designers and implementers 3. A glimpse into future directions for the evolution of OS and computer hardware design | |||||
Inhalt | The course is based on practical implementation work, in C and assembly language, and requires solid knowledge of both. The work is mostly carried out in teams of 3-4, using real hardware, and is a mixture of team milestones and individual projects which fit together into a complete system at the end. Emphasis is also placed on a final report which details the complete finished artifact, evaluates its performance, and discusses the choices the team made while building it. | |||||
Voraussetzungen / Besonderes | The course is based around a milestone-oriented project, where students work in small groups to implement major components of a microkernel-based operating system. The final assessment will be a combination grades awarded for milestones during the course of the project, a final written report on the work, and a set of test cases run on the final code. | |||||
263-3855-00L | Cloud Computing Architecture | W | 9 KP | 3V + 2U + 3A | G. Alonso, A. Klimovic | |
Kurzbeschreibung | Cloud computing hosts a wide variety of online services that we use on a daily basis, including web search, social networks, and video streaming. This course will cover how datacenter hardware, systems software, and application frameworks are designed for the cloud. | |||||
Lernziel | After successful completion of this course, students will be able to: 1) reason about performance, energy efficiency, and availability tradeoffs in the design of cloud system software, 2) describe how datacenter hardware is organized and explain why it is organized as such, 3) implement cloud applications as well as analyze and optimize their performance. | |||||
Inhalt | In this course, we study how datacenter hardware, systems software, and applications are designed at large scale for the cloud. The course covers topics including server design, cluster management, large-scale storage systems, serverless computing, data analytics frameworks, and performance analysis. | |||||
Skript | Lecture slides will be available on the course website. | |||||
Voraussetzungen / Besonderes | Undergraduate courses in 1) computer architecture and 2) operating systems, distributed systems, and/or database systems are strongly recommended. | |||||
Wahlfächer | ||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |
252-0312-00L | Ubiquitous Computing | W | 6 KP | 2V + 3A | C. Holz | |
Kurzbeschreibung | Ubiquitous Computing means interacting with information and with each other anywhere, mediated through miniature technology everywhere. We will investigate the technical aspects of Ubicomp, particularly sensing, processing, and sense making: input (touch & gesture), activity, monitoring cardiovascular health and neurological conditions, context & location sensing, affective computing. | |||||
Lernziel | The course will combine high-level concepts with low-level technical methods needed to sense, detect, and understand them. High-level: – input modalities for interactive systems (touch, gesture) – "activities" and "events" (exercises and other mechanical activities such as movements and resulting vibrations) – health monitoring (basic cardiovascular physiology) – location (GPS, urban simulations, smart cities and development) – affective computing (emotions, mood, personality) Low-level: – sampling (Shannon Nyquist) and filtering (FIR, IIR), time and frequency domains (Fourier transforms) – cross-modal sensor systems, signal synchronization and correlation – event detection, classification, prediction using basic signal processing as well as learning-based methods – sensor types: optical, mechanical/acoustic, electromagnetic – signals modalities and processing of: application (modalities/methods) * touch detection (resistive sensing, capacitive sensing, diffuse illumination/DI, spectral reflections, frustrated total internal reflection/FTIR, fingerprint scanning, surface-acoustic waves) * gesture recognition (inertial sensing through accelerometers, gyroscopes) * activity detection and tracking (inertial, acoustic, vibrotactile for classification, counting, vibrometry) * occupation and use (electricity monitoring, water consumption, single-point sensing) * cardiovascular (electrocardioagraphy, photoplethysmography, pulse oximetry, ballistocardiography, blood pressure, pulse transit time, bio impedance) * affective computing (heart rate variability, R-R intervals, electrodermal activity, sympathetic tone, facial expressions) * neurological (fatigue, fatigability) * location (GPS, BLE, Wifi) | |||||
Inhalt | "The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it" — Mark Weiser, 1991. This is the premise of Ubiquitous Computing, a vision that is slowly becoming reality as everything is a device and we can interact with information and with each other anywhere, mediated through miniature technology. Along with this change, interaction modalities have changed, too, from explicit input on keyboards and mice to implicit and passively observed input through sensors in the environment (e.g., speakers, cameras, temperature/occupancy detectors) and those we now wear on our bodies (e.g., health sensors, activity sensors, miniature computers we call smartwatches). In this course, we will look at the technical side of Ubicomp, particularly – sensing (incl. 'signals', sampling, data acquisition methods, controlled user studies, uncontrolled studies in-the-wild), – processing (incl. frequencies, feature extraction, detection), and – sense making: input sensing (touch & gesture), activity sensing (motion), monitoring cardiovascular health, affective state, neurological conditions (with basics on cardiovascular physiology + PPG, PulseOx, ECG, EDA, BCG, SCG, HRV, BioZ, IPG, PAT, PTT), context & location sensing (GPS/Wifi, motion). Lectures will be accompanied by practical sessions that focus on sensor modalities and signal processing. Here, we will work on existing data sets and devise methods to record our own data for processing and prediction purposes. A series of reading assignments, covering both well-established publications in Ubicomp as well as emerging results and methods, will bridge the fundamentals and topics taught in class to academic research and real-world problems. More information on the course site: https://teaching.siplab.org/ubiquitous_computing/2021/ | |||||
Skript | Copies of slides will be made available. Lectures will be recorded and made available online. More information on the course site: https://teaching.siplab.org/ubiquitous_computing/2021/ | |||||
Literatur | 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-0817-00L | Distributed Systems Laboratory | W | 10 KP | 9P | G. Alonso, T. Hoefler, A. Klimovic, A. Singla, R. Wattenhofer, C. Zhang | |
Kurzbeschreibung | Entwicklung und / oder Evaluation eines umfangreicheren praktischen Systems mit Technologien aus dem Gebiet der verteilten Systeme. Das Projekt kann aus unterschiedlichen Teilbereichen (von Web-Services bis hin zu ubiquitären Systemen) stammen; typische Technologien umfassen drahtlose Ad-hoc-Netze oder Anwendungen auf Mobiltelefonen. | |||||
Lernziel | Erwerb praktischer Kenntnisse bei Entwicklung und / oder Evaluation eines umfangreicheren praktischen Systems mit Technologien aus dem Gebiet der verteilten Systeme. | |||||
Inhalt | Entwicklung und / oder Evaluation eines umfangreicheren praktischen Systems mit Technologien aus dem Gebiet der verteilten Systeme. Das Projekt kann aus unterschiedlichen Teilbereichen (von Web-Services bis hin zu ubiquitären Systemen) stammen; typische Technologien umfassen drahtlose Ad-hoc-Netze oder Anwendungen auf Mobiltelefonen. Zu diesem Praktikum existiert keine Vorlesung. Bei Interesse bitte einen der beteiligten Professoren oder einen Assistenten der Forschungsgruppen kontaktieren. | |||||
263-3710-00L | Machine Perception Number of participants limited to 200. | W | 8 KP | 3V + 2U + 2A | O. Hilliges, S. Tang | |
Kurzbeschreibung | Recent developments in neural networks (aka “deep learning”) have drastically advanced the performance of machine perception systems in a variety of areas including computer vision, robotics, and intelligent UIs. This course is a deep dive into deep learning algorithms and architectures with applications to a variety of perceptual tasks. | |||||
Lernziel | 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 activity. 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. | |||||
Inhalt | We will focus on teaching: how to set up the problem of machine perception, the learning algorithms, network architectures and advanced deep learning concepts in particular probabilistic deep learning models The course covers the following main areas: I) Foundations of deep-learning. II) Probabilistic deep-learning for generative modelling of data (latent variable models, generative adversarial networks and auto-regressive models). III) Deep learning in computer vision, human-computer interaction and robotics. Specific topics include: I) Deep learning basics: a) Neural Networks and training (i.e., backpropagation) b) Feedforward Networks c) Timeseries modelling (RNN, GRU, LSTM) d) Convolutional Neural Networks for classification II) Probabilistic Deep Learning: a) Latent variable models (VAEs) b) Generative adversarial networks (GANs) c) Autoregressive models (PixelCNN, PixelRNN, TCNs) III) Deep Learning techniques for machine perception: a) Fully Convolutional architectures for dense per-pixel tasks (i.e., instance segmentation) b) Pose estimation and other tasks involving human activity c) Deep reinforcement learning IV) Case studies from research in computer vision, HCI, robotics and signal processing | |||||
Literatur | Deep Learning Book by Ian Goodfellow and Yoshua Bengio | |||||
Voraussetzungen / Besonderes | *** In accordance with the ETH Covid-19 master plan the lecture will be fully virtual. Details on the course website. *** This is an advanced grad-level course that requires a background in machine learning. Students are expected to have a solid mathematical foundation, in particular in linear algebra, multivariate calculus, and probability. The course will focus on state-of-the-art research in deep-learning and will not repeat basics of machine learning Please take note of the following conditions: 1) The number of participants is limited to 200 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 Pytorch, scikit-learn and scikit-image. We will provide introductions to Pytorch and other libraries that are needed but will not provide introductions to basic programming or Python. The following courses are strongly recommended as prerequisite: * "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. |
- Seite 1 von 1