Search result: Catalogue data in Autumn Semester 2018

Electrical Engineering and Information Technology Master Information
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
NumberTitleTypeECTSHoursLecturers
227-0102-00LDiscrete Event Systems Information W6 credits4GL. Thiele, L. Vanbever, R. Wattenhofer
AbstractIntroduction 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 objectiveOver 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.
Content1. 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 notesAvailable
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-00LCommunication Systems Information W6 credits4GA. Wittneben
AbstractInformation Theory, Signal Space Analysis, Baseband Transmission, Passband Transmission, Example und Channel, Data Link Layer, MAC, Example Layer 2, Layer 3, Internet
Learning objectiveIntroduction into the fundamentals of digital communication systems. Selected examples on the application of the fundamental principles in existing and upcoming communication systems
ContentCovered 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 notesLecture 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
NumberTitleTypeECTSHoursLecturers
227-0575-00LAdvanced Topics in Communication Networks (Autumn 2018) Information W6 credits2V + 2UL. Vanbever
AbstractThis 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 objectiveThe 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.
ContentTraditionally, 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 notesLecture notes and material will be made available before each course on the course website.
LiteratureRelevant references will be made available through the course website.
Prerequisites / NoticePrerequisites: 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-00LHardware/Software Codesign Information W6 credits2V + 2UL. Thiele
AbstractThe 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 objectiveThe 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.
ContentThe 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 notesMaterial for exercises, copies of transparencies.
LiteraturePeter 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 / NoticePrerequisites for the course is a basic knowledge in the following areas: computer architecture, digital design, software design, embedded systems
227-0781-00LLow-Power System DesignW6 credits2V + 2UJ. Beutel
AbstractIntroduction 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 objectiveKnowledge of the state-of-the-art in low power system design, understanding recent research results and their implication on industrial products.
ContentDesigning 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 notesExercise and lab materials, copies of lecture slides.
LiteratureA detailed reading list will be made available in the lecture.
Prerequisites / NoticeKnowledge in embedded systems, system software, (wireless) networking, possibly integrated circuits, and hardware software codesign.
252-1414-00LSystem Security Information W5 credits2V + 2US. Capkun, A. Perrig
AbstractThe 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 objectiveIn 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.
ContentThe 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-00LNetwork Security Information W6 credits2V + 1U + 2AA. Perrig, S. Frei
AbstractSome 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.
ContentThe 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 / NoticeThis 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.
NumberTitleTypeECTSHoursLecturers
227-0101-00LDiscrete-Time and Statistical Signal ProcessingW6 credits4GH.‑A. Loeliger
AbstractThe 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 objectiveThe 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.
Content1. 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 notesLecture Notes
227-0103-00LControl Systems Information W6 credits2V + 2UF. Dörfler
AbstractStudy 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 objectiveStudy 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.
ContentProcess 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.
LiteratureK. 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 / NoticePrerequisites: Signal and Systems Theory II.

MATLAB is used for system analysis and simulation.
227-0116-00LVLSI I: From Architectures to VLSI Circuits and FPGAs Information W6 credits5GF. K. Gürkaynak, L. Benini
AbstractThis 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 objectiveUnderstand 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.
ContentThis 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 notesTextbook and all further documents in English.
LiteratureH. Kaeslin: "Top-Down Digital VLSI Design, from Architectures to Gate-Level Circuits and FPGAs", Elsevier, 2014, ISBN 9780128007303.
Prerequisites / NoticePrerequisites:
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-00LPhysics of Failure and Failure Analysis of Electronic Devices and EquipmentW3 credits2VU. Sennhauser
AbstractFailures 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 objectiveIntroduction 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.
ContentSummary 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 notesComprehensive copy of transparencies
252-0437-00LDistributed Algorithms Information W4 credits3VF. Mattern
AbstractModels 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 objectiveBecome acquainted with models and algorithms for distributed systems.
ContentVerteilte 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-00LImage Analysis and Computer Vision Information W6 credits3V + 1UL. Van Gool, O. Göksel, E. Konukoglu
AbstractLight 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 objectiveOverview of the most important concepts of image formation, perception and analysis, and Computer Vision. Gaining own experience through practical computer and programming exercises.
ContentThis 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 notesCourse material Script, computer demonstrations, exercises and problem solutions
Prerequisites / NoticePrerequisites:
Basic concepts of mathematical analysis and linear algebra. The computer exercises are based on Python and Linux.
The course language is English.
227-0555-00LDistributed Systems Information W4 credits3GR. Wattenhofer
AbstractThis 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 objectiveThe 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.
ContentWe 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 notesA script is available on the web page.
LiteratureThe script is self-contained, but links to additional material are available on the web page.
Prerequisites / NoticeThis 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-00LApplied Computer ArchitectureW6 credits4GA. Gunzinger
AbstractThis lecture gives an overview of the requirements and the architecture of parallel computer systems, performance, reliability and costs.
Learning objectiveUnderstand the function, the design and the performance modeling of parallel computer systems.
ContentThe 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 notesScript and exercices sheets.
Prerequisites / NoticePrerequisites:
Basics of computer architecture.
151-0593-00LEmbedded Control SystemsW4 credits6GJ. S. Freudenberg, M. Schmid Daners
AbstractThis course provides a comprehensive overview of embedded control systems. The concepts introduced are implemented and verified on a microprocessor-controlled haptic device.
Learning objectiveFamiliarize students with main architectural principles and concepts of embedded control systems.
ContentAn 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 notesLecture notes, lab instructions, supplemental material
Prerequisites / NoticePrerequisite 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-00LSecurity of Wireless Networks Information W5 credits2V + 1U + 1AS. Capkun
AbstractCore Elements: Wireless communication channel, Wireless network architectures and protocols, Attacks on wireless networks, Protection techniques.
Learning objectiveAfter 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.
ContentWireless 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
NumberTitleTypeECTSHoursLecturers
227-0110-00LAdvanced Electromagnetic WavesW6 credits2V + 2UP. Leuchtmann
AbstractThis course provides advanced knowledge of electromagnetic waves in linear materials including negative index and other non classical materials.
Learning objectiveThe 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.
ContentDescription 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 notesA script including animated wave representations as well as the view graphs are provided in electronic form.
LiteratureSee literature list in the script.
Prerequisites / NoticeThe lecture is taught in German while both the script and the view graphs are in English.
227-0112-00LHigh-Speed Signal Propagation Information W6 credits2V + 2UC. Bolognesi
AbstractUnderstanding 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 objectiveUnderstanding 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."
ContentTransmission 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 notesScript: Leitungen und Filter (In German).
Prerequisites / NoticeExercises will be held in English.
227-0116-00LVLSI I: From Architectures to VLSI Circuits and FPGAs Information W6 credits5GF. K. Gürkaynak, L. Benini
AbstractThis 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 objectiveUnderstand 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.
ContentThis 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 notesTextbook and all further documents in English.
LiteratureH. Kaeslin: "Top-Down Digital VLSI Design, from Architectures to Gate-Level Circuits and FPGAs", Elsevier, 2014, ISBN 9780128007303.
Prerequisites / NoticePrerequisites:
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/
  • First page Previous page Page  2  of  7 Next page Last page     All