210 Sample Schedule




Functional Design



 Week 1: Basic Scheme, Basic Design Recipes [Lab topic: ]
1 What is Computation? What is Programming? Processing Numbers
2 Processing Intervals (Conditionals)
3 Symbolic Information

 Week 2: Compound Data with Structures [Lab topic: ]
------------ Labor Day (no class) ------------------
4 Defining Simple Compound Data (Lists of Finite Length)
5 Processing Structures

 Week 3: Simple Recursive Recipes [Lab topic: ]
6 Defining Lists of Arbitrary Length
7 Processing Lists of Arbitrary Length
8 Processing Lists of Arbitrary Length, Continued

 Week 4: Complex Recursive Recipes [Lab topic: ]
9 Processing Lists of Mixed Data ; Programs that Construct Lists
10 Programs over Natural Numbers
------------ Exam 1 (in class) ------------------

 Week 5: Programs Composition [Lab topic: ]
11 Processing Family Trees
12 More Family Trees
13 Family Trees, part III

 Week 6: More Mutual Recursion and Local [Lab topic: ]
14 Files and Directories
15 Functions that Process Two Complex Arguments
16 The Scope of Things and LOCAL



Functional Abstraction



 Week 7: Abstraction, Functions as Values [Lab topic: ]
17 Functional Abstraction
18 Practice with Using Functional Abstractions; Contracts with Variables
19 Functions as Values; Functions that Return Functions

 Week 8: More on Functions; Generative Recursion [Lab topic: ]
------------ Mid Term Recess ------------------
20 Quick Sort; Sierpinski
21 The Design Recipe for Generative Recursion



Generative Recursion, Accumulation



 Week 9: Generate and Recur [Lab topic: ]
22 Gaussian Elimination
23 Finding Routes
24 Accumulators

 Week 10: More on Accumulators [Lab topic: ]
25 Designing Programs with Accumulators
26 When to Use Accumulators
27 Accumulators on Trees



Imperative Program Design



 Week 11: State [Lab topic: ]
28 Memoization
29 When to Use set!
30 Set! and Objects

 Week 12: Functions and their History [Lab topic: ]
31 Updating structures
32 More on updating structures
33 Vectors



Catching Up



 Week 13: Practice Problems [Lab topic: no lab]
34 Vectors and Practice
35 Practice
------------ Thanksgiving Recess ------------------



Inside the Machine, Programming the Machine



 Week 14: A Model of the Real Machine [Lab topic: ]
36 How DrScheme Really Works
37 Simple Machine-Level Programs
38 Modeling a Machine



What is Computer Science?



 Week 15: Many Levels of Abstraction [Lab topic: ]
39 Marx and Hegel: From Scheme to the Machine and back
40 The Halting Problem
------------- no more classes ----------------------



Kathi Fisler This page was generated on Mon Nov 22 12:16:28 CST 1999.
>