Search result: Catalogue data in Spring Semester 2009

Computer Science Master Information
Focused Courses
Focused Study: Computational Science
NumberTitleTypeECTSHoursLecturers
251-0548-00LSoftware for Numerical Linear AlgebraW6 credits2V + 2U
AbstractThis 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."
ObjectiveThe 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.
ContentExamples, 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 notesScripts or notes on the various parts will be provided.
LiteratureBackground 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 / NoticeFinal exam at end of semester.
251-0574-00LSpatiotemporal Modeling and SimulationW6 credits2V + 2UI. Sbalzarini
AbstractThis 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.
ContentDimensionality 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 notesLecture notes (Skript) written in English are available and will be handed out chapter-wise during the semester.
Prerequisites / NoticeCore course in the specialized Master in Computational Biology and Bioinformatics (Link)
401-2694-00LParallel Numerical ComputingW6 credits2V + 2UP. Arbenz, A. Adelmann
AbstractThis 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.
ObjectiveThis 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.
ContentThis 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 notesCopies of the slides.
LiteratureP. S. Pacheco, "Parallel Programming with MPI"
R. Chandra et al. "Parallel Programming in OpenMP"
W. Petersen and P. Arbenz, "Introduction to Parallel Computing"
Prerequisites / NoticePrerequisites:
Introduction to Computational Science (or similar)
Focused Study: Distributed Systems
NumberTitleTypeECTSHoursLecturers
251-0312-00LUbiquitous ComputingW4 credits2VF. Mattern
AbstractUbiquitous 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.
ObjectiveThe vision of ubiquitous computing, trends in technology, smart cards, RFID, Bluetooth, sensor networks, location awareness, application areas and business issues, privacy.
ContentUnter 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 notesCopies of slides
LiteratureWird in der Vorlesung bekanntgegeben. Zur Einstimmung:
Mark Weiser: The Computer for the 21st Century. Scientific American, September 1991, pp. 94-104
251-0316-00LWeb Services and Service Oriented Architectures Restricted registration - show details W6 credits2V + 1U + 1PG. Alonso
AbstractThe 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.
ObjectiveAt 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.
ContentService 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.
LiteratureReference 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-00LAdvanced Operating SystemsW6 credits2V + 2UT. Roscoe, A. Baumann
AbstractThis 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.
ObjectiveThe 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.
ContentThis 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 / NoticeThe 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-00LAdvanced Computer NetworksW6 credits2V + 2UO. Riva
AbstractThis course covers advanced topics in computer networks. The focus is on principles, architectures, and protocols used in modern networked systems.
ObjectiveThe 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.
ContentThe 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-00LDistributed Systems LaboratoryW10 credits8PF. Mattern, G. Alonso, R. Wattenhofer
AbstractThis 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.
ObjectiveStudents acquire practical knowledge about technologies from the area of distributed systems.
ContentThis 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-05LInformation and Communication SystemsW2 credits2SG. Alonso, A. Baumann, D. Kossmann, T. Roscoe, J. T. Teubner
AbstractThe 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-02LSeminar on Distributed Systems Restricted registration - show details W2 credits2SF. Mattern
AbstractSeminar on various topics from the broader area of distributed systems.
ObjectiveLearn about various current topics from the broader area of distributed systems.
Prerequisites / NoticeVoranmeldung bei der Vorbesprechung / Themenvergabe (vor Beginn der Vorlesungszeit) notwendig.
Focused Study: Information Security
NumberTitleTypeECTSHoursLecturers
251-0408-00LCryptographic ProtocolsW6 credits2V + 2UU. Maurer, M. Hirt
AbstractThe 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.
ObjectiveEinblick in ein hochaktuelles Forschungsgebiet mit vielen Rosinen und paradoxen Resultaten. Förderung der Freude an grundlegenden Fragestellungen.
ContentDiese 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 notesja
Prerequisites / NoticeHilfreich für das Verständnis der Vorlesung sind Grundlagenkenntnisse in Kryptographie (z.B. von den Lehrveranstaltungen Information Security und/oder Cryptography).
251-0470-00LSecurity and Fault-Tolerance in Distributed SystemsW5 credits2V + 1UC. Cachin
AbstractMethods 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.
ObjectiveThe course presents principles and fundamental methods, and shows how they are applied to real-world systems.
ContentTentative 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-00LSystem SecurityW6 credits2V + 2US. Capkun, G. Caronni, N. Weiler
AbstractThe 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.
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 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
NumberTitleTypeECTSHoursLecturers
251-0222-00LCompiler Design IW6 credits2V + 2UT. Gross, F. T. Schneider
AbstractThis 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.
ObjectiveLearn principles of compiler design, gain practical experience designing and implementing a medium-scale software system.
ContentThis 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.
LiteratureAho/Lam/Sethi/Ullmann, Compilers - Principles, Techniques, and Tools (2nd Edition)

Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997
Prerequisites / NoticePrerequisites:
Prior exposure to modern techniques for program construction, knowledge of at least one processor architecture at the assembly language level.
251-0312-00LUbiquitous ComputingW4 credits2VF. Mattern
AbstractUbiquitous 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.
ObjectiveThe vision of ubiquitous computing, trends in technology, smart cards, RFID, Bluetooth, sensor networks, location awareness, application areas and business issues, privacy.
ContentUnter 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 notesCopies of slides
LiteratureWird in der Vorlesung bekanntgegeben. Zur Einstimmung:
Mark Weiser: The Computer for the 21st Century. Scientific American, September 1991, pp. 94-104
251-0316-00LWeb Services and Service Oriented Architectures Restricted registration - show details W6 credits2V + 1U + 1PG. Alonso
AbstractThe 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.
ObjectiveAt 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.
ContentService 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.
LiteratureReference 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-00LWeb EngineeringW5 credits2V + 1UM. Norrie
AbstractStarting 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.
ObjectiveThe 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.
ContentBasic 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 / NoticeThis course is held in English.
251-0376-00LData WarehousesW5 credits2V + 1UD. Kossmann, C. Binnig
AbstractArchitecture 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-00LNetworked Information SystemsW6 credits2V + 1U + 1AN. Tatbul Bitim
AbstractThis 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.
ObjectiveThe 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 / NoticePrerequisite: 252-0060-00 Introduction to Database Systems, or similar basic knowledge.
251-0807-00LInformation Systems LaboratoryW10 credits8PM. Norrie, D. Kossmann, N. Tatbul Bitim
AbstractThe 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 Next page Last page     All