Suchergebnis: Katalogdaten im Herbstsemester 2020
|Elektrotechnik und Informationstechnologie Master|
|Master-Studium (Studienreglement 2018)|
| Computers and Networks|
The core courses and specialisation courses below are a selection for students who wish to specialise in the area of "Computers and Networks", see https://www.ee.ethz.ch/studies/main-master/areas-of-specialisation.html.
The individual study plan is subject to the tutor's approval.
These core courses are particularly recommended for the field of "Computers and Networks".
You may choose core courses form other fields in agreement with your tutor.
A minimum of 24 credits must be obtained from core courses during the MSc EEIT.
| Foundation Core Courses|
Fundamentals at bachelor level, for master students who need to strengthen or refresh their background in the area.
|227-0102-00L||Diskrete Ereignissysteme||W||6 KP||4G||L. Thiele, L. Vanbever, R. Wattenhofer|
|Kurzbeschreibung||Einführung in Diskrete Ereignissysteme (DES). Zuerst studieren wir populäre Modelle für DES. Im zweiten Teil analysieren wir DES, aus einer Average-Case und einer Worst-Case Sicht. Stichworte: Automaten und Sprachen, Spezifikationsmodelle, Stochastische DES, Worst-Case Ereignissysteme, Verifikation, Netzwerkalgebra.|
|Lernziel||Over the past few decades the rapid evolution of computing, communication, and information technologies has brought about the proliferation of new dynamic systems. A significant part of activity in these systems is governed by operational rules designed by humans. The dynamics of these systems are characterized by asynchronous occurrences of discrete events, some controlled (e.g. hitting a keyboard key, sending a message), some not (e.g. spontaneous failure, packet loss). |
The mathematical arsenal centered around differential equations that has been employed in systems engineering to model and study processes governed by the laws of nature is often inadequate or inappropriate for discrete event systems. The challenge is to develop new modeling frameworks, analysis techniques, design tools, testing methods, and optimization processes for this new generation of systems.
In this lecture we give an introduction to discrete event systems. We start out the course by studying popular models of discrete event systems, such as automata and Petri nets. In the second part of the course we analyze discrete event systems. We first examine discrete event systems from an average-case perspective: we model discrete events as stochastic processes, and then apply Markov chains and queuing theory for an understanding of the typical behavior of a system. In the last part of the course we analyze discrete event systems from a worst-case perspective using the theory of online algorithms and adversarial queuing.
2. Automata and Languages
3. Smarter Automata
4. Specification Models
5. Stochastic Discrete Event Systems
6. Worst-Case Event Systems
7. Network Calculus
|Literatur||[bertsekas] Data Networks |
Dimitri Bersekas, Robert Gallager
Prentice Hall, 1991, ISBN: 0132009161
[borodin] Online Computation and Competitive Analysis
Allan Borodin, Ran El-Yaniv.
Cambridge University Press, 1998
[boudec] Network Calculus
J.-Y. Le Boudec, P. Thiran
[cassandras] Introduction to Discrete Event Systems
Christos Cassandras, Stéphane Lafortune.
Kluwer Academic Publishers, 1999, ISBN 0-7923-8609-4
[fiat] Online Algorithms: The State of the Art
A. Fiat and G. Woeginger
[hochbaum] Approximation Algorithms for NP-hard Problems (Chapter 13 by S. Irani, A. Karlin)
[schickinger] Diskrete Strukturen (Band 2: Wahrscheinlichkeitstheorie und Statistik)
T. Schickinger, A. Steger
Springer, Berlin, 2001
[sipser] Introduction to the Theory of Computation
PWS Publishing Company, 1996, ISBN 053494728X
|227-0121-00L||Kommunikationssysteme||W||6 KP||2V + 2U||A. Wittneben|
|Kurzbeschreibung||Informationstheorie, Signalraumanalyse, Basisbandübertragung, Passbandübertragung, Systembeispiel und Kanal, Sicherungsschicht, MAC, Beispiele Layer 2, Layer 3, Internet|
|Lernziel||Ziel der Vorlesung ist die Einführung der wichtigsten Konzepte und Verfahren, die in modernen digitalen Kommunikationssystemen Anwendung finden, sowie eine Übersicht über bestehende und zukünftige Systeme.|
|Inhalt||Es werden die untersten drei Schichten des OSI-Referenzmodells behandelt: die Bitübertragungsschicht, die Sicherungsschicht mit dem Zugriff auf das Übertragungsmedium und die Vermittlung. Die wichtigsten Begriffe der Informationstheorie werden eingeführt. Anschliessend konzentrieren sich die Betrachtungen auf die Verfahren der Punkt-zu-Punkt-Übertragung, welche sich mittels der Signalraumdarstellung elegant und kohärent behandeln lassen. Den Methoden der Fehlererkennung und –korrektur, sowie Protokollen für die erneute Übermittlung gestörter Daten wird Rechnung getragen. Auch der Vielfachzugriff bei geteiltem Übertragungsmedium wird diskutiert. Den Abschluss bilden Algorithmen für das Routing in Kommunikationsnetzen und der Flusssteuerung.|
Die Anwendung der grundlegenden Verfahren wird ausführlich anhand von bestehenden und zukünftigen drahtlosen und drahtgebundenen Systemen erläutert.
|Literatur|| Simon Haykin, Communication Systems, 4. Auflage, John Wiley & Sons, 2001|
 Andrew S. Tanenbaum, Computernetzwerke, 3. Auflage, Pearson Studium, 2003
 M. Bossert und M. Breitbach, Digitale Netze, 1. Auflage, Teubner, 1999
