Suchergebnis: Katalogdaten im Herbstsemester 2016

Informatik Bachelor Information
Bachelor-Studium (Studienreglement 2016)
Basisprüfung
Basisprüfungsblock 1
NummerTitelTypECTSUmfangDozierende
401-0131-00LLineare AlgebraO7 KP4V + 2UÖ. Imamoglu, O. Sorkine Hornung
KurzbeschreibungAnwendungsorientierte Einführung in die lineare Algebra (Vektorräume und lineare Abbildungen, Matrizen), Matrixzerlegungen (LU-, QR-, Eigenwert- und Singulärwert-Zerlegung). Einführung in die Programmierumgebung Matlab.
LernzielDie Lernziele sind:
- die fundamentalen Konzepte der linearen Algebra gut zu verstehen
- in der Lage zu sein, mit Hilfe von Matlab Rechenaufgaben zu lösen
- Anwendungen der linearen Algebra in der Informatik kennenzulernen
InhaltLineare Algebra:
Lineare Gleichungssysteme, Vektoren und Matrizen, Normen und Skalarprodukte, LU-Zerlegung, Vektorräume und lineare Abbildungen, Ausgleichsprobleme, QR-Zerlegung, Determinanten, Eigenwerte und Eigenvektoren, Singulärwertzerlegung, Anwendungen.
SkriptSkript "Lineare Algebra" (Gutknecht).
Voraussetzungen / BesonderesDer relevante Schulstoff wird am Anfang kurz wiederholt.
252-0025-00LDiskrete MathematikO7 KP4V + 2UU. Maurer
KurzbeschreibungInhalt: Mathematisches Denken und Beweise, Abstraktion. Mengen, Relationen (z.B. Aequivalenz- und Ordnungsrelationen), Funktionen, (Un-)abzählbarkeit, Zahlentheorie, Algebra (Gruppen, Ringe, Körper, Polynome, Unteralgebren, Morphismen), Logik (Aussagen- und Prädikatenlogik, Beweiskalküle).
LernzielHauptziele der Vorlesung sind (1) die Einführung der wichtigsten Grundbegriffe der diskreten Mathematik, (2) das Verständnis der Rolle von Abstraktion und von Beweisen und (3) die Diskussion einiger Anwendungen, z.B. aus der Kryptographie, Codierungstheorie und Algorithmentheorie.
InhaltSiehe Kurzbeschreibung.
Skriptvorhanden (englisch)
252-0026-00LAlgorithmen und Datenstrukturen Information O7 KP3V + 2U + 1AP. Widmayer, M. Püschel
KurzbeschreibungEs werden grundlegende Entwurfsmuster für Algorithmen sowie klassische algorithmische Probleme und Datenstrukturen behandelt. Das Zusammenspiel von Algorithmen und Datenstrukturen wird anhand von Geometrie- und Graphenproblemen illustriert. In die Graphentheorie wird kurz eingeführt.
LernzielVerständnis des Entwurfs und der Analyse grundlegender Algorithmen und Datenstrukturen.
InhaltEs werden grundlegende Algorithmen und Datenstrukturen vorgestellt und analysiert. Dazu gehören auf der einen Seite Entwurfsmuster für Algorithmen, wie Induktion, divide-and-conquer, backtracking und dynamische Optimierung, ebenso wie klassische algorithmische Probleme, wie Suchen und Sortieren. Auf der anderen Seite werden Datenstrukturen für verschiedene Zwecke behandelt, darunter verkettete Listen, Hashtabellen, balancierte Suchbäume, verschiedene heaps und union-find-Strukturen. Weiterhin wird Adaptivität bei Datenstrukturen (wie etwa Splay-Bäume) und bei Algorithmen (wie etwa online-Algorithmen) beleuchtet. Das Zusammenspiel von Algorithmen und Datenstrukturen wird anhand von Geometrie- und Graphenproblemen illustriert. Hierfür werden grundlegende Konzepte der Graphentheorie eingeführt.
LiteraturTh. Ottmann, P.Widmayer: Algorithmen und Datenstrukturen, Spektrum-Verlag, 5. Auflage, Heidelberg, Berlin, Oxford, 2011
252-0027-00LEinführung in die Programmierung Information O7 KP4V + 2UT. Gross
KurzbeschreibungEinführung in grundlegende Konzepte der modernen Programmierung. Vermittlung der Fähigkeit, Programme von höchster Qualität zu entwickeln. Einführung in Prinzipien des Software Engineering mit objekt-orientiertem Ansatz.
LernzielViele Menschen können Programme schreiben. Die Ziele der Vorlesung "Einführung in die Programmierung" gehen aber darüber hinaus: sie lehrt die fundamentalen Konzepte und Fertigkeiten, die nötig sind, um professionelle Programme zu erstellen. Nach erfolgreichem Abschluss der Vorlesung beherrschen Studenten die fundamentalen Kontrollstrukturen, Datenstrukturen, die Verfahren zur Problemlösung und Mechanismen von Programmiersprachen, die die moderne Programmierung auszeichnen. Sie kennen die Grundregeln für die Produktion von Software in hoher Qualität. Sie haben die nötigen Vorkenntnisse für weiterführende Vorlesungen, die das Programmieren in spezialisierten Anwendungsgebieten vorstellen.
InhaltGrundlagen der objekt-orientierten Programmierung. Objekte und Klassen. Vor- und Nachbedingungen, Invarianten, Design by Contract. Elementare Kontrollstrukturen. Zuweisungen und Referenzierung. Grundbegriffe aus der Hardware. Elementare Datenstrukturen und Algorithmen. Rekursion. Vererbung und Interfaces, Einführung in Event-driven Design und Concurrent Programming. Grundkonzepte aus Software Engineering wie dem Softwareprozess, Spezifikation und Dokumentation, Reuse und Quality Assurance.
SkriptDie Vorlesungsfolien auf der Vorlesungswebseite zum Download zur Verfügung gestellt.
LiteraturWeitere Literaturangaben auf der Web Seite der Vorlesung.
Voraussetzungen / BesonderesDie Vorlesung hat keine besonderen Voraussetzungen. Sie erwartet das gleichzeitige Belegen der anderen Informatik Vorlesungen des Basisjahres.
Basisprüfungsblock 2
Die Fächer des Blocks 2 werden im Frühjahrsemester angeboten.
NummerTitelTypECTSUmfangDozierende
401-0211-00LAnalysis I
Findet dieses Semester nicht statt.
Die Lerneinheit findet im FS17 wieder statt.
O7 KP4V + 2Ukeine Angaben
KurzbeschreibungReelle und komplexe Zahlen, Vektoren, Funktionen, Grenzwerte, Folgen, Reihen, Potenzreihen, Differential- und Integralrechnung einer Variablen, Einführung in gewöhnliche Differentialgleichungen
LernzielReelle und komplexe Zahlen, Vektoren, Funktionen, Grenzwerte, Folgen, Reihen, Potenzreihen, Differential- und Integralrechnung einer Variablen, Einführung in gewöhnliche Differentialgleichungen
InhaltReelle und komplexe Zahlen, Vektoren, Funktionen, Grenzwerte, Folgen, Reihen, Potenzreihen, Differential- und Integralrechnung einer Variablen, Einführung in gewöhnliche Differentialgleichungen
SkriptMichael Struwe. _Analysis für Informatik._ ETH Zürich, 2010.
LiteraturJürgen Pöschel. _Etwas Analysis._ Springer Spektrum, 2014.

