Programming Languages and Compilers I
198:515, Fall 2011


Announcements

Course Description

This course covers topics in programming languages and compilers such as: LL(1) and LR parsing techniques with error handling; attribute grammars and their use in syntax-directed translation; type systems and polymorphism; models of programming language semantics (i.e., operational semantics through closure interpreters ); data abstraction; functional, logical, and object-oriented paradigms; intermediate representations of programs; examples of novel programming models for cyber-physical systems; parallel programming models; automatic parallelization.

The follow-up course 198:516 will focus on advanced, optimizing compiler design and typically includes a programming project to write an optimizing compiler.

Prerequisites

The prerequisites include familiarity with an imperative programming language (e.g., C), an undergraduate or graduate compilers course, and an undergraduate or graduate data structures / algorithms course. Permission of the instructor must be obtained if you lack a prerequisite.

Staff

Textbooks

Several copies of the dragon book and "lex & yacc" book will be available on reserve in the math library (Hill Center).

Homework and Project Questions

Please post questions regarding homeworks and projects using Rutgers's Sakai system . Select Discussion and Private Messages in our course group (16:198:515:01 F09). DO NOT send homework or project questions directly to the TA or me. Thanks.

Lectures

Thursdays - 3:20 - 6:20p.m., Location: Hill 120

Homeworks

Projects

Useful Links