Compiler Principles Course Homepage

University of Science and Technology of China
Fall Semester 2019


Course Overview

Instructors:

Name E-mail Office
Cheng Li chengli7@ustc.edu.cn Office hours: Monday 12:00 pm - 1:30 pm
Room 503, National High Performance Computing Center, East Campus, USTC

Teaching Assistants(TA):

Name E-mail
Youhui Bai byh0912@mail.ustc.edu.cn
Xinyang Shao sxy799@mail.ustc.edu.cn
Jiawei Wang wangjwchn@yahoo.com
Yiduo Wang duo@mail.ustc.edu.cn
Guanbin Xu xugb@mail.ustc.edu.cn
Zewen Jin king.zevin@qq.com
Jiahao Li lijh2015@mail.ustc.edu.cn

Lectures:

Discussion

any question/advice is welcome. Please, write a issue in here


Lecture notes, course schedule

Lecture notes, course schedule, recommended readings, and assignments can be found here.


Announcements

for more information: here


Course Description

This course considers the principles that underlie a wide variety of compilers, and focuses on the problem of translating programs written in a high-level language into semantically equivalent programs written in low-level machine code. After taking this course, students are expected to understand the principles of designing and implementing modern programming languages, and to implement a working compiler using standard compiler tools.

Intended Audience / Prerequisites

This core course is open to Bachelor students. Bachelor students must have passed the basic courses on Programming. Proficiency in programming (C/C++) is strictly required to take this course.

The language of the course is Chinese, but some lecture notes might be written in English.

Textbook

Compiler Principles:

The lecture will cover some topics in more depth than the books, and also in a different order.

Lecture Notes

Summary lecture notes will be available on the course web-site for some of the material covered in the class. These notes are primarily meant to help students with taking notes. However, they will not accurately or consistently cover all the material discussed in the lectures. Students are expected to know all material covered in the lectures, and in the assigned readings and projects. Therefore, students should not rely only on the lecture notes. They should attend class regularly, take their own notes, and complete all assignments.

Exams

TBD

Grading

TBD

Class Project

TBD

Rules for team registration:

TBD