Christian Blatter. _Ingenieur-Analysis._ 2002.
Bachelor-Studium (Studienreglement 2008)
3. Semester
Obligatorische Fächer (3. Sem.)
NummerTitelTypECTSUmfangDozierende
252-0057-00LTheoretische Informatik Information O8 KP4V + 2U + 1AJ. Hromkovic
KurzbeschreibungKonzepte zur Beantwortung grundlegender Fragen wie: a) Was ist völlig automatisiert machbar (algorithmisch lösbar) b) Wie kann man die Schwierigkeit von Aufgaben (Problemen) messen? c) Was ist Zufall und wie kann er nützlich sein? d) Was ist Nichtdeterminisus und welche Rolle spielt er in der Informatik? e) Wie kann man unendliche Objekte durch Automaten und Grammatiken endlich darstellen?
LernzielVermittlung der grundlegenden Konzepte der Informatik in ihrer geschichtlichen Entwicklung
InhaltDie Veranstaltung ist eine Einführung in die Theoretische Informatik, die die grundlegenden Konzepte und Methoden der Informatik in ihrem geschichtlichen Zusammenhang vorstellt. Wir präsentieren Informatik als eine interdisziplinäre Wissenschaft, die auf einer Seite die Grenzen zwischen Möglichem und Unmöglichem und die quantitativen Gesetze der Informationsverarbeitung erforscht und auf der anderen Seite Systeme entwirft, analysiert, verifiziert und implementiert.

