Compiler Design and Implementation

Harvard Extension School

CSCI E-95

Section 1

CRN 26767

Begin Registration
This course is a study of the theory and practice required for the design and implementation of interpreters and compilers for programming languages. Coursework ranges from the abstract, such as categorization of grammars and languages, to the concrete, such as specific algorithms used in compilers and practical performance issues. Topics include lexical analysis, parsing, symbol table generation, type checking, error detection, code generation, optimization, and run-time support. Techniques for top-down and bottom-up parsing both with and without the use of automated tools are studied. Local and global optimization are covered. An extensive programming project is required of all students.

Instructor Info

James L. Frankel, PhD

Lecturer in Extension, Harvard University and President, Frankel and Associates, Incorporated


Meeting Info

T 8:00pm - 10:15pm (1/27 - 5/17)

Participation Option: On Campus, Online Asynchronous or Online Synchronous

In online asynchronous courses, you are not required to attend class at a particular time. Instead you can complete the course work on your own schedule each week.

Deadlines

Last day to register: January 23, 2025

Additional Time Commitments

Required sections Tuesdays, 6:45-7:45 pm.

Prerequisites

Knowledge of data structures and programming experience (CSCI E-22, or the equivalent) with an advanced algorithms course preferred, but not required (CSCI E-124, or the equivalent). Students must have sufficient experience to write large programming projects in the C programming language that utilize a wide variety of data structures. This course does not teach programming.

Notes

Students can attend in person on campus, participate live online at the time the class meets via web conference, or watch the recorded video asynchronously. Recorded sessions are typically available within a few hours of the end of class and no later than the following business day.

Syllabus

All Sections of this Course

CRN Section # Participation Option(s) Instructor Section Status Meets Term Dates
26767 1 On Campus, Online Asynchronous, Online Synchronous James Frankel Open T 8:00pm - 10:15pm
Jan 27 to May 17