Markus Püschel: Catalogue data in Autumn Semester 2019

Award: The Golden Owl
Name Prof. Dr. Markus Püschel
FieldComputer Science
Address
Dep. Informatik
ETH Zürich, CAB H 69.3
Universitätstrasse 6
8092 Zürich
SWITZERLAND
Telephone+41 44 632 73 03
E-mailpueschel@inf.ethz.ch
URLhttp://people.inf.ethz.ch/markusp/
DepartmentComputer Science
RelationshipFull Professor

NumberTitleECTSHoursLecturers
252-0026-00LAlgorithms and Data Structures Information Restricted registration - show details 7 credits3V + 2U + 1AM. Püschel, D. Steurer
AbstractThis 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.
ObjectiveAn understanding of the design and analysis of fundamental algorithms and data structures.
ContentEs 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.
LiteratureTh. Ottmann, P. Widmayer: Algorithmen und Datenstrukturen, Spektrum-Verlag, 5. Auflage, Heidelberg, Berlin, Oxford, 2011
263-2100-00LResearch Topics in Software Engineering Information Restricted registration - show details
Number of participants limited to 22.

The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar.
2 credits2SP. Müller, M. Püschel, Z. Su, M. Vechev
AbstractThis seminar is an opportunity to become familiar with current research in software engineering and more generally with the methods and challenges of scientific research.
ObjectiveEach 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).
ContentThe 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.
LiteratureThe publications to be presented will be announced on the seminar home page at least one week before the first session.
Prerequisites / NoticeOrganizational note: the seminar will meet only when there is a scheduled presentation. Please consult the seminar's home page for information.
263-2800-00LDesign of Parallel and High-Performance Computing Information Restricted registration - show details 8 credits3V + 2U + 2AM. Püschel, T. Ben Nun
AbstractAdvanced topics in parallel / concurrent programming.
ObjectiveUnderstand 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-00LHow To Give Strong Technical Presentations Information
Does not take place this semester.
0 creditsM. Püschel
Abstract
ObjectiveWherever 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.
ContentThis 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.