# Adventures in Advanced Symbolic Programming

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

### Instructor(s)

Prof. Gerald Sussman

### MIT Course Number

6.945

### As Taught In

Spring 2009

### Level

Graduate

###

Some Description
Instructor(s) | Prof.
As Taught In | Spring 2002
Course Number | 2.24
Level | Undergraduate/Graduate
Features | Lecture Notes, Student Work

## Course Description

## Course Features

- Projects (no examples)
- Assignments: problem sets (no solutions)

## Course Description

This course covers concepts and techniques for the design and implementation of large software systems that can be adapted to uses not anticipated by the designer. Applications include compilers, computer-algebra systems, deductive systems, and some artificial intelligence applications. Topics include combinators, generic operations, pattern matching, pattern-directed invocation, rule systems, backtracking, dependencies, indeterminacy, memoization, constraint propagation, and incremental refinement. Substantial weekly programming assignments are an integral part of the subject.

There will be extensive programming assignments, using MIT/GNU Scheme. Students should have significant programming experience in Scheme, Common Lisp, Haskell, CAML or some other "functional" language.

## Related Content

## Course Collections

See related courses in the following collections:

### Find Courses by Topic

- Computer Science > Programming Languages
- Computer Science > Software Design and Engineering
- Computer Science > Artificial Intelligence

Gerald Sussman. 6.945 Adventures in Advanced Symbolic Programming. Spring 2009. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.

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