Syllabus
Week | Topics | Text |
1-3 | BUILDING ABSTRACTIONS WITH PROCEDURES the programming process, environments and naming, procedure evaluation, the conditional, linear recursion and iteration, tree recursion, big O, order of growth, log2n, abstraction, procedures as parameters, lambda, procedures as returned values |
pp. 1-78 |
4-6 | BUILDING ABSTRACTIONS WITH DATA data abstraction, constructors and selectors, lists, heirarchichal data, trees, quote, examples: symbolic differention, sets and information retrieval, multiple representations of a type, data directed programming, generic operators, message passing, example: symbolic algebra |
pp. 79-216 |
6-10 | MODULARITY, OBJECTS, STATE assignment and state, binding and stack frames, scope and dereferencing, mutable lists, queues, tables, simulation of logic circuits, constraints, streams, map, delayed evaluation, streams to model local state |
pp. 217-358 |
11-14 | METALINGUISTIC ABSTRACTION designing languages, eval for a subset of scheme, (written in scheme), binding and stack frames (again), static and dynamic scope, lazy evaluation, non-deterministic computing, efficiency |
pp. 359-437 |