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. |