Die Hauptthemen der Vorlesung sind:

- Alphabete, Wörter, Sprachen, Messung der Informationsgehalte von Wörtern, Darstellung von algorithmischen Aufgaben
- endliche Automaten, reguläre und kontextfreie Grammatiken
- Turingmaschinen und Berechenbarkeit
- Komplexitätstheorie und NP-Vollständigkeit
- Algorithmenentwurf für schwere Probleme
SkriptDie Vorlesung ist detailliert durch das Lehrbuch "Theoretische Informatik" bedeckt.
LiteraturBasisliteratur:
1. J. Hromkovic: Theoretische Informatik. 5. Auflage, Springer Vieweg 2014.

2. J. Hromkovic: Theoretical Computer Science. Springer 2004.

Weiterführende Literatur:
3. M. Sipser: Introduction to the Theory of Computation, PWS Publ. Comp.1997
4. J.E. Hopcroft, R. Motwani, J.D. Ullman: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie.
Pearson 2002.
5. I. Wegener: Theoretische Informatik. Teubner
Weitere Übungen und Beispiele:
6. A. Asteroth, Ch. Baier: Theoretische Informatik
Voraussetzungen / BesonderesWährend des Semesters werden zwei freiwillige Probeklausuren gestellt.
252-0061-00LSystems Programming and Computer Architecture Information O8 KP4V + 2U + 1AT. Roscoe
KurzbeschreibungIntroduction to computer architecture and system programming:

Instruction sets, storage hiearchies, runtime structures with an
emphasis on computers as engines for the execution of compiled
programs. Interaction between system software and the hardware.
Problems that arise from the final respresentation, performance
measurement and tuning, and program portability issues are covered.
LernzielThe objective is to allow students to understand all aspects of the
execution of compiled (C) programs on modern architectures -- the
instruction set, the storage resources (registers, stack, memory),
input/output, the impact of compiler decisions, and the interaction
between the operating system and hardware. Two main themes are
correctness issues (esp. those that arise from the finite
representation of data) and performance issues (incl. measurement and
tuning issues). The interface to the operating system is discussed to
prepare for subsequent classes on more advanced systems topics.

The two key goals are:

1) To equip students with a thorough understanding of how to
write correct programs that run fast on modern computer, and
2) How to write correct and efficient low-level systems code.

This course does not cover how to design or build a processor or
computer.
InhaltThis course provides an overview of "computers" as a
platform for the execution of (compiled) computer programs. This
course provides a programmer's view of how computer systems execute
programs, store information, and communicate. The course introduces
the major computer architecture structures that have direct influence
on the execution of programs (processors with registers, caches, other
levels of the memory hierarchy, supervisor/kernel mode, and I/O
structures) and covers implementation and representation issues only
to the extend that they are necessary to understand the structure and
operation of a computer system.

The course attempts to expose students to the practical issues that
affect performance, portability, security, robustness, and
extensibility. This course provides a foundation for subsequent
courses on operating systems, networks, compilers and many other
courses that require an understanding of the system-level
issues. Topics covered include: machine-level code and its generation
by optimizing compilers, address translation, input and output,
trap/event handlers, performance evaluation and optimization (with a
focus on the practical aspects of data collection and analysis).
LiteraturThe course is based in part on "Computer Systems: A Programmer's Perspective" (2nd Edition) by R. Bryant and D. O'Hallaron, with some additional material.
Voraussetzungen / Besonderes252-0024-00L Parallel Programming,
252-0014-00L Digital Circuits
401-0613-00LWahrscheinlichkeit und Statistik Information O6 KP3V + 2UJ. Teichmann
KurzbeschreibungGrundlagen der Wahrscheinlichkeitstheorie und der Statistik:
- Einführung in die Wahrscheinlichkeitstheorie
- kurze Einführung in Grundbegriffe und Methoden der Statistik
Lernziela) Fähigkeit, die behandelten wahrscheinlichkeitstheoretischen Methoden zu verstehen und anzuwenden