|227-0124-00L||Embedded Systems||W||6 KP||4G||L. Thiele|
|Kurzbeschreibung||An embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is designed for a specific function or for specific functions within a larger system. The course covers theoretical and practical aspects of embedded system design and includes a series of lab sessions.|
|Lernziel||Understanding specific requirements and problems arising in embedded system applications.|
Understanding architectures and components, their hardware-software interfaces, the memory architecture, communication between components, embedded operating systems, real-time scheduling theory, shared resources, low-power and low-energy design as well as hardware architecture synthesis.
Using the formal models and methods in embedded system design in practical applications using the programming language C, the operating system FreeRTOS, a commercial embedded system platform and the associated design environment.
|Inhalt||An embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is designed for a specific function or for specific functions within a larger system. For example, they are part of industrial machines, agricultural and process industry devices, automobiles, medical equipment, cameras, household appliances, airplanes, sensor networks, internet-of-things, as well as mobile devices.|
The focus of this lecture is on the design of embedded systems using formal models and methods as well as computer-based synthesis methods. Besides, the lecture is complemented by laboratory sessions where students learn to program in C, to base their design on the embedded operating systems FreeRTOS, to use a commercial embedded system platform including sensors, and to edit/debug via an integrated development environment.
Specifically the following topics will be covered in the course: Embedded system architectures and components, hardware-software interfaces and memory architecture, software design methodology, communication, embedded operating systems, real-time scheduling, shared resources, low-power and low-energy design, hardware architecture synthesis.
More information is available at https://www.tec.ee.ethz.ch/education/lectures/embedded-systems.html .
|Skript||The following information will be available: Lecture material, publications, exercise sheets and laboratory documentation at https://www.tec.ee.ethz.ch/education/lectures/embedded-systems.html .|
|Literatur||P. Marwedel: Embedded System Design, Springer, ISBN 978-3-319-56045-8, 2018.|
G.C. Buttazzo: Hard Real-Time Computing Systems. Springer Verlag, ISBN 978-1-4614-0676-1, 2011.
Edward A. Lee and Sanjit A. Seshia: Introduction to Embedded Systems, A Cyber-Physical Systems Approach, Second Edition, MIT Press, ISBN 978-0-262-53381-2, 2017.
M. Wolf: Computers as Components – Principles of Embedded System Design. Morgan Kaufman Publishers, ISBN 978-0-128-05387-4, 2016.
|Voraussetzungen / Besonderes||Prerequisites: Basic knowledge in computer architectures and programming.|
| Advanced Core Courses|
Advanced core courses bring students to gain in-depth knowledge of the chosen specialization. They are MSc level only.
|227-0575-00L||Advanced Topics in Communication Networks (Autumn 2020)||W||6 KP||2V + 2U||L. Vanbever|
|Kurzbeschreibung||This course covers advanced topics and technologies in computer networks, both theoretically and practically. It is offered each Fall semester, with rotating topics. Repetition for credit is possible with consent of the instructor. In the Fall 2020, the course will cover advanced topics in Internet routing and forwarding.|
|Lernziel||The goals of this course is to provide students with a deeper understanding of the existing and upcoming Internet routing and forwarding technologies used in large-scale computer networks such as Internet Service Providers (e.g., Swisscom or Deutsche Telekom), Content Delivery Networks (e.g., Netflix) and Data Centers (e.g., Google). Besides covering the fundamentals, the course will be “hands-on” and will enable students to play with the technologies in realistic network environments, and even implement some of them on their own during labs and a final group project.|
|Inhalt||The course will cover advanced topics in Internet routing and forwarding such as:|
- Hierarchical routing
- Traffic Engineering and Load Balancing
- Virtual Private Networks
- Quality of Service/Queuing/Scheduling
- IP Multicast
- Fast Convergence
- Network virtualization
- Network programmability (OpenFlow, P4)
- Network measurements
The course will be divided in two main blocks. The first block (~10 weeks) will interleave classical lectures with practical exercises and labs. The second block (~4 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.
|Skript||Lecture notes and material will be made available before each course on the course website.|
|Literatur||Relevant references will be made available through the course website.|
|Voraussetzungen / Besonderes||Prerequisites: 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.|
|227-0579-00L||Hardware Security||W||6 KP||4G||K. Razavi|
|Kurzbeschreibung||This course covers the security of commodity computer hardware (e.g., CPU, DRAM, etc.) with a special focus on cutting-edge hands-on research. The aim of the course is familiarizing the students with hardware security and more specifically microarchitectural and circuit-level attacks and defenses through lectures, reviewing and discussing papers, and executing some of these advanced attacks.|
|Lernziel||By the end of the course, the students will be familiar with the state of the art in commodity computer hardware attacks and defenses. More specifically, the students will learn about:|
- security problems of commodity hardware that we use everyday and how you can defend against them.
- relevant computer architecture and operating system aspects of these issues.
- hands-on techniques for performing hardware attacks.
- writing critical reviews and constructive discussions with peers on this topic.
This is the course where you get credit points by building some of the most advanced exploits on the planet! The luckiest team will collect a Best Demo Award at the end of the course.
|Literatur||Slides, relevant literature and manuals will be made available during the course.|
|Voraussetzungen / Besonderes||Knowledge of systems programming and computer architecture is a plus.|
|227-0781-00L||Low-Power System Design|
Findet dieses Semester nicht statt.
|W||6 KP||2V + 2U|
|Kurzbeschreibung||Introduction to low-power and low-energy design techniques from a systems perspective including aspects both from hard- and software. The focus of this lecture is on cutting across a number of related fields discussing architectural concepts, modeling and measurement techniques as well as software design mainly using the example of networked embedded systems.|
|Lernziel||Knowledge of the state-of-the-art in low power system design, understanding recent research results and their implication on industrial products.|
|Inhalt||Designing systems with a low energy footprint is an increasingly important. There are many applications for low-power systems ranging from mobile devices powered from batteries such as today's smart phones to energy efficient household appliances and datacenters. Key drivers are to be found mainly in the tremendous increase of mobile devices and the growing integration density requiring to carefully reason about power, both from a provision and consumption viewpoint. Traditional circuit design classes introduce low-power solely from a hardware perspective with a focus on the power performance of a single or at most a hand full of circuit elements. Similarly, low-power aspects are touched in a multitude of other classes, mostly as a side topic. However in successfully designing systems with a low energy footprint it is not sufficient to only look at low-power as an aspect of second class. In modern low-power system design advanced CMOS circuits are of course a key ingredient but successful low-power integration involves many more disciplines such as system architecture, different sources of energy as well as storage and most importantly software and algorithms. In this lecture we will discuss aspects of low-power design as a first class citizen introducing key concepts as well as modeling and measurement techniques focusing mainly on the design of networked embedded systems but of course equally applicable to many other classes of systems. The lecture is further accompanied by a reading seminar as well as exercises and lab sessions.|
|Skript||Exercise and lab materials, copies of lecture slides.|
|Literatur||A detailed reading list will be made available in the lecture.|
|Voraussetzungen / Besonderes||Knowledge in embedded systems, system software, (wireless) networking, possibly integrated circuits, and hardware software codesign.|
|227-2210-00L||Computer Architecture||W||8 KP||6G + 1A||O. Mutlu|
|Kurzbeschreibung||Computer architecture is the science & art of designing and optimizing hardware components and the hardware/software interface to create a computer that meets design goals. This course covers basic components of a modern computing system (processors, memory, interconnects, accelerators). The course takes a hardware/software cooperative approach to understanding and designing computing systems.|
|Lernziel||We 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.|
|Inhalt||The principles presented in the lecture are reinforced in the laboratory through 1) the design and implementation of a cycle-accurate simulator, where we will explore different components of a modern computing system (e.g., pipeline, memory hierarchy, branch prediction, prefetching, caches, multithreading), and 2) the extension of state-of-the-art research simulators (e.g., Ramulator) for more in-depth understanding of specific system components (e.g., memory scheduling, prefetching).|
|Skript||All 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.
|Literatur||We 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 / Besonderes||Digital Design and Computer Architecture.|
|252-1414-00L||System Security||W||7 KP||2V + 2U + 2A||S. Capkun, A. Perrig|
|Kurzbeschreibung||The first part of the lecture covers individual system aspects starting with tamperproof or tamper-resistant hardware in general over operating system related security mechanisms to application software systems, such as host based intrusion detection systems. In the second part, the focus is on system design and methodologies for building secure systems.|
|Lernziel||In this lecture, students learn about the security requirements and capabilities that are expected from modern hardware, operating systems, and other software environments. An overview of available technologies, algorithms and standards is given, with which these requirements can be met.|
|Inhalt||The first part of the lecture covers individual system's aspects starting with tamperproof or tamperresistant hardware in general over operating system related security mechanisms to application software systems such as host based intrusion detetction systems. The main topics covered are: tamper resistant hardware, CPU support for security, protection mechanisms in the kernel, file system security (permissions / ACLs / network filesystem issues), IPC Security, mechanisms in more modern OS, such as Capabilities and Zones, Libraries and Software tools for security assurance, etc.|
In the second part, the focus is on system design and methodologies for building secure systems. Topics include: patch management, common software faults (buffer overflows, etc.), writing secure software (design, architecture, QA, testing), compiler-supported security, language-supported security, logging and auditing (BSM audit, dtrace, ...), cryptographic support, and trustworthy computing (TCG, SGX).
Along the lectures, model cases will be elaborated and evaluated in the exercises.
|263-4640-00L||Network Security||W||8 KP||2V + 2U + 3A||A. Perrig, S. Frei, M. Legner|
|Kurzbeschreibung||Some of today's most damaging attacks on computer systems involve|
exploitation of network infrastructure, either as the target of attack
or as a vehicle to attack end systems. This course provides an
in-depth study of network attack techniques and methods to defend
|Lernziel||- Students are familiar with fundamental network security concepts.|
- Students can assess current threats that Internet services and networked devices face, and can evaluate appropriate countermeasures.
- Students can identify and assess known vulnerabilities in a software system that is connected to the Internet (through analysis and penetration testing tools).
- Students have an in-depth understanding of a range of important security technologies.
- Students learn how formal analysis techniques can help in the design of secure networked systems.
|Inhalt||The course will cover topics spanning five broad themes: (1) network|
defense mechanisms such as secure routing protocols, TLS, anonymous
communication systems, network intrusion detection systems, and
public-key infrastructures; (2) network attacks such as denial of
service (DoS) and distributed denial-of-service (DDoS) attacks; (3)
analysis and inference topics such as network forensics and attack
economics; (4) formal analysis techniques for verifying the security
properties of network architectures; and (5) new technologies related
to next-generation networks.
|Voraussetzungen / Besonderes||This lecture is intended for students with an interest in securing|
Internet communication services and network devices. Students are
assumed to have knowledge in networking as taught in a Communication
Networks lecture. The course will involve a course project and some
smaller programming projects as part of the homework. Students are
expected to have basic knowledge in network programming in a
programming language such as C/C++, Go, or Python.
These specialisation courses are particularly recommended for the area of "Computers and Networks", but you are free to choose courses from any other field in agreement with your tutor.
A minimum of 40 credits must be obtained from specialisation courses during the Master's Programme.
|227-0101-00L||Discrete-Time and Statistical Signal Processing||W||6 KP||4G||H.‑A. Loeliger|
|Kurzbeschreibung||The course introduces some fundamental topics of digital signal processing with a bias towards applications in communications: discrete-time linear filters, inverse filters and equalization, DFT, discrete-time stochastic processes, elements of detection theory and estimation theory, LMMSE estimation and LMMSE filtering, LMS algorithm, Viterbi algorithm.|
|Lernziel||The course introduces some fundamental topics of digital signal processing with a bias towards applications in communications. The two main themes are linearity and probability. In the first part of the course, we deepen our understanding of discrete-time linear filters. In the second part of the course, we review the basics of probability theory and discrete-time stochastic processes. We then discuss some basic concepts of detection theory and estimation theory, as well as some practical methods including LMMSE estimation and LMMSE filtering, the LMS algorithm, and the Viterbi algorithm. A recurrent theme throughout the course is the stable and robust "inversion" of a linear filter.|
|Inhalt||1. Discrete-time linear systems and filters:|
state-space realizations, z-transform and spectrum,
decimation and interpolation, digital filter design,
stable realizations and robust inversion.
2. The discrete Fourier transform and its use for digital filtering.
3. The statistical perspective:
probability, random variables, discrete-time stochastic processes;
detection and estimation: MAP, ML, Bayesian MMSE, LMMSE;
Wiener filter, LMS adaptive filter, Viterbi algorithm.
|227-0103-00L||Regelsysteme||W||6 KP||2V + 2U||F. Dörfler|
|Kurzbeschreibung||Study of concepts and methods for the mathematical description and analysis of dynamical systems. The concept of feedback. Design of control systems for single input - single output and multivariable systems.|
|Lernziel||Study of concepts and methods for the mathematical description and analysis of dynamical systems. The concept of feedback. Design of control systems for single input - single output and multivariable systems.|
|Inhalt||Process automation, concept of control. Modelling of dynamical systems - examples, state space description, linearisation, analytical/numerical solution. Laplace transform, system response for first and second order systems - effect of additional poles and zeros. Closed-loop control - idea of feedback. PID control, Ziegler - Nichols tuning. Stability, Routh-Hurwitz criterion, root locus, frequency response, Bode diagram, Bode gain/phase relationship, controller design via "loop shaping", Nyquist criterion. Feedforward compensation, cascade control. Multivariable systems (transfer matrix, state space representation), multi-loop control, problem of coupling, Relative Gain Array, decoupling, sensitivity to model uncertainty. State space representation (modal description, controllability, control canonical form, observer canonical form), state feedback, pole placement - choice of poles. Observer, observability, duality, separation principle. LQ Regulator, optimal state estimation.|
|Literatur||K. J. Aström & R. Murray. Feedback Systems: An Introduction for Scientists and Engineers. Princeton University Press, 2010.|
R. C. Dorf and R. H. Bishop. Modern Control Systems. Prentice Hall, New Jersey, 2007.
G. F. Franklin, J. D. Powell, and A. Emami-Naeini. Feedback Control of Dynamic Systems. Addison-Wesley, 2010.
J. Lunze. Regelungstechnik 1. Springer, Berlin, 2014.
J. Lunze. Regelungstechnik 2. Springer, Berlin, 2014.
|Voraussetzungen / Besonderes||Prerequisites: Signal and Systems Theory II. |
MATLAB is used for system analysis and simulation.
|227-0116-00L||VLSI I: From Architectures to VLSI Circuits and FPGAs||W||6 KP||5G||F. K. Gürkaynak, L. Benini|
|Kurzbeschreibung||This first course in a series that extends over three consecutive terms is concerned with tailoring algorithms and with devising high performance hardware architectures for their implementation as ASIC or with FPGAs. The focus is on front end design using HDLs and automatic synthesis for producing industrial-quality circuits.|
|Lernziel||Understand Very-Large-Scale Integrated Circuits (VLSI chips), Application-Specific Integrated Circuits (ASIC), and Field-Programmable Gate-Arrays (FPGA). Know their organization and be able to identify suitable application areas. Become fluent in front-end design from architectural conception to gate-level netlists. How to model digital circuits with SystemVerilog. How to ensure they behave as expected with the aid of simulation, testbenches, and assertions. How to take advantage of automatic synthesis tools to produce industrial-quality VLSI and FPGA circuits. Gain practical experience with the hardware description language SystemVerilog and with industrial Electronic Design Automation (EDA) tools.|
|Inhalt||This course is concerned with system-level issues of VLSI design and FPGA implementations. Topics include:|
- Overview on design methodologies and fabrication depths.
- Levels of abstraction for circuit modeling.
- Organization and configuration of commercial field-programmable components.
- FPGA design flows.
- Dedicated and general purpose architectures compared.
- How to obtain an architecture for a given processing algorithm.
- Meeting throughput, area, and power goals by way of architectural transformations.
- Hardware Description Languages (HDL) and the underlying concepts.
- Register Transfer Level (RTL) synthesis and its limitations.
- Building blocks of digital VLSI circuits.
- Functional verification techniques and their limitations.
- Modular and largely reusable testbenches.
- Assertion-based verification.
- Synchronous versus asynchronous circuits.
- The case for synchronous circuits.
- Periodic events and the Anceau diagram.
- Case studies, ASICs compared to microprocessors, DSPs, and FPGAs.
During the exercises, students learn how to model FPGAs with SystemVerilog. They write testbenches for simulation purposes and synthesize gate-level netlists for FPGAs. Commercial EDA software by leading vendors is being used throughout.
|Skript||Textbook and all further documents in English.|
|Literatur||H. Kaeslin: "Top-Down Digital VLSI Design, from Architectures to Gate-Level Circuits and FPGAs", Elsevier, 2014, ISBN 9780128007303.|
|Voraussetzungen / Besonderes||Prerequisites: |
Basics of digital circuits.
In written form following the course semester (spring term). Problems are given in English, answers will be accepted in either English oder German.
|227-2211-00L||Seminar in Computer Architecture |
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 KP||2S||O. Mutlu, M. H. K. Alser, J. Gómez Luna|
|Kurzbeschreibung||This seminar course covers fundamental and cutting-edge research papers in computer architecture. It consists of multiple components that are aimed at improving students' (1) technical skills in computer architecture, (2) critical thinking and analysis abilities on computer architecture concepts, as well as (3) technical presentation of concepts and papers in both spoken and written forms.|
|Lernziel||The main objective is to learn how to rigorously analyze and present papers and ideas on computer architecture. We will have rigorous presentation and discussion of selected papers during lectures and a written report delivered by each student at the end of the semester.|
This course is for those interested in computer architecture. Registered students are expected to attend every meeting, participate in the discussion, and create a synthesis report at the end of the course.
|Inhalt||Topics will center around computer architecture. We will, for example, discuss papers on hardware security; accelerators for key applications like machine learning, graph processing and bioinformatics; memory systems; interconnects; processing in memory; various fundamental and emerging paradigms in computer architecture; hardware/software co-design and cooperation; fault tolerance; energy efficiency; heterogeneous and parallel systems; new execution models; predictable computing, etc.|
|Skript||All materials will be posted on the course website: https://safari.ethz.ch/architecture_seminar/|
Past course materials, including the synthesis report assignment, can be found in the Spring 2020 website for the course: https://safari.ethz.ch/architecture_seminar/spring2020/doku.php?id=start
|Literatur||Key papers and articles, on both fundamentals and cutting-edge topics in computer architecture will be provided and discussed. These will be posted on the course website.|
|Voraussetzungen / Besonderes||Digital Design and Computer Architecture.|
Students should (1) have done very well in Digital Design and Computer Architecture and (2) show a genuine interest in Computer Architecture.
|227-0377-10L||Physics of Failure and Reliability of Electronic Devices and Systems||W||3 KP||2V||I. Shorubalko, M. Held|
|Kurzbeschreibung||Understanding the physics of failures and failure mechanisms enables reliability analysis and serves as a practical guide for electronic devices design, integration, systems development and manufacturing. The field gains additional importance in the context of managing safety, sustainability and environmental impact for continuously increasing complexity and scaling-down trends in electronics.|
|Lernziel||Provide an understanding of the physics of failure and reliability. Introduce the degradation and failure mechanisms, basics of failure analysis, methods and tools of reliability testing.|
|Inhalt||Summary of reliability and failure analysis terminology; physics of failure: materials properties, physical processes and failure mechanisms; failure analysis; basics and properties of instruments; quality assurance of technical systems (introduction); introduction to stochastic processes; reliability analysis; component selection and qualification; maintainability analysis (introduction); design rules for reliability, maintainability, reliability tests (introduction).|
|Skript||Comprehensive copy of transparencies|
|Literatur||Reliability Engineering: Theory and Practice, 8th Edition, Springer 2017, DOI 10.1007/978-3-662-54209-5|
Reliability Engineering: Theory and Practice, 8th Edition (2017), DOI 10.1007/978-3-662-54209-5
|227-0447-00L||Image Analysis and Computer Vision||W||6 KP||3V + 1U||L. Van Gool, E. Konukoglu, F. Yu|
|Kurzbeschreibung||Light and perception. Digital image formation. Image enhancement and feature extraction. Unitary transformations. Color and texture. Image segmentation. Motion extraction and tracking. 3D data extraction. Invariant features. Specific object recognition and object class recognition. Deep learning and Convolutional Neural Networks.|
|Lernziel||Overview of the most important concepts of image formation, perception and analysis, and Computer Vision. Gaining own experience through practical computer and programming exercises.|
|Inhalt||This course aims at offering a self-contained account of computer vision and its underlying concepts, including the recent use of deep learning.|
The first part starts with an overview of existing and emerging applications that need computer vision. It shows that the realm of image processing is no longer restricted to the factory floor, but is entering several fields of our daily life. First the interaction of light with matter is considered. The most important hardware components such as cameras and illumination sources are also discussed. The course then turns to image discretization, necessary to process images by computer.
The next part describes necessary pre-processing steps, that enhance image quality and/or detect specific features. Linear and non-linear filters are introduced for that purpose. The course will continue by analyzing procedures allowing to extract additional types of basic information from multiple images, with motion and 3D shape as two important examples. Finally, approaches for the recognition of specific objects as well as object classes will be discussed and analyzed. A major part at the end is devoted to deep learning and AI-based approaches to image analysis. Its main focus is on object recognition, but also other examples of image processing using deep neural nets are given.
|Skript||Course material Script, computer demonstrations, exercises and problem solutions|
|Voraussetzungen / Besonderes||Prerequisites: |
Basic concepts of mathematical analysis and linear algebra. The computer exercises are based on Python and Linux.
The course language is English.
|227-0555-00L||Distributed Systems |
Enrolled students will be notified by e-mail about the lecture start.
|W||4 KP||3G + 1A||R. Wattenhofer|
|Kurzbeschreibung||This course introduces the fundamentals of distributed systems. We study different protocols and algorithms that allow for fault-tolerant operation, and discuss practical systems that implement these techniques.|
|Lernziel||The objective of the course is for students to understand the theoretical principles and practical considerations of distributed systems. This includes the main models of fault-tolerant distributed systems (crash failures, byzantine failures, and selfishness), and the most important algorithms, protocols and impossibility results. By the end of the course, students should be able to reason about various concepts such as consistency, durability, availability, fault tolerance, and replication.|
|Inhalt||We discuss the following concepts related to fault-tolerant distributed systems: client-server, serialization, two-phase protocols, three-phase protocols, paxos, two generals problem, crash failures, impossibility of consensus, byzantine failures, agreement, termination, validity, byzantine agreement, king algorithm, asynchronous byzantine agreement, authentication, signatures, reliable and atomic broadcast, eventual consistency, blockchain, cryptocurrencies such as bitcoin and ethereum, proof-of-work, proof-of-*, smart contracts, quorum systems, fault-tolerant protocols such as piChain or pbft, distributed storage, distributed hash tables, physical and logical clocks, causality, selfishness, game theoretic models, mechanism design.|
|Skript||A script is available on the web page.|
|Literatur||The script is self-contained, but links to additional material are available on the web page.|
|Voraussetzungen / Besonderes||This lecture takes place in roughly the second half of the semester, as the lecture is the second part of the lecture "Computer Systems" (252-0217-00). Students may attend at most one of the two lectures, NOT both.|
|227-0559-10L||Seminar in Communication Networks: Learning, Reasoning and Control |
Findet dieses Semester nicht statt.
Number of participants limited to 24.
|W||2 KP||2S||L. Vanbever|
|Kurzbeschreibung||In this seminar participating students review, present, and discuss (mostly recent) research papers in the area of computer networks. During the fall semester of 2019, the seminar will focus on topics blending networks with machine learning and control theory.|
|Lernziel||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.
|Inhalt||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. During the fall semester of 2019, the seminar will focus on topics blending networks with machine learning and control theory. For details, please see: https://seminar-net.ethz.ch
|Skript||The slides of each presentation will be made available on the website.|
|Literatur||The paper selection will be made available on the course website: https://seminar-net.ethz.ch|
|Voraussetzungen / Besonderes||Communication Networks (227-0120-00L) or equivalents. For fall 2019, it is expected that students have prior knowledge in machine learning and control theory, for instance by having attended appropriate courses.|
|227-0627-00L||Angewandte Computer Architektur||W||6 KP||4G||A. Gunzinger|
|Kurzbeschreibung||Diese Vorlesung gibt einen Überblick über die Anforderungen und die Architektur von parallelen Computersystemen unter Berücksichtigung von Rechenleistung, Zuverlässigkeit und Kosten.|
|Lernziel||Arbeitsweise von parallelen Computersystemen verstehen, solche Systeme entwerfen und modellieren.|
|Inhalt||Die Vorlesung Angewandte Computer Architektur gibt technische und unternehmerische Einblicke in innovative Computersysteme/Architekturen (CPU, GPU, FPGA, Spezialprozessoren) und deren praxisnahe Umsetzung. Dabei werden oft die Grenzen der technologischen Möglichkeiten ausgereizt.|
Wie ist das Computersystem aufgebaut, das die über 1000 Magneten an der Swiss Light Source (SLS) steuert?
Wie ist das hochverfügbare Alarmzentrum der SBB aufgebaut?
Welche Computer Architekturen werden in Fahrerassistenzsystemen verwendet?
Welche Computerarchitektur versteckt sich hinter einem professionellen digitalen Audio Mischpult?
Wie können Datenmengen von 30 TB/s, wie sie bei einem Protonen-Beschleuniger entstehen, in Echtzeit verarbeitet werden?
Kann die aufwändige Berechnung der Wettervorhersage auch mit GPUs erfolgen?
Nach welcher Systematik können optimale Computerarchitekturen gefunden werden?
Welche Faktoren sind entscheidend, um solche Projekte erfolgreich umzusetzen?
|Skript||Skript und Übungsblätter.|
|Voraussetzungen / Besonderes||Voraussetzungen: |
Grundlagen der Computerarchitektur.
|151-0593-00L||Embedded Control Systems|
Findet dieses Semester nicht statt.
|Kurzbeschreibung||This course provides a comprehensive overview of embedded control systems. The concepts introduced are implemented and verified on a microprocessor-controlled haptic device.|
|Lernziel||Familiarize students with main architectural principles and concepts of embedded control systems.|
|Inhalt||An embedded system is a microprocessor used as a component in another piece of technology, such as cell phones or automobiles. In this intensive two-week block course the students are presented the principles of embedded digital control systems using a haptic device as an example for a mechatronic system. A haptic interface allows for a human to interact with a computer through the sense of touch.|
Subjects covered in lectures and practical lab exercises include:
- The application of C-programming on a microprocessor
- Digital I/O and serial communication
- Quadrature decoding for wheel position sensing
- Queued analog-to-digital conversion to interface with the analog world
- Pulse width modulation
- Timer interrupts to create sampling time intervals
- System dynamics and virtual worlds with haptic feedback
- Introduction to rapid prototyping
|Skript||Lecture notes, lab instructions, supplemental material|
|Voraussetzungen / Besonderes||Prerequisite courses are Control Systems I and Informatics I.|
This course is restricted to 33 students due to limited lab infrastructure. Interested students please contact Marianne Schmid (E-Mail: email@example.com)
After your reservation has been confirmed please register online at www.mystudies.ethz.ch.
Detailed information can be found on the course website
|252-1411-00L||Security of Wireless Networks||W||6 KP||2V + 1U + 2A||S. Capkun, K. Kostiainen|
|Kurzbeschreibung||Core Elements: Wireless communication channel, Wireless network architectures and protocols, Attacks on wireless networks, Protection techniques.|
|Lernziel||After 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|
|Inhalt||Wireless 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.