| Date |
Reading |
Topic |
Due |
| 2/9 |
1.1-1.2 |
Introduction; simple expressions |
|
| 2/10 |
|
Project 0: Getting
started (ungraded) |
|
| 2/11 |
1.2-1.3 |
Compound procedures; conditionals |
|
| 2/12 |
|
Project 1: Quilting |
|
| 2/13 |
2.1 |
Recursion |
|
|
| 2/16 |
2.2 |
Induction |
Homework #1 |
| 2/17 |
|
Project 1 (continued) |
|
| 2/18 |
2.3-2.4 |
Further examples & custom-sized quilts |
|
| 2/19 |
|
Project 1 (continued) |
|
| 2/20 |
3.1 |
Iteration |
|
|
| 2/23 |
3.2 |
Using invariants |
Homework #2 |
| 2/24 |
|
Project 1 (concludes) |
|
| 2/25 |
3.3 |
Perfect numbers, internal definitions, & let |
Project #1 |
| 2/26 |
|
Project 2: Sum of divisors |
|
| 2/27 |
3.4 |
Iterative improvement |
|
|
| 3/1 |
3.5 |
The Josephus Problem |
|
| 3/2 |
|
Special project: Card sorting (ungraded) |
|
| 3/3 |
|
Review/catch-up |
|
| 3/4 |
|
Test 1, 7:00-8:30 PM, OHS 320 (no
lab) |
|
| 3/5 |
4.1 |
Orders of growth |
|
|
| 3/8 |
|
More on orders of growth |
|
| 3/9 |
|
Project 2 (continued) |
|
| 3/10 |
4.2 |
Tree recursion and digital signatures |
Homework #3 |
| 3/11 |
|
Project 2 (continued) |
|
| 3/12 |
|
More on tree recursion and digital signatures |
|
|
| 3/15 |
5.1 |
Procedural parameters |
Homework #4 |
| 3/16 |
|
Project 2 (last work day) |
|
| 3/17 |
5.2 |
Uncomputability |
|
| 3/18 |
|
Project 2 peer review |
Project #2 first draft |
| 3/19 |
5.3 |
Procedures that return procedures |
|
|
| 3/22 |
5.4 |
Application of higher-order programming |
|
| 3/23 |
|
Project 3: Fractal curves |
Project #2 |
| 3/24 |
6.1-6.2 |
Data abstraction |
|
| 3/25 |
|
Project 3 (continued) |
|
| 3/26 |
6.3 |
Representations and implementations |
Homework #5 |
|
| 3/29 |
6.5 |
Strategy procedures; Overview of other CS courses |
|
| 3/30 |
|
Project 3 (concludes) |
|
| 3/31 |
|
Review/catch-up |
Project #3 |
| 4/1 |
|
Test 2, 7:00-8:30 PM, OHS 103 (no
lab) |
|
4/2 |
6.4 |
Three-pile Nim |
|
|
| 4/13 |
|
Project 4: Nim with strategies |
|
| 4/14 |
7.1-7.2 |
Lists |
|
| 4/15 |
|
Project 4 (continued) |
|
| 4/16 |
7.3 |
Basic list processing |
|
|
| 4/19 |
7.4 |
Iterative list processing |
|
| 4/20 |
|
Project 4 (continued) |
|
| 4/21 |
7.5 |
Tree recursion and lists |
Homework #6 |
| 4/22 |
|
Project 4 (concludes) |
|
| 4/23 |
7.5 |
Tree recursion and lists (continued) |
|
|
| 4/26 |
7.6 |
Movie query system |
Project #4 |
| 4/27 |
|
Project 5: Movie queries |
|
| 4/28 |
8.1 |
Binary search trees |
|
| 4/29 |
|
Project 5 (continued) |
|
| 4/30 |
8.2 |
Efficiency issues with binary search trees |
|
|
| 5/3 |
8.3 |
Expression trees |
|
| 5/4 |
|
Project 5 (continued) |
|
| 5/5 |
9.1-9.2 |
Generic operations: multiple representations |
Homework #7 |
| 5/6 |
|
Project 5 (concludes) |
|
| 5/7 |
9.2 & 9.4 |
More on multiple representations; computer graphics |
|
|
| 5/10 |
|
More on computer graphics |
Project #5 |
| 5/11 |
|
Project 6: Implementing graphics |
|
| 5/12 |
9.3 |
Exploiting commonality |
|
| 5/13 |
|
Project 6 (continued) |
|
| 5/14 |
|
More on exploiting commonality |
Homework #8 |
|
| 5/17 |
|
Project 6 (continued) in lab but at class time |
|
| 5/18 |
|
Project 6 (concludes) |
|
| 5/19 |
|
Review/evaluation |
Project #6 |
|
| 5/21 |
|
Final exam, 10:30-12:30, OHS 321 |
|