Name | Herr Prof. Dr. Markus Püschel |
Lehrgebiet | Informatik |
Adresse | Dep. Informatik ETH Zürich, CAB H 69.3 Universitätstrasse 6 8092 Zürich SWITZERLAND |
Telefon | +41 44 632 73 03 |
pueschel@inf.ethz.ch | |
URL | http://people.inf.ethz.ch/markusp/ |
Departement | Informatik |
Beziehung | Ordentlicher Professor |
Nummer | Titel | ECTS | Umfang | Dozierende | |
---|---|---|---|---|---|
252-0026-00L | Algorithmen und Datenstrukturen | 7 KP | 3V + 2U + 1A | M. Püschel, D. Steurer | |
Kurzbeschreibung | Es 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. | ||||
Lernziel | Verständnis des Entwurfs und der Analyse grundlegender Algorithmen und Datenstrukturen. | ||||
Inhalt | Es 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. | ||||
Literatur | Th. Ottmann, P.Widmayer: Algorithmen und Datenstrukturen, Spektrum-Verlag, 5. Auflage, Heidelberg, Berlin, Oxford, 2011 | ||||
263-2800-00L | Design of Parallel and High-Performance Computing | 7 KP | 3V + 2U + 1A | T. Hoefler, M. Püschel | |
Kurzbeschreibung | Advanced topics in parallel / concurrent programming. | ||||
Lernziel | Understand concurrency paradigms and models from a higher perspective and acquire skills for designing, structuring and developing possibly large concurrent software systems. Become able to distinguish parallelism in problem space and in machine space. Become familiar with important technical concepts and with concurrency folklore. | ||||
263-2900-00L | How To Give Strong Technical Presentations Findet dieses Semester nicht statt. | 0 KP | M. Püschel | ||
Kurzbeschreibung | |||||
Lernziel | Wherever possible I illustrate by example and present the material in a way to make it immediately applicable. The goal is to provide the knowledge that enables the participants, whether beginner or experienced presenter, to further improve their presentation skills and hence their impact whenever they step in front of an audience. | ||||
Inhalt | This course covers all aspects of delivering strong presentations. I explain common mistakes, what works and what does not, and why. Then I discuss structure and content as well as a set of fundamental principles from graphic design that make slides communicate effectively. These principles also apply to the presentation and visualization of data which is covered in some detail. Finally, I give some useful tips on the use of Powerpoint that simplify the creation of strong presentations. |