kaist-cp/cs420

Created Dec 23, 2020 · View the kaist-cp/cs420 repository page

KAIST CS420: Compiler Design

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

3

Lines of Code

29

From

Jan 3, 2020

To

May 19, 2020

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.

Share this video

More from kaist-cp

See all →