b) probabilistisches Denken und stochastische Modellierung

c) Fähigkeit, einfache statistische Tests selbst durchzuführen und die Resultate zu interpretieren
InhaltGrundlagen der Wahrscheinlichkeitstheorie und der Statistik mit spezieller Berücksichtigung der Bedürfnisse in der Informatik

Die inhaltlichen Ziele sind dabei:

- Gesetze des Zufalls und stochastisches Denken (Denken in Wahrscheinlichkeiten)
- Verständnis und Intuition für stochastische Modellierung
- einfache und grundlegende Methoden der Statistik

Der Inhalt der Vorlesung umfasst:

- Einführung in die Wahrscheinlichkeitstheorie: Grundbegriffe (Wahrscheinlichkeitsraum, Wahrscheinlichkeitsmass), Unabhängigkeit, Zufallsvariablen, diskrete und stetige Verteilungen, bedingte Wahrscheinlichkeiten, Erwartungswert und Varianz, Grenzwertsätze

- Methoden der Statistik: Parameterschätzungen, Maximum-Likelihood- und Momentenmethode, Tests, Konfidenzintervalle
SkriptEin Skript zur Vorlesung wird zu Vorlesungsbeginn elektronisch zur Verfuegung gestellt.
401-0663-00LNumerical Methods for CSE Information O7 KP4V + 2UR. Hiptmair
KurzbeschreibungThe course gives an introduction into fundamental techniques and algorithms of numerical mathematics which play a central role in numerical simulations in science and technology. The course focuses on fundamental ideas and algorithmic aspects of numerical methods. The exercises involve actual implementation of numerical methods in C++.
Lernziel* Knowledge of the fundamental algorithms in numerical mathematics
* Knowledge of the essential terms in numerical mathematics and the
techniques used for the analysis of numerical algorithms
* Ability to choose the appropriate numerical method for concrete problems
* Ability to interpret numerical results
* Ability to implement numerical algorithms afficiently
Inhalt1. Direct Methods for linear systems of equations
2. Least Squares Techniques
3. Data Interpolation and Fitting
4. Filtering Algorithms
8. Approximation of Functions
9. Numerical Quadrature
10. Iterative Methods for non-linear systems of equations
11. Single Step Methods for ODEs
12. Stiff Integrators
SkriptLecture materials (PDF documents and codes) will be made available to participants:

Lecture document: https://people.math.ethz.ch/~grsam/HS16/NumCSE/NumCSE16.pdf

Lecture Git repository: https://gitlab.math.ethz.ch/NumCSE/NumCSE

Tablet classroom notes: http://www.sam.math.ethz.ch/~grsam/HS16/NumCSE/NCSE16_Notes/

Lecture recording: http://www.video.ethz.ch/lectures/d-math/2016/autumn/401-0663-00L.html

Homework problems: https://people.math.ethz.ch/~grsam/HS16/NumCSE/NCSEProblems.pdf
LiteraturU. ASCHER AND C. GREIF, A First Course in Numerical Methods, SIAM, Philadelphia, 2011.

A. QUARTERONI, R. SACCO, AND F. SALERI, Numerical mathematics, vol. 37 of Texts in Applied Mathematics, Springer, New York, 2000.

W. Dahmen, A. Reusken "Numerik für Ingenieure und Naturwissenschaftler", Springer 2006.

M. Hanke-Bourgeois "Grundlagen der Numerischen Mathematik und des wissenschaftlichen Rechnens", BG Teubner, 2002

