# Search result: Catalogue data in Autumn Semester 2018

Electrical Engineering and Information Technology Master | ||||||

Master Studies (Programme Regulations 2018) | ||||||

Computers and Networks The core courses and specialization courses below are a selection for students who wish to specialize 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. | ||||||

Core Courses 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 | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|---|

227-0102-00L | Discrete Event Systems | W | 6 credits | 4G | L. Thiele, L. Vanbever, R. Wattenhofer | |

Abstract | Introduction to discrete event systems. We start out by studying popular models of discrete event systems. In the second part of the course we analyze discrete event systems from an average-case and from a worst-case perspective. Topics include: Automata and Languages, Specification Models, Stochastic Discrete Event Systems, Worst-Case Event Systems, Verification, Network Calculus. | |||||

Learning objective | 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. | |||||

Content | 1. Introduction 2. Automata and Languages 3. Smarter Automata 4. Specification Models 5. Stochastic Discrete Event Systems 6. Worst-Case Event Systems 7. Network Calculus | |||||

Lecture notes | Available | |||||

Literature | [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 Springer, 2001 [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) D. Hochbaum [schickinger] Diskrete Strukturen (Band 2: Wahrscheinlichkeitstheorie und Statistik) T. Schickinger, A. Steger Springer, Berlin, 2001 [sipser] Introduction to the Theory of Computation Michael Sipser. PWS Publishing Company, 1996, ISBN 053494728X | |||||

227-0121-00L | Communication Systems | W | 6 credits | 4G | A. Wittneben | |

Abstract | Information Theory, Signal Space Analysis, Baseband Transmission, Passband Transmission, Example und Channel, Data Link Layer, MAC, Example Layer 2, Layer 3, Internet | |||||

Learning objective | Introduction into the fundamentals of digital communication systems. Selected examples on the application of the fundamental principles in existing and upcoming communication systems | |||||

Content | Covered are the lower three layer of the OSI reference model: the physical, the data link, and the network layer. The basic terms of information theory are introduced. After this, we focus on the methods for the point to point communication, which may be addressed elegantly and coherently in the signal space. Methods for error detection and correction as well as protocols for the retransmission of perturbed data will be covered. Also the medium access for systems with shared medium will be discussed. Finally, algorithms for routing and flow control will be treated. The application of the basic methods will be extensively explained using existing and future wireless and wired systems. | |||||

Lecture notes | Lecture Slides | |||||

Literature | [1] Simon Haykin, Communication Systems, 4. Auflage, John Wiley & Sons, 2001 [2] Andrew S. Tanenbaum, Computernetzwerke, 3. Auflage, Pearson Studium, 2003 [3] M. Bossert und M. Breitbach, Digitale Netze, 1. Auflage, Teubner, 1999 | |||||

Advanced Core Courses | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |

227-0575-00L | Advanced Topics in Communication Networks (Autumn 2018) | W | 6 credits | 2V + 2U | L. Vanbever | |

Abstract | This 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 2018, the class will concentrate on network programmability and network data plane programming. | |||||

Learning objective | The 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 involving real network hardware and 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 2018, the class will focus on programmable network data planes and will involve developing network applications on top of the the latest generation of programmable network hardware: Barefoot Network’s Tofino switch ASICs. 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. | |||||

Content | Traditionally, 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. This year, the course will focus on reprogrammable network hardware/ASICs. It will involve hands-on experience on the world's fastest programmable switch to date (i.e. Barefoot Tofino switch ASIC). 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 (mandatory) project to be done in groups of few students (~3 students). The project will involve developing a fully working network application and run it on top of real programmable network hardware. 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. | |||||

Lecture notes | Lecture notes and material will be made available before each course on the course website. | |||||

Literature | Relevant references will be made available through the course website. | |||||

Prerequisites / Notice | 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-0778-00L | Hardware/Software Codesign | W | 6 credits | 2V + 2U | L. Thiele | |

Abstract | The course provides advanced knowledge in the design of complex computer systems, in particular embedded systems. Models and methods are discussed that are fundamental for systems that consist of software and hardware components. | |||||

Learning objective | The course provides advanced knowledge in the design of complex computer systems, in particular embedded systems. Models and methods are discussed that are fundamental for systems that consist of software and hardware components. | |||||

Content | The course covers the following subjects: (a) Models for describing hardware and software components (specification), (b) Hardware-Software Interfaces (instruction set, hardware and software components, reconfigurable computing, heterogeneous computer architectures, System-on-Chip), (c) Application specific instruction sets, code generation and retargetable compilation, (d) Performance analysis and estimation techniques, (e) System design (hardware-software partitioning and design space exploration). | |||||

Lecture notes | Material for exercises, copies of transparencies. | |||||

Literature | Peter Marwedel, Embedded System Design, Springer, ISBN-13 978-94-007-0256-1, 2011. Wayne Wolf. Computers as Components. Morgan Kaufmann, ISBN-13: 978-0123884367, 2012. | |||||

Prerequisites / Notice | Prerequisites for the course is a basic knowledge in the following areas: computer architecture, digital design, software design, embedded systems | |||||

227-0781-00L | Low-Power System Design | W | 6 credits | 2V + 2U | J. Beutel | |

Abstract | 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. | |||||

Learning objective | Knowledge of the state-of-the-art in low power system design, understanding recent research results and their implication on industrial products. | |||||

Content | 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. | |||||

Lecture notes | Exercise and lab materials, copies of lecture slides. | |||||

Literature | A detailed reading list will be made available in the lecture. | |||||

Prerequisites / Notice | Knowledge in embedded systems, system software, (wireless) networking, possibly integrated circuits, and hardware software codesign. | |||||

252-1414-00L | System Security | W | 5 credits | 2V + 2U | S. Capkun, A. Perrig | |

Abstract | 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. | |||||

Learning objective | 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. | |||||

Content | 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 | 6 credits | 2V + 1U + 2A | A. Perrig, S. Frei | |

Abstract | 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 against them. | |||||

Learning objective | - 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. | |||||

Content | 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. | |||||

Prerequisites / Notice | 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. | |||||

Specialization Courses These specialization 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 specialization courses during the Master's Programme. | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |

227-0101-00L | Discrete-Time and Statistical Signal Processing | W | 6 credits | 4G | H.‑A. Loeliger | |

Abstract | 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. | |||||

Learning objective | 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. | |||||

Content | 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. | |||||

Lecture notes | Lecture Notes | |||||

227-0103-00L | Control Systems | W | 6 credits | 2V + 2U | F. Dörfler | |

Abstract | 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. | |||||

Learning objective | 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. | |||||

Content | 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. | |||||

Literature | 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. | |||||

Prerequisites / Notice | 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 credits | 5G | F. K. Gürkaynak, L. Benini | |

Abstract | 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. | |||||

Learning objective | 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 VHDL or 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 VHDL and with industrial Electronic Design Automation (EDA) tools. | |||||

Content | 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. - VLSI and 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. - VHDL and SystemVerilog compared. - VHDL (IEEE standard 1076) for simulation and synthesis. - A suitable nine-valued logic system (IEEE standard 1164). - 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 digital ICs with VHDL. They write testbenches for simulation purposes and synthesize gate-level netlists for VLSI chips and FPGAs. Commercial EDA software by leading vendors is being used throughout. | |||||

Lecture notes | Textbook and all further documents in English. | |||||

Literature | H. Kaeslin: "Top-Down Digital VLSI Design, from Architectures to Gate-Level Circuits and FPGAs", Elsevier, 2014, ISBN 9780128007303. | |||||

Prerequisites / Notice | Prerequisites: Basics of digital circuits. Examination: In written form following the course semester (spring term). Problems are given in English, answers will be accepted in either English oder German. Further details: https://iis-students.ee.ethz.ch/lectures/vlsi-i/ | |||||

227-0377-00L | Physics of Failure and Failure Analysis of Electronic Devices and Equipment | W | 3 credits | 2V | U. Sennhauser | |

Abstract | Failures have to be avoided by proper design, material selection and manufacturing. Properties, degradation mechanisms, and expected lifetime of materials are introduced and the basics of failure analysis and analysis equipment are presented. Failures will be demonstrated experimentally and the opportunity is offered to perform a failure analysis with advanced equipment in the laboratory. | |||||

Learning objective | Introduction to the degradation and failure mechanisms and causes of electronic components, devices and systems as well as to methods and tools of reliability testing, characterization and failure analysis. | |||||

Content | Summary of reliability and failure analysis terminology; physics of failure: materials properties, physical processes and failure mechanisms; failure analysis of ICs, PCBs, opto-electronics, discrete and other components and devices; basics and properties of instruments; application in circuit design and reliability analysis | |||||

Lecture notes | Comprehensive copy of transparencies | |||||

252-0437-00L | Distributed Algorithms | W | 4 credits | 3V | F. Mattern | |

Abstract | Models of distributed computations, time space diagrams, virtual time, logical clocks and causality, wave algorithms, parallel and distributed graph traversal, consistent snapshots, mutual exclusion, election and symmetry breaking, distributed termination detection, garbage collection in distributed systems, monitoring distributed systems, global predicates. | |||||

Learning objective | Become acquainted with models and algorithms for distributed systems. | |||||

Content | Verteilte Algorithmen sind Verfahren, die dadurch charakterisiert sind, dass mehrere autonome Prozesse gleichzeitig Teile eines gemeinsamen Problems in kooperativer Weise bearbeiten und der dabei erforderliche Informationsaustausch ausschliesslich über Nachrichten erfolgt. Derartige Algorithmen kommen im Rahmen verteilter Systeme zum Einsatz, bei denen kein gemeinsamer Speicher existiert und die Übertragungszeit von Nachrichten i.a. nicht vernachlässigt werden kann. Da dabei kein Prozess eine aktuelle konsistente Sicht des globalen Zustands besitzt, führt dies zu interessanten Problemen. Im einzelnen werden u.a. folgende Themen behandelt: Modelle verteilter Berechnungen; Raum-Zeit Diagramme; Virtuelle Zeit; Logische Uhren und Kausalität; Wellenalgorithmen; Verteilte und parallele Graphtraversierung; Berechnung konsistenter Schnappschüsse; Wechselseitiger Ausschluss; Election und Symmetriebrechung; Verteilte Terminierung; Garbage-Collection in verteilten Systemen; Beobachten verteilter Systeme; Berechnung globaler Prädikate. | |||||

Literature | - F. Mattern: Verteilte Basisalgorithmen, Springer-Verlag - G. Tel: Topics in Distributed Algorithms, Cambridge University Press - G. Tel: Introduction to Distributed Algorithms, Cambridge University Press, 2nd edition - A.D. Kshemkalyani, M. Singhal: Distributed Computing, Cambridge University Press - N. Lynch: Distributed Algorithms, Morgan Kaufmann Publ | |||||

227-0447-00L | Image Analysis and Computer Vision | W | 6 credits | 3V + 1U | L. Van Gool, O. Göksel, E. Konukoglu | |

Abstract | 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. | |||||

Learning objective | Overview of the most important concepts of image formation, perception and analysis, and Computer Vision. Gaining own experience through practical computer and programming exercises. | |||||

Content | 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. | |||||

Lecture notes | Course material Script, computer demonstrations, exercises and problem solutions | |||||

Prerequisites / Notice | 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 | W | 4 credits | 3G | R. Wattenhofer | |

Abstract | 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. | |||||

Learning objective | 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. | |||||

Content | 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. | |||||

Lecture notes | A script is available on the web page. | |||||

Literature | The script is self-contained, but links to additional material are available on the web page. | |||||

Prerequisites / Notice | 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-0627-00L | Applied Computer Architecture | W | 6 credits | 4G | A. Gunzinger | |

Abstract | This lecture gives an overview of the requirements and the architecture of parallel computer systems, performance, reliability and costs. | |||||

Learning objective | Understand the function, the design and the performance modeling of parallel computer systems. | |||||

Content | The lecture "Applied Computer Architecture" gives technical and corporate insights in the innovative Computer Systems/Architectures (CPU, GPU, FPGA, special processors) and their real implementations and applications. Often the designs have to deal with technical limits. Which computer architecture allows the control of the over 1000 magnets at the Swiss Light Source (SLS)? Which architecture is behind the alarm center of the Swiss Railway (SBB)? Which computer architectures are applied for driver assistance systems? Which computer architecture is hidden behind a professional digital audio mixing desk? How can data streams of about 30 TB/s, produced by a protone accelerator, be processed in real time? Can the weather forecast also be processed with GPUs? How can a good computer architecture be found? Which are the driving factors in succesful computer architecture design? | |||||

Lecture notes | Script and exercices sheets. | |||||

Prerequisites / Notice | Prerequisites: Basics of computer architecture. | |||||

151-0593-00L | Embedded Control Systems | W | 4 credits | 6G | J. S. Freudenberg, M. Schmid Daners | |

Abstract | This course provides a comprehensive overview of embedded control systems. The concepts introduced are implemented and verified on a microprocessor-controlled haptic device. | |||||

Learning objective | Familiarize students with main architectural principles and concepts of embedded control systems. | |||||

Content | 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 | |||||

Lecture notes | Lecture notes, lab instructions, supplemental material | |||||

Prerequisites / Notice | 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: marischm@ethz.ch) After your reservation has been confirmed please register online at www.mystudies.ethz.ch. Detailed information can be found on the course website http://www.idsc.ethz.ch/education/lectures/embedded-control-systems.html | |||||

