Das Herbstsemester 2020 findet in einer gemischten Form aus Online- und Präsenzunterricht statt.
Bitte lesen Sie die publizierten Informationen zu den einzelnen Lehrveranstaltungen genau.

Suchergebnis: Katalogdaten im Herbstsemester 2014

CAS in Informatik Information
Obligatorische Fächer der Vertiefung
Lerneinheiten für die Zulassungsprüfung ergeben keine ECTS Punkte und werden nicht zum Zertifikatslehrgang Informatik angerechnet.

Die Lehrveranstaltung 151-0107-20L High Performance Computing for Science and Engineering (HPCSE) for Engineers I (HS) kann nur mit der Lehrveranstaltung 401-0686-10L High Performance Computing for Science and Engineering (HPCSE) for Engineers II (FS) zusammen (8 KP) als obligatorisches Fach der Vertiefung angerechnet werden.
NummerTitelTypECTSUmfangDozierende
252-0206-00LVisual Computing Information W8 KP4V + 3UM. Gross, M. Pollefeys
KurzbeschreibungThis course acquaints students with core knowledge in computer graphics, image processing, multimedia and computer vision. Topics include: Graphics pipeline, perception and camera models, transformation, shading, global illumination, texturing, sampling, filtering, image representations, image and video compression, edge detection and optical flow.
LernzielThis course provides an in-depth introduction to the core concepts of computer graphics, image processing, multimedia and computer vision. The course forms a basis for the specialization track Visual Computing of the CS master program at ETH.
InhaltCourse topics will include: Graphics pipeline, perception and color models, camera models, transformations and projection, projections, lighting, shading, global illumination, texturing, sampling theorem, Fourier transforms, image representations, convolution, linear filtering, diffusion, nonlinear filtering, edge detection, optical flow, image and video compression.

In theoretical and practical homework assignments students will learn to apply and implement the presented concepts and algorithms.
SkriptA scriptum will be handed out for a part of the course. Copies of the slides will be available for download. We will also provide a detailed list of references and textbooks.
LiteraturMarkus Gross: Computer Graphics, scriptum, 1994-2005
252-0209-00LAlgorithms, Probability, and Computing Information W8 KP4V + 2U + 1AE. Welzl, T.  Holenstein, P. Widmayer
KurzbeschreibungAdvanced design and analysis methods for algorithms and data structures: Random(ized) Search Trees, Point Location, Minimum Cut, Linear Programming, Randomized Algebraic Algorithms (matchings), Probabilistically Checkable Proofs (introduction).
LernzielStudying and understanding of fundamental advanced concepts in algorithms, data structures and complexity theory.
SkriptWill be handed out.
LiteraturIntroduction to Algorithms by T. H. Cormen, C. E. Leiserson, R. L. Rivest;
Randomized Algorithms by R. Motwani und P. Raghavan;
Computational Geometry - Algorithms and Applications by M. de Berg, M. van Kreveld, M. Overmars, O. Schwarzkopf.
252-0210-00LCompiler DesignW8 KP4V + 3UT. Gross
KurzbeschreibungDiese Vorlesung benutzt Compiler als Beispiel für moderne Software Entwicklung. Dazu werden die Kernthemen des Compilerbaus behandelt: Syntax Analyse, Symboltabellen, Code Erzeugung. Die Vorlesung und Uebungen geben den Studierenden eine gute Gelegenheit, Muster in diversen Kontexten anzuwenden.
LernzielLearn principles of compiler design, gain practical experience designing and implementing a medium-scale software system.
InhaltThis 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.
LiteraturAho/Lam/Sethi/Ullmann, Compilers - Principles, Techniques, and Tools (2nd Edition)

Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997
Voraussetzungen / BesonderesPrerequisites:
Prior exposure to modern techniques for program construction, knowledge of at least one processor architecture at the assembly language level.
252-0213-00LVerteilte Systeme Information W8 KP6G + 1AF. Mattern, R. Wattenhofer
KurzbeschreibungVerteilte Kontrollalgorithmen (wechselseitiger Ausschluss, logische Uhren), Kommunikationsmodelle (RPC, synchrone/asynchrone Kommunikation, Broadcast, Ereignisse, Tupelräume), Middleware, Service- und Ressourcen-orientierte Architekturen (SOAP, REST), Sicherheit, Fehlertoleranz (Modelle, Consensus), Replikation (Primary Copy, 2PC, 3PC, Quorum-Systeme), Shared Memory (Spin Locks, Concurrency).
LernzielKennenlernen von wesentlichen Technologien und Architekturen verteilter Systeme.
InhaltWir geben eine Einführung in verteilte Systeme (Charakteristika und Konzepte) und diskutieren sodann verteilte Kontrollalgorithmen (Flooding-Verfahren, wechselseitiger Ausschluss, logische Uhren), Basis-Kommunikationsmodelle (Remote-Procedure-Call, Client-Server-Strukturen, synchrone und asynchrone Kommunikation), abstraktere Kommunikationsprinzipien (Broadcast, Ereignisse, Tupelräume), Namensverwaltung, Middleware und Techniken offener Systeme (z.B. REST, SOAP), Infrastruktur für spontan vernetzte Systeme (JINI), Cloud-Computing sowie Sicherheits- und Schutzmechanismen. Da partielle Systemausfälle charakteristisch für verteilte Systeme sind, werden auch Fehlermodelle und Fehlertoleranz-Algorithmen zum systematischen Umgang mit Fehlersituationen besprochen. Wir diskutieren dazu Fehlertoleranzaspekte (Modelle, Consensus, Agreement) sowie Replikationsaspekte (Primary Copy, 2PC, 3PC, Paxos, Quorum-Systeme, verteilter Speicher) und Probleme bei asynchronen Multiprozesssystemen (Shared Memory, Spin Locks, Concurrency). Parallel zur Vorlesung werden einige der Übungen in Form praktischer mehrwöchiger Aufgaben durchgeführt, wobei die Teilnehmer mit der Programmierung von mobilen Plattformen (smartphones) und nachrichtenbasierten Kommunikationsprinzipien vertraut werden.
151-0107-20LHigh Performance Computing for Science and Engineering (HPCSE) IW4 KP4GP. Koumoutsakos, M. Troyer
KurzbeschreibungThis course gives an introduction into algorithms and numerical methods for parallel computing for multi and many-core architectures and for applications from problems in science and engineering.
LernzielIntroduction to HPC for scientists and engineers
Fundamental of:
1. Parallel Computing Architectures
2. MultiCores
3. ManyCores
InhaltProgramming models and languages:
1. C++ threading (2 weeks)
2. OpenMP (4 weeks)
3. MPI (5 weeks)

Computers and methods:
1. Hardware and architectures
2. Libraries
3. Particles: N-body solvers
4. Fields: PDEs
5. Stochastics: Monte Carlo
Skripthttp://www.cse-lab.ethz.ch/index.php/teaching/42-teaching/classes/615-hpcse1
Class notes, handouts
  •  Seite  1  von  1