Programming Languages

Photo of a computer screen showing several overlapping applications.

Programming computer screen. (Photo courtesy of


MIT Course Number


As Taught In

Fall 2002



Cite This Course

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.

Michael Ernst. 6.821 Programming Languages, Fall 2002. (Massachusetts Institute of Technology: MIT OpenCourseWare), (Accessed). License: Creative Commons BY-NC-SA

For more information about using these materials and the Creative Commons license, see our Terms of Use.