P. Deuflhard and A. Hohmann, "Numerische Mathematik I", DeGruyter, 2002
Voraussetzungen / BesonderesThe course will be accompanied by programming exercises in C++ relying on the template library EIGEN. Familiarity with C++, object oriented and generic programming is an advantage. Participants of the course are expected to learn C++ by themselves.
Kompensationsfächer
Als Kompensationsfächer gelten die obligatorischen Fächer der Vertiefung.
Vertiefung
Obligatorische Fächer der Vertiefung
Vertiefung Computer and Software Engineering
NummerTitelTypECTSUmfangDozierende
252-0210-00LCompiler Design
Findet dieses Semester nicht statt.
Die Lerneinheit findet im FS17 wieder statt.
O8 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 O8 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.
Vertiefung Computational Science
Die Lehrveranstaltung 151-0107-20L High Performance Computing for Science and Engineering I (HPCSE) im HS kann nur mit der Lehrveranstaltung 401-0686-10L High Performance Computing for Science and Engineering II (HPCSE) im FS zusammen (8 KP) als obligatorisches Fach der Vertiefung angerechnet werden.
NummerTitelTypECTSUmfangDozierende
252-0206-00LVisual Computing Information O8 KP4V + 3UM. Gross, O. Hilliges
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
151-0107-20LHigh Performance Computing for Science and Engineering (HPCSE) IW4 KP4GM. Troyer, P. Chatzidoukas
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
Vertiefung Theoretische Informatik
NummerTitelTypECTSUmfangDozierende
252-0209-00LAlgorithms, Probability, and Computing Information O8 KP4V + 2U + 1AE. Welzl, M. Ghaffari, A. Steger, 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.
Wahlfächer der Vertiefung
Es können auch Lehrveranstaltungen aus dem Master-Studiengang in Informatik gewählt werden. Es liegt in der Verantwortung der Studierenden, sicherzustellen, dass sie die Voraussetzungen für diese Lehrveranstaltungen erfüllen.
NummerTitelTypECTSUmfangDozierende
252-3110-00LHuman Computer Interaction Information W4 KP2V + 1UO. Hilliges, M. Norrie
KurzbeschreibungThe course provides an introduction to the field of human-computer interaction, emphasising the central role of the user in system design. Through detailed case studies, students will be introduced to different methods used to analyse the user experience and shown how these can inform the design of new interfaces, systems and technologies.
LernzielThe goal of the course is that students should understand the principles of user-centred design and be able to apply these in practice.
InhaltThe course will introduce students to various methods of analysing the user experience, showing how these can be used at different stages of system development from requirements analysis through to usability testing. Students will get experience of designing and carrying out user studies as well as analysing results. The course will also cover the basic principles of interaction design. Practical exercises related to touch and gesture-based interaction will be used to reinforce the concepts introduced in the lecture. To get students to further think beyond traditional system design, we will discuss issues related to ambient information and awareness.
151-0107-20LHigh Performance Computing for Science and Engineering (HPCSE) IW4 KP4GM. Troyer, P. Chatzidoukas
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
227-0627-00LAngewandte Computer ArchitekturW6 KP4GA. Gunzinger
KurzbeschreibungDiese Vorlesung gibt einen Überblick über die Anforderungen und die Architektur von parallelen Computersystemen unter Berücksichtigung von Rechenleistung, Zuverlässigkeit und Kosten.
LernzielArbeitsweise von parallelen Computersystemen verstehen, solche Systeme entwerfen und modellieren.
InhaltDie Vorlesung Angewandte Computer Architektur gibt technische und unternehmerische Einblicke in innovative Computersysteme/Architekturen (CPU, GPU, FPGA, Spezialprozessoren) und deren praxisnahe Umsetzung. Dabei werden oft die Grenzen der technologischen Möglichkeiten ausgereizt.
Wie ist das Computersystem aufgebaut, das die über 1000 Magneten an der Swiss Light Source (SLS) steuert?
Wie ist das hochverfügbare Alarmzentrum der SBB aufgebaut?
Welche Computer Architekturen werden in Fahrerassistenzsystemen verwendet?
Welche Computerarchitektur versteckt sich hinter einem professionellen digitalen Audio Mischpult?
Wie können Datenmengen von 30 TB/s, wie sie bei einem Protonen-Beschleuniger entstehen, in Echtzeit verarbeitet werden?
Kann die aufwändige Berechnung der Wettervorhersage auch mit GPUs erfolgen?
Nach welcher Systematik können optimale Computerarchitekturen gefunden werden?
Welche Faktoren sind entscheidend, um solche Projekte erfolgreich umzusetzen?
SkriptSkript und Übungsblätter.
Voraussetzungen / BesonderesVoraussetzungen:
Grundlagen der Computerarchitektur.
227-0945-00LCell and Molecular Biology for Engineers I
This course is part I of a two-semester course.
W3 KP3GC. Frei
KurzbeschreibungThe course gives an introduction into cellular and molecular biology, specifically for students with a background in engineering. The focus will be on the basic organization of eukaryotic cells, molecular mechanisms and cellular functions. Textbook knowledge will be combined with results from recent research and technological innovations in biology.
LernzielAfter completing this course, engineering students will be able to apply their previous training in the quantitative and physical sciences to modern biology. Students will also learn the principles how biological models are established, and how these models can be tested.
InhaltLectures will include the following topics: DNA, chromosomes, RNA, protein, genetics, gene expression, membrane structure and function, vesicular traffic, cellular communication, energy conversion, cytoskeleton, cell cycle, cellular growth, apoptosis, autophagy, cancer, development and stem cells.

