University of Science and Technology of China
Fall 2020
Name | 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 |
Name | Group | Contacts |
---|---|---|
Zewen Jin (金泽文) | Group 1 | zevin@mail.ustc.edu.cn, qq: 1033329461 |
Ping Gong (龚平) | Group 1 | gpzlx1@mail.ustc.edu.cn |
Jiahao Li (李嘉豪) | Group 2 | lijh2015@mail.ustc.edu.cn |
Yiming Zhu (朱一铭) | Group 2 | zym651@mail.ustc.edu.cn |
Qingyuan Chen (陈清源) | Group 3 | chen16614@mail.ustc.edu.cn |
Haiquan Wang (王海权) | Group 3 | whq1516@mail.ustc.edu.cn |
Kai Ma (马凯) | Group 4 | ksqsf@mail.ustc.edu.cn |
Yuxin Ma (马煜昕) | Group 4 | leeadama@mail.ustc.edu.cn |
The class meets on Monday (1,2) and Thursday (6,7). The location is Building 3C, Room 303. Lectures are held in one location. Students are encouraged to meet the teaching staff during office hours for help with any questions or problems. Tutorials will be offered when needed.
Lecture notes, course schedule, recommended readings, and assignments can be found in Slides & Homework. Before you register, please read the Account Requirements and Submission Rules in detail.
For more information, see the git page.
Any question/advice is welcome. Please write an issue on the git page. Read Rules of Submissions first.
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.
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.
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.