6.844 | Spring 2003 | Graduate

Computability Theory of and with Scheme

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" …
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.
Learning Resource Types
Problem Sets
A circular seal with Massachusetts Institute of Technology wrapping around a shield with an infinitely nested function.
MIT/GNU Scheme Logo. (Image courtesy of Harold Abelson and Gerald Sussman.)