Welcome!
This is the homepage for Compilers (CS75) at Swarthmore College in the Spring 2023 semester. This site provides information regarding the course, including the lecture schedule, homework assignments, and syllabus.
Goals
The primary objective of this course is to demystify the powerful artifact we call a compiler. A compiler is just a program like any other, with a variety of identifiable components working together to complete a task. This course explores the components of a compiler, the motivations behind their design, and the decisions that are made when transforming source programs into executable code.
This course presumes that the student has taken CS31 (Introduction to Computer Systems) and CS35 (Data Structures and Algorithms); a knowledge of data structures, basic assembly programming, and memory organization is required.
Getting Started
This site should contain all of the information you need to prepare for the course.
- Information about the course textbook can be found here.
- Information about the lecture itself appears on the schedule page.
- Make sure you are familiar with the academic integrity policy.