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 termrewriting, “substitution” model of computation by Scheme programs with sideeffects; computation as algebraic manipulation: Scheme evaluation as algebraic manipulation and term rewriting theory; paradoxes from selfapplication 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.
Instructor:  
Course Number: 

Departments:  
Topics:  
As Taught In:  Spring 2003 
Level: 
Graduate

Learning Resource Types
assignment
Problem Sets