Course Details
16:198:515 - Programming Languages And Compilers I
- Course Number: 16:198:515
- Course Type: Graduate
- Semester 1: Fall
- Credits: 3
- Description:
This course covers concepts and techniques used in the description and definition of programming languages, and in the construction of their translators.
- M.S. Course Category: Programming Languages
- Category: B (M.S.), B (Ph.D.)
- Prerequisite Information:
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.