Programming Languages

As taught in: Fall 2002

Photo of a computer screen showing several overlapping applications.

Programming computer screen. (Photo courtesy of openphoto.net.)

Instructors:

Prof. Michael Ernst

MIT Course Number:

6.821

Level:

Graduate

Course Features

Course Description

6.821 teaches the principles of functional, imperative, and logic programming languages. Topics covered include: meta-circular interpreters, semantics (operational and denotational), type systems (polymorphism, inference, and abstract types), object oriented programming, modules, and multiprocessing. The course involves substantial programming assignments and problem sets as well as a significant amount of reading. The course uses the Scheme+ programming language for all of its assignments.