Zhendong Su: Catalogue data in Autumn Semester 2021

Name Prof. Dr. Zhendong Su
FieldComputer Science
Address
Professur für Informatik
ETH Zürich, CNB H 102
Universitätstrasse 6
8092 Zürich
SWITZERLAND
Telephone+41 44 633 77 72
E-mailzhendong.su@inf.ethz.ch
DepartmentComputer Science
RelationshipFull Professor

NumberTitleECTSHoursLecturers
252-0210-00LCompiler Design Information 8 credits4V + 3UZ. Su
AbstractThis course uses compilers as examples to expose students to modern software development techniques. Tentative topics include: compiler organization; lexical analysis; top-down and bottom-up parsing; symbol tables; semantic analysis; code generation; local and global optimization; register allocation; automatic memory management.
ObjectiveLearn principles of compiler design; gain practical experience designing and implementing a medium-scale software system.
ContentThis 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. 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.

A tentative list of topics: compiler organization; lexical analysis; top-down and bottom-up parsing; symbol tables; semantic analysis; code generation; local and global optimization; register allocation; automatic memory management; optional advanced topics if/when time permits.
LiteratureAho/Lam/Sethi/Ullmann, Compilers - Principles, Techniques, and Tools (2nd Edition)

Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997
Prerequisites / NoticePrerequisites:
Prior exposure to modern techniques for program construction, knowledge of at least one processor architecture at the assembly language level.
252-2600-05LSoftware Engineering Seminar 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 credits2SZ. Su, M. Vechev
AbstractThe course is an introduction to research in software engineering, based on reading and presenting high quality research papers in the field. The instructor may choose a variety of topics or one topic that is explored through several papers.
ObjectiveThe main goals of this seminar are 1) learning how to read and understand a recent research paper in computer science; and 2) learning how to present a technical topic in computer science to an audience of peers.
ContentThe technical content of this course falls into the general area of software engineering but will vary from semester to semester.