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.
  •  Page  1  of  1