github.com/kaist-cp/cs420 ↗
KAIST CS420: Compiler Design
Open this visualization on its own page →
Contributors
3
Lines of Code
29
From
2020-01-03
To
2020-05-19
About kaist-cp/cs420
KAIST CS420 is an undergraduate compiler design course taught by Jeehoon Kang at the Korea Advanced Institute of Science and Technology. The course teaches compiler construction by having students build a real compiler called KECC (KAIST Educational C Compiler) in Rust, focusing on translation from C to SSA-based intermediate representation and then to RISC-V assembly. The curriculum emphasizes practical implementation of optimizations including register promotion, static single assignment, global value numbering, and register allocation, alongside theoretical foundations of compiler correctness.
The course assumes prerequisites in mathematics, data structures, systems programming, and programming languages, and requires students to be proficient with Git, Rust, and command-line development tools. Students work on homework assignments that are automatically graded through an online system, covering translations and optimizations within the KECC framework. The course also discusses recent compiler trends including scripting language compilation and parallelism exploitation in modern applications.
This repository serves as the central hub for course logistics, announcements, and assignments. It contains information about course structure, development server setup, grading policies, and communication guidelines. The course is graded on 60% homework and 40% final exam, with attendance tracked through completion of session quizzes. Students are expected to ask technical questions through the course GitHub issue tracker rather than email, and the course operates with a strict academic honor code enforced through plagiarism detection tools.