6.12

Schedule

Date

 

Topic

 

Reading

Aug 27

 

No class!

 

Preface, through "Skills that Transfer"

Aug 29

 

Introduction; course overview

 

Prologue

Aug 31

 

Arithmetic

 

Arithmetic

Sep 3

 

Labor Day, no class

Sep 5

 

Functions and Programs

 

Functions and Programs

Sep 7

 

The Recipe

 

How to Design Programs

Sep 10

 

Designing Worlds

Sep 12

 

Intervals, Enumerations, Itemizations

 

Intervals, Enumerations, and Itemizations

Sep 14

 

Structures

 

Adding Structure

Sep 17

 

Itemizations and Structures

 

Itemizations and Structures and Summary

Sep 19

 

Lists

 

Intermezzo 1: BSL and Lists

Sep 21

 

Self-referential Data Definitions

 

Designing with Self-Referential Data Definitions

Sep 24

 

More Lists

 

More on Lists

Sep 26

 

Design by Composition

 

Design by Composition

Sep 28

 

Midterm review

Oct 1

 

Midterm 1

Oct 3

 

Design by Composition

 

Project: Lists and Summary

Oct 5

 

The Snake Game, Part I

 

Abstraction and Similarities Everywhere

Oct 8

 

The Snake Game, Part II

 

Designing Abstractions

Oct 10

 

Highlights

 

Using Abstractions

Oct 12

 

Designing Abstractions, Part I

 

Nameless Functions and Summary

Oct 15

 

Designing Abstractions, Part II

 

Intermezzo 3: Scope and Abstraction

Oct 17

 

Using Abstractions

Oct 19

 

Though Shall Not Be Named

Oct 22

 

Trees

 

The Poetry of S-Expressions

Oct 24

 

Forests, S-Expressions

Oct 26

 

Designing with Intertwined Data

 

Project: The Commerce of XML

Oct 29

 

Incremental Refinement

 

Iterative Refinement

Oct 31

 

Simultaneous Processing

 

Simultaneous Processing

Nov 2

 

Non-standard Recursion

 

Non-standard Recursion

Nov 5

 

Midterm 2

Nov 7

 

Midterm Retrospective

Nov 9

 

No class

Nov 12

 

Designing Algorithms

 

Designing Algorithms

Nov 14

 

Variations

 

Variations on the Theme

Nov 16

 

Backtracking

 

Algorithms that Backtrack

Nov 19

 

Designing Accumulator-style Functions

 

Accumulators and the Loss of Knowledge

Nov 21

 

Thanksgiving break, no class

Nov 23

 

Thanksgiving break, no class

Nov 26

 

Accumulating More

 

Designing Accumulator-Style Functions and More Uses of Accumulation

Nov 28

 

Types, Part I

Nov 30

 

Types, Part II

Dec 3

 

Objects, Part I

Dec 5

 

Objects, Part II

Dec 7

 

Conclusions and Perspective

Dec 10

 

Final Review