6.10

Schedule

Date

 

Topic

Aug 28

 

Introduction; course overview

Aug 30

 

Arithmetic

Sep 1

 

Functions and Programs

Sep 4

 

Labor Day, no class

Sep 6

 

The Recipe

Sep 8

 

Designing Worlds

Sep 11

 

Intervals, Enumerations, Itemizations

Sep 13

 

Structures

Sep 15

 

Itemizations and Structures

Sep 18

 

Lists

Sep 20

 

Self-referential Data Definitions

Sep 22

 

More Lists

Sep 25

 

Design by Composition

Sep 27

 

The Snake Game, Part I

Sep 29

 

The Snake Game, Part II

Oct 2

 

Midterm 1

Oct 4

 

TBD

Oct 6

 

TBD

Oct 9

 

Highlights

Oct 11

 

Designing Abstractions, Part I

Oct 13

 

Designing Abstractions, Part II

Oct 16

 

Using Abstractions

Oct 18

 

Though Shall Not Be Named

Oct 20

 

Trees

Oct 23

 

Forests, S-Expressions

Oct 25

 

Designing with Intertwined Data

Oct 27

 

Incremental Refinement

Oct 30

 

Simultaneous Processing

Nov 1

 

Non-standard Recursion

Nov 3

 

Designing Algorithms

Nov 6

 

Midterm 2

Nov 8

 

Variations

Nov 10

 

Mathematical Examples

Nov 13

 

Backtracking

Nov 15

 

Losing Knowledge

Nov 17

 

Designing Accumulator-style Functions

Nov 20

 

Accumulating More

Nov 22

 

Thanksgiving break, no class

Nov 24

 

Thanksgiving break, no class

Nov 27

 

TBD

Nov 29

 

TBD

Dec 1

 

Types, Part I

Dec 4

 

Types, Part II

Dec 6

 

Objects, Part I

Dec 8

 

Objects, Part II

Dec 11

 

Conclusions and Perspective