CS 131: Compilers - Fall 2024¶
Course Information¶
Instructor
-
office hours: Wednesday 4:00-5:00pm and by appointment, SIST 1C503.A
Teaching Assistants
You Cunhan 尤存翰
office hours: Monday 7:00-8:00pm, Location: SIST 1B108
Zheng Jiaye 郑嘉业
office hours: Thursday 7:15-8:15pm, Location: SIST 1A104
Coordinates
Time: Tuesday, Thursday, 13:00 - 14:30
Location: 1D107, SIST
Online discussion: Piazza
Homework submission: Blackboard
Homework Projects¶
HW1: Hellocaml!
Due: September 30th at 11:59pm
HW2: X86lite simulator
Due: October 21st at 11:59pm
HW3: LLVMlite backend
Due: November 4th at 11:59pm
HW4: Oat language compiler v.1
Due: November 25th at 11:59pm
HW5: Oat language compiler v.2
Due: December 11th at 11:59pm
HW6: Program Analysis & Optimizations
Due: December 30th at 11:59pm
Textbooks and Resources¶
There is no required textbook for this course. However, you may find the following references useful for digging deeper into course topics.
On Principles of Compiler Construction
Compilers: Principles, Techniques, and Tools (2nd Edition) by Aho, Lam, Sethi, and Ullman
Advanced Compiler Design and Implementation by Muchnick
Modern Compiler Implementation in ML by Appel
On Types and Type Systems
Types and Programming Languages by Pierce
Advanced Topics in Types and Programming Languages by Pierce et al.
On Program Analysis
Principles of Program Analysis by Nielson, Nielson, and Hankin
On OCaml
Introduction to Objective Caml by Jason Hickey
Real World OCaml by Yaron Minsky, Anil Madhavapeddy, and Jason Hickey
Copyright¶
Most of the materials and assignments for this module have been adapted, with permission, from the U.Penn’s CIS341 by Steve Zdancewic.