This is the homepage for Compilers (CS75) at Swarthmore College in the Spring 2019 semester. This site provides information regarding the course, including the lecture schedule, homework assignments, and syllabus.


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.