6.844 Computability Theory of and with Scheme

Spring 2003

MIT/GNU Scheme Logo.
MIT/GNU Scheme Logo. (Image courtesy of Harold Abelson and Gerald Sussman.)

Course Highlights

This course site features a full set of course notes.

Course Description

6.844 is a graduate introduction to programming theory, logic of programming, and computability, with the programming language Scheme used to crystallize computability constructions and as an object of study itself. Topics covered include: programming and computability theory based on a term-rewriting, "substitution" model of computation by Scheme programs with side-effects; computation as algebraic manipulation: Scheme evaluation as algebraic manipulation and term rewriting theory; paradoxes from self-application and introduction to formal programming semantics; undecidability of the Halting Problem for Scheme; properties of recursively enumerable sets, leading to Incompleteness Theorems for Scheme equivalences; logic for program specification and verification; and Hilbert's Tenth Problem.

Technical Requirements

Scheme software is required to run the .scm files found on this course site. The .ini and .edwin files found on this course site are customization files that can be loaded into Edwin, the MIT Scheme text editor.

Donate Now


Prof. Albert Meyer

Course Meeting Times

Three sessions / week
1.5 hours / session