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
Prerequisite: 

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

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.

Professor: 
Alex Borgida
Ulrich Kremer
Santosh Nagarakatte
Semester: 
Fall
Course Type: 
Graduate

Check the University Schedule of Classes to see if this course is open.

Request a Special Permission Number here if the class is full.