Spring 2025
CSE322 Compiler
Course Description
Welcome to CSE322 Compiler! 🐉 Can you imagine programming without a compiler? No way. This implies the importance of compilers in computer engineering. This course will teach you the basic concepts of compilers from front-end compilation to back-end compilation. Additionally, you will have a chance to implement a tiny compiler in this course.
Time & Location
Tuesday 10:30-11:45 @ College of Electronics Information and Applied Science B06
Thursday 10:30 -11:45 @ College of Electronics Information and Applied Science B06
Objectives
Learn how compilers translate a program
Understand the role of compilers
Know the basic algorithms used in modern compilers
Structure
This course consists of three parts:
Lecture will be given by the instructor, covering the core concepts of compilers in depth.
Exercise will be conducted before midterm and final exams where sample questions are shared and discussed with students.
Assignment will be released at the end of a corresponding part where students will be asked to complete a given code. The details of each assignment will be given at the time of its release.
Schedule
Assignment
Assignment 0. Your First Functional Programming 🏁
Assignment 1. Lexical Analysis ✂️
Assignment 2. Syntax Analysis 📜
Assignment 3. Type Checking
Evaluation
The grade will be given according to the following grading percentages.
Midterm Exam 35%
Final Exam 35%
Assignment 20%
Attendance 10%
Teaching Assistant
Gaeun Ko, COS Lab, Contact 📧
Literature
Andrew W. Appel and Maia Ginsburg: Modern Compiler Implementation in ML. Cambridge University Press. 2004.