Search result: Catalogue data in Spring Semester 2009
Computer Science Master | ||||||
Focused Courses | ||||||
Focused Study: Computational Science | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|---|
251-0548-00L | Software for Numerical Linear Algebra | W | 6 credits | 2V + 2U | ||
Abstract | This is an advanced class for people who already have knowledge about algorithms of numerical lineare algebra and now wonder about subtle details that make a difference in practice. Typically, a student attended graduate classes on numerical analysis such as "Large Scale Eigenvalue Methods" and "Sparse Linear Systems Solving." | |||||
Objective | The aim of this course is to show how numerical algorithms are implemented correctly and efficiently. We follow this agenda by discussing various important algorithms of numerical linear algebra. | |||||
Content | Examples, mainly from numerical linear algebra are used to show how algorithms are implemented correctly and efficiently in floating-point arithmetic. In the first part, the exact computation of eigenvalues and eigenvectors, as well as singular values and singular vectors of dense matrices is discussed. In the second part, sparse matrices are treated first. Then we present an introduction to iterative methods for large sparse matrix eigenvalue problems and systems of linear equations. In particular the eigensolver package ARPACK amd the implementation of the well-known methods CG, MinRes, and GMRes is discussed. Finally, in the third part, parallel algorithms are treated. The course is given in German unless there are requests to use English. | |||||
Lecture notes | Scripts or notes on the various parts will be provided. | |||||
Literature | Background information: [1] C. D. Meyer: Matrix Analysis and Applied Linear Algebra Theory: [1] A. J. Laub: Matrix Analysis for Scientists and Engineers, SIAM 2004 [2] N. J. Higham: Accuracy and Stability of Numerical Algorithms, SIAM 2002 [3] G. Dahlquist and A. Bjorck: Numerical Methods in Scientific Computing, SIAM 2008 [4] F. Chaitin-Chatelin & V. Fraysse: "Lectures on Finite Precision Computations", SIAM 1996 Algorithms: [1] L. Komzsik: "The Lanczos Method: Evolution and Application", SIAM 2003 [2] Y. Saad: "Iterative Methods for Sparse Linear Systems", SIAM 2003 [3] T. Davis: "Direct Methods for Sparse Linear Sysyems", SIAM 2006 [4] I. Duff, A. Erisman, J. Reid: "Direct Methods for Sparse Matrices", Oxford UP 1986 [5] Z. Bai et al: "Templates for the Solution of Algebraic Eigenvalue Problems", SIAM 2000 [6] S. Goedecker & A. Hoisie: "Performance Optimization of Numerically Intensive Codes", SIAM 2001 | |||||
Prerequisites / Notice | Final exam at end of semester. | |||||
251-0574-00L | Spatiotemporal Modeling and Simulation | W | 6 credits | 2V + 2U | I. Sbalzarini | |
Abstract | This course teaches modeling techniques for spatially resolved systems. You will learn to account for the geometry of a system and for transport in space. After repetition of the basics from mathematics and physics, you will model processes such as diffusion, waves, and flow, and simulate them in the computer. | |||||
Objective | - Analysis of the dynamic behavior of biological or physical systems with spatial structure - Formulation of model of the system behavior - Computer simulation of the model using numerical methods We focus on biological systems. The taught methods and concepts are, however, applicable in a much broader sense. | |||||
Content | Dimensionality analysis, causality diagrams, vector fields, governing equations for diffusion, flow, and waves, hybrid particle-mesh methods for computer simulations, student project: simulation of a biological system. See course web page for complete syllabus: Link | |||||
Lecture notes | Lecture notes (Skript) written in English are available and will be handed out chapter-wise during the semester. | |||||
Prerequisites / Notice | Core course in the specialized Master in Computational Biology and Bioinformatics (Link) | |||||
401-2694-00L | Parallel Numerical Computing | W | 6 credits | 2V + 2U | P. Arbenz, A. Adelmann | |
Abstract | This is a basic introduction to parallel programming with an emphasis on numerical algorithms. OpenMP and MPI is used to explain basic concepts. The parallel frameworks Trilinos and IPPL are used to show a high level of abstraction w.r.t. parallel programming. Numerical algorithms covered are: (non)linear systems solving, N-body problems, FFT, Particle-In-Cell method, Fast Multipole Method. | |||||
Objective | This is a basic introduction to parallel programming with an emphasis on numerical algorithms. OpenMP and MPI (Message Passing Interface) will be used to explain basic concepts of shared and distributed memory computing. Students will be able to determine the potential benefits of parallelizing a given numerical algorithms on shared and distributed memory machines. They will be able to implement parallel codes using OpenMP and MPI. | |||||
Content | This course provides a basic introduction to parallel algorithms and programming with an emphasis on numerical algorithms. OpenMP and MPI (Message Passing Interface) will be used to explain basic concepts. The parallel frameworks Trilinos and IPPL (Independent Parallel Particle Layer) are used to show a high level of abstraction with respect to parallel programming. Parallel concepts and algorithms are explained in the lectures. The exercises are mainly devoted to numerical experiments. The students will learn to build parallel programs using different programming paradigms like message-passing and shared memory programming and are exposed to new concepts like expression templates. The students will have the opportunity to run their parallel codes on ETH's supercomputer Brutus (URL: Link). This is a heterogeneous system with a total of 2200 processor cores in 756 AMD Opteron compute nodes. A part of the nodes are connected by a high-speed Quadrics QsNet II interconnection network. Lectures 1,2: Introduction Lectures 3,4: Shared memory programming / OpenMP Lectures 5,6: Distributed memory programming / MPI Lectures 7,8: Sparse systems, iterative solvers, and preconditioners Lectures 9: Systems of nonlinear equations Lectures 10-12: N-body problems, FFT, Particle-In-Cell method, Fast Multipole Method | |||||
Lecture notes | Copies of the slides. | |||||
Literature | P. S. Pacheco, "Parallel Programming with MPI" R. Chandra et al. "Parallel Programming in OpenMP" W. Petersen and P. Arbenz, "Introduction to Parallel Computing" | |||||
Prerequisites / Notice | Prerequisites: Introduction to Computational Science (or similar) | |||||
Focused Study: Distributed Systems | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
251-0312-00L | Ubiquitous Computing | W | 4 credits | 2V | F. Mattern | |
Abstract | Ubiquitous computing integrates tiny wirelessly connected computers and sensors into the environment and everyday objects. Main topics: The vision of ubiquitous computing, trends in technology, smart cards, RFID, Bluetooth, sensor networks, location awareness, application areas and business issues, privacy. | |||||
Objective | The vision of ubiquitous computing, trends in technology, smart cards, RFID, Bluetooth, sensor networks, location awareness, application areas and business issues, privacy. | |||||
Content | Unter dem Begriff "Ubiquitous Computing" wird die Allgegenwärtigkeit von kleinsten, miteinander drahtlos vernetzten Computern verstanden, die unsichtbar in beliebige Alltagsgegenstände eingebaut werden oder an diese angeheftet werden können. Mit Sensoren ausgestattet, können sie die Umwelt des Gegenstandes erfassen oder diesen mit Informationsverarbeitungs- und Kommunikationsfähigkeiten ausstatten, was den Gegenständen eine neue, zusätzliche Qualität verleiht. Die Visionen von "smart devices" und einer umfassenden Informatisierung und Vernetzung fast beliebiger Dinge des Alltages scheinen in den nächsten wenigen Jahren aus technischer Sicht tatsächlich realisierbar. Damit einher geht ein Paradigmenwechsel in den Informatik-Anwendungen: weg vom PC und dem Computer als Werkzeug, hin zum "computing without computers". Die Vorlesung gibt einerseits einen Überblick über die relevanten Basistechnologien und Teilgebiete, geht andererseits aber auch auf speziellere Themen (z.B. location awareness, Privacy, Sicherheitsproblematik) ein. Unter anderem werden auch aktuelle Forschungsprojekte und Trends vorgestellt. | |||||
Lecture notes | Copies of slides | |||||
Literature | Wird in der Vorlesung bekanntgegeben. Zur Einstimmung: Mark Weiser: The Computer for the 21st Century. Scientific American, September 1991, pp. 94-104 | |||||
251-0316-00L | Web Services and Service Oriented Architectures | W | 6 credits | 2V + 1U + 1P | G. Alonso | |
Abstract | The course explores the architecture of large, distributed information systems from the point of view of "services" and "service oriented" languages and architectures. The course will cover the most important specifications, discuss their use in practice, and analyze the strengths and weaknesses of service orientation. | |||||
Objective | At the end of the course, students will have gained a wider perspective on distributed information systems and the architecture of enterprise systems. The course focuses on practical aspects rather than on theoretical issues and emphasizes project work so that the students gain hands-on experience on modern tools and systems. | |||||
Content | Service orientation is a new paradigm for building large software systems where the interfaces are defined using standard specifications and he interactions are loosely coupled. The course will focus on specifications such as SOAP, WSDL, UDDI, WS-Security, WS-Reliability, BPEL, REST as well as on the applications of these specifications in real use cases. The course has a strong project component and there will also be talks from industry to illustrate the practical relevance of the material covered in the course. | |||||
Literature | Reference text (available at the D-INFK library and the ETHZ library): Web Services Concepts, Architectures and Applications Gustavo Alonso, Fabio Casati, Harumi Kuno, Vijay Machiraju Springer Verlag 2004 ISBN 3-540-44008-9 | |||||
263-3800-00L | Advanced Operating Systems | W | 6 credits | 2V + 2U | T. Roscoe, A. Baumann | |
Abstract | This course is intended to give students a thorough understanding of design and implementation issues for modern operating systems. We will cover key design issues in implementing an operating system, such as memory management, scheduling, protection, inter-process communication, device drivers, and file systems. | |||||
Objective | The goals of the course are, firstly, to give students a broader perspective on OS design than that provided by knowledge of Unix or Windows, building on the material in a standard undergraduate operating systems class, and secondly, to provide them with practical experience in dealing directly with the concurrency, resource management, and abstraction problems confronting OS designers and implementers. | |||||
Content | This course is intended to give students a thorough understanding of design and implementation issues for modern operating systems. We will cover key design issues in implementing an operating system, such as memory management, scheduling, protection, inter-process communication, device drivers, and file systems. We will pay particular attention to system structures that differ from traditional monolithic arrangements of Unix/Linux and Windows. | |||||
Prerequisites / Notice | The course consists of lectures, project work, and an oral examination to be held shortly after the end of semester. Project work will be performed in small groups, where students will implement major components of a microkernel-based operating system. The final assessment will be a combination of project and examination grades. | |||||
263-3501-00L | Advanced Computer Networks | W | 6 credits | 2V + 2U | O. Riva | |
Abstract | This course covers advanced topics in computer networks. The focus is on principles, architectures, and protocols used in modern networked systems. | |||||
Objective | The goal is to provide an understanding of the tradeoffs and existing technology in building large, complex systems primarily by analyzing the design and deployment of real systems and emerging applications. | |||||
Content | The focus of the course is on principles, architectures, and protocols used in modern networked systems. Topics include: wireless networks and mobility issues at the network and transport layer (Mobile IP and micromobility protocols, TCP in wireless environments). Mobile phone networks. Overlay networks, flat routing protocols (DHTs), and peer-to-peer architectures. The Border Gateway Protocol (BGP) in practice. | |||||
251-0817-00L | Distributed Systems Laboratory | W | 10 credits | 8P | F. Mattern, G. Alonso, R. Wattenhofer | |
Abstract | This course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including as well wireless networks, ad-hoc networks, and distributed application on PDAs. | |||||
Objective | Students acquire practical knowledge about technologies from the area of distributed systems. | |||||
Content | This course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including as well wireless networks, ad-hoc networks, and distributed application on PDAs. The objecte of the project is for the students to gain hands-on-experience with real products and the latest technology in distributed systems. There is no lecture associated to the course. For information of the course or projects available, please contact Prof. Mattern, Prof. Wattenhofer or Prof. G. Alonso. | |||||
252-3500-05L | Information and Communication Systems | W | 2 credits | 2S | G. Alonso, A. Baumann, D. Kossmann, T. Roscoe, J. T. Teubner | |
Abstract | The seminar deals with a current topic in distributed information systems. Students are expected to attend the entire seminar, choose a topic for presentation (may be either a collection of research papers or describing a system and/or evaluating a concrete product). Students are evaluated in the knowledge gained, the presentation made and the report they will present at the end of the semester. | |||||
Objective | ||||||
252-3600-02L | Seminar on Distributed Systems | W | 2 credits | 2S | F. Mattern | |
Abstract | Seminar on various topics from the broader area of distributed systems. | |||||
Objective | Learn about various current topics from the broader area of distributed systems. | |||||
Prerequisites / Notice | Voranmeldung bei der Vorbesprechung / Themenvergabe (vor Beginn der Vorlesungszeit) notwendig. | |||||
Focused Study: Information Security | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
251-0408-00L | Cryptographic Protocols | W | 6 credits | 2V + 2U | U. Maurer, M. Hirt | |
Abstract | The course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc. | |||||
Objective | Einblick in ein hochaktuelles Forschungsgebiet mit vielen Rosinen und paradoxen Resultaten. Förderung der Freude an grundlegenden Fragestellungen. | |||||
Content | Diese Vorlesung gibt einen genauen Einblick in hochaktuelle Themen des Forschungsgebiets Kryptographie. Die Themenwahl richtet sich nach den neusten Entwicklungen. Mögliche Themen sind beweisbar sichere Verschlüsselung, Secret Sharing, interaktive Beweise, Zero-kowledge Protokolle, sichere Multi-Party Berechnungen, digitale Abstimmungen, etc. | |||||
Lecture notes | ja | |||||
Prerequisites / Notice | Hilfreich für das Verständnis der Vorlesung sind Grundlagenkenntnisse in Kryptographie (z.B. von den Lehrveranstaltungen Information Security und/oder Cryptography). | |||||
251-0470-00L | Security and Fault-Tolerance in Distributed Systems | W | 5 credits | 2V + 1U | C. Cachin | |
Abstract | Methods for building dependable and secure distributed systems. Focus on fault-tolerant, distributed and cryptographic protocols; group communication, reliable broadcast, distributed cryptosystems, Byzantine agreement, resilient services, and secure storage systems. | |||||
Objective | The course presents principles and fundamental methods, and shows how they are applied to real-world systems. | |||||
Content | Tentative List of Topics 1. Introduction 2. Dependability Concepts 3. Quorums 4. Registers and Shared Memory 5. Consensus and Broadcast 6. View-synchronous Group Communication 7. Distributed Cryptography 8. Byzantine Agreement 9. Service Replication 10. Data Storage | |||||
251-1414-00L | System Security | W | 6 credits | 2V + 2U | S. Capkun, G. Caronni, N. Weiler | |
Abstract | 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 detection systems. In the second part, the focus is on system design and methodologies for large projects. | |||||
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 large projects. The main question answered is how to get a large secure system. Topics include: patch management, common software faults (buffer overflows, etc.), writing secure software (design, architecture, QA, testing), compiler-supported security, langauge-supported security (java...), logging and auditing (BSM audit, dtrace, ...), cryptographic support, TCG, secure file systems, dos/windows/ windowsXP security issues. Along the lectures, model cases will be elaborated and evaluated in the exercises. | |||||
Focused Study: Information Systems | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
251-0222-00L | Compiler Design I | W | 6 credits | 2V + 2U | T. Gross, F. T. Schneider | |
Abstract | This course uses compilers as example to expose modern software development techniques. Compiler organization. Lexical analysis. Top-down parsing via recursive descent, table-driven parsers, bottom-up parsing. Symboltables, semantic checking. Code generation for a simple RISC machine: conditionals, loops, procedure calls, simple register allocation techniques. | |||||
Objective | Learn principles of compiler design, gain practical experience designing and implementing a medium-scale software system. | |||||
Content | This course uses compilers as example to expose modern software development techniques. The course introduces the students to the fundamentals of compiler construction. Students will implement a simple yet complete compiler for an object-oriented programming language for a realistic target machine. Students will learn the use of appropriate tools (parser generators); the implementation language is Java. Throughout the course, students learn to apply their knowledge of theory (automata, grammars, stack machines, program transformation) and well-known programming techniques (module definitions, design patterns, frameworks, software reuse) in a software project. Specific topics: Compiler organization. Lexical analysis. Top-down parsing via recursive descent, table-driven parsers, bottom-up parsing. Symboltables, semantic checking. Code generation for a simple RISC machine: expression evaluation, straight line code, conditionals, loops, procedure calls, simple register allocation techniques. Storage allocation on the stack, parameter passing, runtime storage management, heaps. Special topics as time permits: introduction to global dataflow and its application to register allocation, instruction scheduling. | |||||
Literature | Aho/Lam/Sethi/Ullmann, Compilers - Principles, Techniques, and Tools (2nd Edition) Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997 | |||||
Prerequisites / Notice | Prerequisites: Prior exposure to modern techniques for program construction, knowledge of at least one processor architecture at the assembly language level. | |||||
251-0312-00L | Ubiquitous Computing | W | 4 credits | 2V | F. Mattern | |
Abstract | Ubiquitous computing integrates tiny wirelessly connected computers and sensors into the environment and everyday objects. Main topics: The vision of ubiquitous computing, trends in technology, smart cards, RFID, Bluetooth, sensor networks, location awareness, application areas and business issues, privacy. | |||||
Objective | The vision of ubiquitous computing, trends in technology, smart cards, RFID, Bluetooth, sensor networks, location awareness, application areas and business issues, privacy. | |||||
Content | Unter dem Begriff "Ubiquitous Computing" wird die Allgegenwärtigkeit von kleinsten, miteinander drahtlos vernetzten Computern verstanden, die unsichtbar in beliebige Alltagsgegenstände eingebaut werden oder an diese angeheftet werden können. Mit Sensoren ausgestattet, können sie die Umwelt des Gegenstandes erfassen oder diesen mit Informationsverarbeitungs- und Kommunikationsfähigkeiten ausstatten, was den Gegenständen eine neue, zusätzliche Qualität verleiht. Die Visionen von "smart devices" und einer umfassenden Informatisierung und Vernetzung fast beliebiger Dinge des Alltages scheinen in den nächsten wenigen Jahren aus technischer Sicht tatsächlich realisierbar. Damit einher geht ein Paradigmenwechsel in den Informatik-Anwendungen: weg vom PC und dem Computer als Werkzeug, hin zum "computing without computers". Die Vorlesung gibt einerseits einen Überblick über die relevanten Basistechnologien und Teilgebiete, geht andererseits aber auch auf speziellere Themen (z.B. location awareness, Privacy, Sicherheitsproblematik) ein. Unter anderem werden auch aktuelle Forschungsprojekte und Trends vorgestellt. | |||||
Lecture notes | Copies of slides | |||||
Literature | Wird in der Vorlesung bekanntgegeben. Zur Einstimmung: Mark Weiser: The Computer for the 21st Century. Scientific American, September 1991, pp. 94-104 | |||||
251-0316-00L | Web Services and Service Oriented Architectures | W | 6 credits | 2V + 1U + 1P | G. Alonso | |
Abstract | The course explores the architecture of large, distributed information systems from the point of view of "services" and "service oriented" languages and architectures. The course will cover the most important specifications, discuss their use in practice, and analyze the strengths and weaknesses of service orientation. | |||||
Objective | At the end of the course, students will have gained a wider perspective on distributed information systems and the architecture of enterprise systems. The course focuses on practical aspects rather than on theoretical issues and emphasizes project work so that the students gain hands-on experience on modern tools and systems. | |||||
Content | Service orientation is a new paradigm for building large software systems where the interfaces are defined using standard specifications and he interactions are loosely coupled. The course will focus on specifications such as SOAP, WSDL, UDDI, WS-Security, WS-Reliability, BPEL, REST as well as on the applications of these specifications in real use cases. The course has a strong project component and there will also be talks from industry to illustrate the practical relevance of the material covered in the course. | |||||
Literature | Reference text (available at the D-INFK library and the ETHZ library): Web Services Concepts, Architectures and Applications Gustavo Alonso, Fabio Casati, Harumi Kuno, Vijay Machiraju Springer Verlag 2004 ISBN 3-540-44008-9 | |||||
251-0374-00L | Web Engineering | W | 5 credits | 2V + 1U | M. Norrie | |
Abstract | Starting with basic technologies of Web Engineering, this course will introduce the necessary knowledge to develop dynamic web applications using scripting and programming languages. After an overview of common Web Engineering architectures, model-based approaches and CASE tools will be introduced. Finally, methodologies for context-aware web sites will be discussed. | |||||
Objective | The course teaches students about the basic principles of web engineering by examining various tools, technologies and methodologies to support the systematic development of state-of-the-art web sites. Starting with the basic web technologies, the first part of the course builds on these in a step-by-step manner to arrive at the rich variety and mix of technologies in use today. This includes both clients and server-side technologies to support dynamic web content as well as support for access from a range of client devices. The second part of the course covers frameworks, tools and methods to support state-of-the-art web sites, showing how these build on the various technologies covered in the first half of the course. | |||||
Content | Basic Technologies (HTTP, HTML, CSS, XML), Dynamic Web Sites (CGI, JavaScript, PHP, Servlets), Web Architectures, Model-based Approaches (WebML, UWE, Hera), Context-aware Web Engineering (personalisation, internationalisation, mobile access) | |||||
Prerequisites / Notice | This course is held in English. | |||||
251-0376-00L | Data Warehouses | W | 5 credits | 2V + 1U | D. Kossmann, C. Binnig | |
Abstract | Architecture of Data Warehouses, Data Models (e.g., star and snowflake schemas), SQL extensions (data cube, pivot tables, etc.), implementation techniques, query optimization, data mining, data cleaning, time series, continuous queries, systems, probabilistic databases. | |||||
Objective | ||||||
251-0383-00L | Networked Information Systems | W | 6 credits | 2V + 1U + 1A | N. Tatbul Bitim | |
Abstract | This course explores the fundamental concepts in design and implementation of networked information systems, with a special emphasis on issues related to data management. In addition to the classical topics of distributed information systems, we will also study modern applications involving the web, peer-to-peer systems, sensor networks, and data stream processing, to name a few. | |||||
Objective | The purpose of this course is to teach students the fundamental concepts of distributed data management systems and their current application in various modern settings. The students will also gain some practical experience in building distributed data management applications through a programming project. | |||||
Prerequisites / Notice | Prerequisite: 252-0060-00 Introduction to Database Systems, or similar basic knowledge. | |||||
251-0807-00L | Information Systems Laboratory | W | 10 credits | 8P | M. Norrie, D. Kossmann, N. Tatbul Bitim | |
Abstract | The purpose of this laboratory course is to practically explore modern techniques to build large-scale distributed information systems. Participants will work in groups of three or more students, and develop projects in several phases. The course is offered in both Fall and Spring semesters. | |||||
Objective |
- Page 1 of 6 All