| Date | Reading | Topic | Due |
|---|---|---|---|
| 2/11 | 1.1-1.2 | Introduction; simple expressions | |
| 2/12 | Project 0: Getting started (ungraded) | ||
| 2/13 | 1.2-1.3 | Compound procedures; conditionals | |
| 2/14 | Project 1: Quilting | ||
| 2/15 | 2.1 | Recursion | |
|
|
|||
| 2/19 | 2.2 | Induction | Homework 1 |
| 2/20 | Project 1 (continued) | ||
| 2/21 | 2.3-2.4 | Further examples & custom-sized quilts | |
| 2/22 | Project 1 (continued) | ||
| 2/23 | Catch up |
||
|
|
|||
| 2/25 | 3.1 | Iteration | Homework 2 |
| 2/26 | Project 1 (continued) | ||
| 2/27 | 3.2 | Invariants |
|
| 2/28 | Project 1 (concludes) | ||
| 2/29 | 3.3 | Perfect numbers, internal definitions, & let | |
|
|
|||
| 3/3 | TBA |
Project 1 | |
| 3/4 | TBA |
||
| 3/5 | 4.2 | Digital signatures |
Homework 3 |
| 3/6 | Special project: Card sorting (ungraded) | ||
| 3/7 | 4.1 |
Orders of growth | |
|
|
|||
| 3/10 | 4.2 |
Orders of growth and digital signatures |
|
| 3/11 | Project 2: Fractal curves | ||
| 3/12 | Review/catch up |
Homework 4 | |
| 3/13 | Test #1 (no lab) |
||
| 3/14 | 5.1 |
Procedural parameters | |
|
|
|||
| 3/17 | 5.3 | Procedures that return procedures | |
| 3/18 | Project 2 (continued) | ||
| 3/19 | 5.4 | Application of higher-order programming | |
| 3/20 | Project 2 concludes | Project 2 | |
| 3/21 | Spring break starts |
||
| Spring Break |
|||
| 3/31 |
6.1-6.2 | Data abstraction | |
| 4/1 |
Project 3: Nim with strategies | ||
| 4/2 |
6.3 | Representations and implementations | Homework 5 |
| 4/3 |
Project 3 (continues) | ||
| 4/4 | 6.3/6.4 | Three pile Nim |
|
|
|
|||
| 4/7 |
6.5 |
Strategies in Nim |
|
| 4/8 |
Project 3 (continues) | ||
| 4/9 |
Overview of computer science major |
Homework 6 | |
| 4/10 |
Project 3 (continues) | ||
| 4/11 |
7.1-7.2 | Lists | |
|
|
|||
|
|
|||
| 4/14 |
7.3 | List processing |
|
| 4/15 | Project 3 (concludes) | ||
| 4/16 | Review |
||
| 4/17 | Test 2 |
||
| 4/18 |
7.4 |
Iterative list processing | |
|
|
|||
| 4/21 | 7.6 | Movie query project, overview |
Project 3 |
| 4/22 | Project 4: Movie queries | ||
| 4/23 | 7.5 | Tree recursion and lists | |
| 4/24 | Project 4 (continues) | ||
| 4/25 | no class |
Homework 7 | |
|
|
|||
| 4/28 | 8.1/8.2 |
Binary trees |
|
| 4/29 | Project 4 (continues) | ||
| 4/30 | Mayday, no class |
||
| 5/1 | Project 4 (continues) | ||
| 5/2 | 8.2 | Efficiency issues in binary trees | |
|
|
|||
| 5/5 | 8.3 | Expression trees | |
| 5/6 | Project 4 (concludes) | ||
| 5/7 | 9.1-9.2 | Generic operations: multiple representations | Homework 8 |
| 5/8 | 9.2 |
Multiple representations (meet in class) |
|
| 5/9 | 9.3 | More on multiple representations | Project 4 |
|
|
|||
| 5/12 | 9.4 |
Project 5: Implementing graphics meet in lab |
|
| 5/13 | Project 5 (continues) | ||
| 5/14 | 9.3 | Exploiting commonality | |
| 5/15 | Project 5 (continues) | ||
| 5/16 | 9.3 |
More on exploiting commonality | Homework 9 |
|
|
|||
| 5/19 | Project 5 (continued) in lab but at class time | ||
| 5/20 | Project 5 (concludes) | ||
| 5/21 | Review/evaluation | ||
|
|
|||
| 5/27 | Test 3: 1pm to 3pm (Tuesday) | ||