252-1411-00L | Security of Wireless Networks | W | 5 credits | 2V + 1U + 1A | S. Capkun | |

Abstract | Core Elements: Wireless communication channel, Wireless network architectures and protocols, Attacks on wireless networks, Protection techniques. | |||||

Learning objective | 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 802.11 networks. | |||||

Content | 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. | |||||

Electronics and Photonics The core courses and specialization courses below are a selection for students who wish to specialize in the area of "Electronics and Photonics", see https://www.ee.ethz.ch/studies/main-master/areas-of-specialisation.html. The individual study plan is subject to the tutor's approval. | ||||||

Core Courses These core courses are particularly recommended for the field of "Electronics and Photonics". 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 | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |

227-0110-00L | Advanced Electromagnetic Waves | W | 6 credits | 2V + 2U | P. Leuchtmann | |

Abstract | This course provides advanced knowledge of electromagnetic waves in linear materials including negative index and other non classical materials. | |||||

Learning objective | The behavior of electromagnetic waves both in free space and in selected environments including stratified media, material interfaces and waveguides is understood. Material models in the time harmonic regime including negative index and plasmonic materials are clarified. | |||||

Content | Description of generic time harmonic electromagnetic fields; the role of the material in Maxwell's equations; energy transport and power loss mechanism; EM-waves in homogeneous space: ordinary and evanescent plane waves, cylindrical and spherical waves, "complex origin"-waves and beams; EM-waves in stratified media; generic guiding mechanism for EM waves; classical wave guides, dielectric wave guides. | |||||

