Skip to content Skip to navigation

Programming Languages And Compilers I

16:198:515

This course covers concepts and techniques used in the description and definition of programming languages, and in the construction of their translators.

Credits: 
3
Category: 
B (M.S.)
B (Ph.D.)
Prerequisite: 

An undergraduate data structures and algorithms course, and an undergraduate compiler course (or permission of instructor)

Semesters: 
Fall
Topics: 

Topics chosen from among:

    * LR parsing techniques
    * syntax-directed translation, attribute grammars;
    * type systems, type checking and polymorphism;
    * data abstraction;
    * object-oriented, functional and logic programming paradigms (using Prolog, SML/Scheme and C++/Java);
    * language semantics (axiomatic, denotational);
    * exception handling;
    * topics in compiling for parallel architectures;
    * machine independent optimization and compile-time analysis 

Expected Work: 

Written homework, with three programming assignments. A final examination, and possibly a midterm.

Teaching Professors Names: 
Alex Borgida
Ulrich Kremer
Santosh Nagarakatte