Home
Teaching
 
CS U211 Sp '07
General
Texts
Syllabus
Assignments
Communication
Labs
Ofc Hrs
Announcements
Advice

Syllabus

The table specifies the topics we will cover in each week. Make sure to read the relevant sections of the text for a given week. Read as much as possible before you come to class and lab.

The week starts with the Monday lecture and ends with the Friday lab.

WeekTopic of the Week: Lectures, ReadingDates
1     
Prerequisites
  • Program Design: Preface, sec. 1
  • Information and Data: sec. 2
  • Functions and Variables: sec. 3
1/8, 10 11
2     
Atomic and Compound Data
  • Conditionals; Symbols: sec. 4, 5
  • Compound Data: Part 1 Structures: sec. 6
1/17, 18
3     
Unions
  • The Varieties of Data: sec. 7
  • Syntax and Semantics: sec. I1
  • Compound Data: Part 2 Lists: sec. 9, 10.1
1/22, 24, 25
4     
Self-Referential Unions (1)
  • Processing Lists: sec. 9
  • Lists that Contain Structures: sec. 10
  • Composing Functions: sec. 12
1/29, 31, 2/1
5     
Self-Referential Unions (2)
  • More Self-Referential Data Definitions: sec. 14
  • Lists thet Contain Structures: sec. 15
  • Iterative Refinement: sec. 16
2/5, 7, 8
6     
Local, Multiplexing: sec. I2, I3
  • List Abbreviations: sec I2
  • Local Definitions and Lexical Scope: sec. I3
  • Local Definitions: sec. I3
2/12, 14, 15
7     
Recursion in All Forms
  • Processing Complex Pieces of Data: sec. 16, 17
  • Equality of complex data: 17, 18
2/21, 22
8     
Abstraction
  • Similarities in Definitions: sec. 19
  • Functions are Values: sec. 20
  • Designing Abstractions from Examples: sec. 21
2/26, 28, 3/1
9     
Abstraction
  • Evaluating Scheme: sec. 14, 17
  • Designing Functions on the Fly: sec. 21, I4
  • Designing Abstractions from Examples; Designing Abstractions with First-Class Functions: sec. 21, 22
3/12, 14, 15
10     
Abstraction; Generative Recursion
  • Mathematical Examples: sec. 23
  • Generative recursion: sec. 27
  • Traversing Graphs: sec. 28.1
3/19, 21, 22
11     
More Generative Recursion
  • Algorithms that Backtrack: sec. 28.2
  • The Cost of Computing: sec. I5
  • A First Look at Vectors: sec. I5
3/26, 28, 29
12     
Accumulators
  • The Loss of Knowledge: sec. 30
  • Designing Accumulator-Style Functions: sec. 31
  • More Uses of Accumulation: sec. 32
4/2, 4, 5
13     
Putting It Together
  • Iterative Refinement: sec. 2.5, 3.1, 7.3, 12, 16, HtDP+
  • Program Refactoring
  • Program Design
  • Epilogue
4/9, 11, 12, 18

last updated on Sun Apr 1 20:57:57 EDT 2007generated with PLT Scheme