Lecture notes | A script including animated wave representations as well as the view graphs are provided in electronic form. | |||||

Literature | See literature list in the script. | |||||

Prerequisites / Notice | The lecture is taught in German while both the script and the view graphs are in English. | |||||

227-0112-00L | High-Speed Signal Propagation | W | 6 credits | 2V + 2U | C. Bolognesi | |

Abstract | Understanding of high-speed signal propagation in microwave cables and integrated circuits and printed circuit boards. As clock frequencies rise in the GHz domain, there is a need grasp signal propagation to maintain good signal integrity in the face of symbol interference and cross-talk. The course is of high value to all interested in high-speed analog (RF, microwave) or digital systems. | |||||

Learning objective | Understanding of high-speed signal propagation in interconnects, microwave cables and integrated transmission lines such as microwave integrated circuits and/or printed circuit boards. As system clock frequencies continuously rise in the GHz domain, a need urgently develops to understand high-speed signal propagation in order to maintain good signal integrity in the face of phenomena such as inter-symbol interference (ISI) and cross-talk. Concepts such as Scattering parameters (or S-parameters) are key to the characterization of networks over wide bandwidths. At high frequencies, all structures effectively become "transmission lines." Unless care is taken, it is highly probable that one ends-up with a bad transmission line that causes the designed system to malfunction. Filters will also be considered because it turns out that some of the problems associated by lossy transmission channels (lines, cables, etc) can be corrected by adequate filtering in a process called "equalization." | |||||