In addition, three journal clubs will be held, where one/two publictions will be discussed (part I: 1 Journal club, part II: 2 Journal Clubs). For each journal club, students (alone or in groups of up to three students) have to write a summary and discussion of the publication. These written documents will be graded and count as 25% for the final grade.
SkriptScripts of all lectures will be available.
Literatur"Molecular Biology of the Cell" (6th edition) by Alberts, Johnson, Lewis, Raff, Roberts, and Walter.
227-1037-00LIntroduction to Neuroinformatics Information W6 KP2V + 1UK. A. Martin, M. Cook, V. Mante, M. Pfeiffer
KurzbeschreibungThe course provides an introduction to the functional properties of neurons. Particularly the description of membrane electrical properties (action potentials, channels), neuronal anatomy, synaptic structures, and neuronal networks. Simple models of computation, learning, and behavior will be explained. Some artificial systems (robot, chip) are presented.
LernzielUnderstanding computation by neurons and neuronal circuits is one of the great challenges of science. Many different disciplines can contribute their tools and concepts to solving mysteries of neural computation. The goal of this introductory course is to introduce the monocultures of physics, maths, computer science, engineering, biology, psychology, and even philosophy and history, to discover the enchantments and challenges that we all face in taking on this major 21st century problem and how each discipline can contribute to discovering solutions.
InhaltThis course considers the structure and function of biological neural networks at different levels. The function of neural networks lies fundamentally in their wiring and in the electro-chemical properties of nerve cell membranes. Thus, the biological structure of the nerve cell needs to be understood if biologically-realistic models are to be constructed. These simpler models are used to estimate the electrical current flow through dendritic cables and explore how a more complex geometry of neurons influences this current flow. The active properties of nerves are studied to understand both sensory transduction and the generation and transmission of nerve impulses along axons. The concept of local neuronal circuits arises in the context of the rules governing the formation of nerve connections and topographic projections within the nervous system. Communication between neurons in the network can be thought of as information flow across synapses, which can be modified by experience. We need an understanding of the action of inhibitory and excitatory neurotransmitters and neuromodulators, so that the dynamics and logic of synapses can be interpreted. Finally, the neural architectures of feedforward and recurrent networks will be discussed in the context of co-ordination, control, and integration of sensory and motor information in neural networks.
252-4101-00LACM-Lab
Findet dieses Semester nicht statt.
W4 KP3PA. Steger
KurzbeschreibungSolve programming problems from previous ACM Programming Contests (see http://acm.uva.es/problemset/); learn and use efficient programming methods and algorithms.
LernzielThe objective of this course is to learn how to solve algorithmic problems given as descriptions in natural language, similar to those posed in ACM Programming Contests. This includes appropriate problem modeling, choice of suitable (combinatorial) algorithms, and their efficient implementation using C/C++ and the STL.
  •  Seite  1  von  2 Nächste Seite Letzte Seite     Alle