Name | Prof. Dr. Markus Püschel |
Field | Computer Science |
Address | Dep. Informatik ETH Zürich, CAB H 69.3 Universitätstrasse 6 8092 Zürich SWITZERLAND |
Telephone | +41 44 632 73 03 |
pueschel@inf.ethz.ch | |
URL | http://people.inf.ethz.ch/markusp/ |
Department | Computer Science |
Relationship | Full Professor |
Number | Title | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|
252-0026-00L | Algorithms and Data Structures | 7 credits | 3V + 2U + 1A | P. Widmayer, M. Püschel | |
Abstract | This course is about fundamental algorithm design paradigms, classic algorithmic problems, and data structures. The connection between algorithms and data structures is explained for geometric and graph problems. For this purpose, fundamental graph theoretic concepts are introduced. | ||||
Learning objective | An understanding of the design and analysis of fundamental algorithms and data structures. | ||||
Content | 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. | ||||
Literature | Th. Ottmann, P.Widmayer: Algorithmen und Datenstrukturen, Spektrum-Verlag, 5. Auflage, Heidelberg, Berlin, Oxford, 2011 | ||||
263-2100-00L | Research Topics in Software Engineering Number of participants limited to 22. | 2 credits | 2S | P. Müller, M. Püschel | |
Abstract | This seminar is an opportunity to become familiar with current research in software engineering and more generally with the methods and challenges of scientific research. | ||||
Learning objective | Each student will be asked to study some papers from the recent software engineering literature and review them. This is an exercise in critical review and analysis. Active participation is required (a presentation of a paper as well as participation in discussions). | ||||
Content | The aim of this seminar is to introduce students to recent research results in the area of programming languages and software engineering. To accomplish that, students will study and present research papers in the area as well as participate in paper discussions. The papers will span topics in both theory and practice, including papers on program verification, program analysis, testing, programming language design, and development tools. A particular focus will be on domain-specific languages. | ||||
Literature | The publications to be presented will be announced on the seminar home page at least one week before the first session. | ||||
Prerequisites / Notice | Organizational note: the seminar will meet only when there is a scheduled presentation. Please consult the seminar's home page for information. | ||||
263-2800-00L | Design of Parallel and High-Performance Computing | 7 credits | 3V + 2U + 1A | T. Hoefler, M. Püschel | |
Abstract | Advanced topics in parallel / concurrent programming. | ||||
Learning objective | 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 | 0 credits | M. Püschel | ||
Abstract | |||||
Learning objective | 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. | ||||
Content | 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. |