Content | Transmission line equations of the lossless and lossy TEM-transmission line. Introduction of current and voltage waves. Representation of reflections in the time and frequency domain. Application of the Smith chart. Behavior of low-loss transmission lines. Attenuation and impulse distortion due to skin effect. Transmission line equivalent circuits. Group delay and signal dispersion. Coupled transmission lines. Scattering parameters. Butterworth-, Chebychev- and Bessel filter approximations: filter synthesis from low-pass filter prototypes. | |||||

Lecture notes | Script: Leitungen und Filter (In German). | |||||

Prerequisites / Notice | Exercises will be held in English. | |||||

227-0116-00L | VLSI I: From Architectures to VLSI Circuits and FPGAs | W | 6 credits | 5G | F. K. Gürkaynak, L. Benini | |

Abstract | 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. | |||||

Learning objective | 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 VHDL or 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 VHDL and with industrial Electronic Design Automation (EDA) tools. | |||||

Content | 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. - VLSI and 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. - VHDL and SystemVerilog compared. - VHDL (IEEE standard 1076) for simulation and synthesis. - A suitable nine-valued logic system (IEEE standard 1164). - 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 digital ICs with VHDL. They write testbenches for simulation purposes and synthesize gate-level netlists for VLSI chips and FPGAs. Commercial EDA software by leading vendors is being used throughout. | |||||

Lecture notes | Textbook and all further documents in English. | |||||

Literature | H. Kaeslin: "Top-Down Digital VLSI Design, from Architectures to Gate-Level Circuits and FPGAs", Elsevier, 2014, ISBN 9780128007303. | |||||

Prerequisites / Notice | Prerequisites: Basics of digital circuits. Examination: In written form following the course semester (spring term). Problems are given in English, answers will be accepted in either English oder German. Further details: https://iis-students.ee.ethz.ch/lectures/vlsi-i/ |