Compiler Principles Course Homepage

University of Science and Technology of China
Fall Semester 2019

Course Overview


Name E-mail Office
Cheng Li 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
Xinyang Shao
Jiawei Wang
Yiduo Wang
Guanbin Xu
Zewen Jin
Jiahao Li



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.


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.


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.





Class Project


Rules for team registration: