Thomas Gross: Katalogdaten im Frühjahrssemester 2018

Auszeichnung: Die Goldene Eule
NameHerr Prof. em. Dr. Thomas Gross
Lehre D-INFK
ETH Zürich, CAB H 69.2
Universitätstrasse 6
8092 Zürich
Telefon+41 44 632 73 42
BeziehungProfessor emeritus

252-0210-00LCompiler Design8 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, practical application of the techniques and principles presented in the lecture in the context of the OpenJDK HotSpot Java Virtual Machine.
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-0912-00LExperimental Computer Systems Information
Für Post/Doktoranden im Institut für Computersysteme. Alle anderen brauchen Bewilligung des Dozenten.
2 KP2ST. Gross
KurzbeschreibungThis graduate seminar provides doctoral students in computer science a chance to discuss their research. Enrollement requires permission of the instructor.
Credit units are granted only to active participants.
LernzielLearn how to present and discuss a reserach contribution. Learn how to provide feedback to research presentations and proposals.
InhaltThe seminar will explore different topics from a research perspective. The seminar is open to assistants of the Departement of Computer Science (Informatik)
SkriptSupporting material will be distributed during the seminar.
Voraussetzungen / BesonderesPrerequisites:
Graduate Course
263-2100-00LResearch Topics in Software Engineering Information Belegung eingeschränkt - Details anzeigen
Number of participants limited to 22.
2 KP2ST. Gross
KurzbeschreibungThis seminar introduces students to the latest research trends that help to improve various aspects of software quality.

Topics cover the following areas of research: Compilers, domain-specific languages, concurrency, formal methods, performance optimization, program analysis, program generation, program synthesis, testing, tools, verification
LernzielAt the end of the course, the students should be:

- familiar with a broad range of key research results in the area as well as their applications.

- know how to read and assess high quality research papers

- be able to highlight practical examples/applications, limitations of existing work, and outline potential improvements.
InhaltThe course will be structured as a sequence of presentations of high-quality research papers, spanning both theory and practice. These papers will have typically appeared in top conferences spanning several areas such as POPL, PLDI, OOPSLA, OSDI, ASPLOS, SOSP, AAAI, ICML and others.
LiteraturThe publications to be presented will be announced on the seminar home page at least one week before the first session.
Voraussetzungen / BesonderesPapers will be distributed during the first lecture.