This course site features a full set of problem sets
, as well as extensive documentation on Scheme+
, the programming language used in the course. This course has virtually all of its materials online, including exams and other materials used by students in the course.
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.
Scheme software is required to run the .scm files found on this course site.