Syllabus
Week |
| Topic |
| Readings |
|
| |||
|
| |||
|
| |||
|
| Chapter 4 (4.5-4.7), Chapter 6 (6.1-6.2), Chapter 9 (9.3-9.4) | ||
|
| Chapter 8 (8.1-8.4), Chapter 9 (9.1-9.6), Chapter 10 (10.1-10.4), Chapter 11 (11.1-11.4) | ||
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
|
The topics are linked to the detailed weekly lecture schedule listed below. The readings are linked to the on-line version of the textbook.
You are responsible for the readings. The lectures will help you understand the readings and may add pragmatic tips. But both the weekly homeworks and the exams will cover the assigned reading.
As the semester may unfold in unpredictable ways, the syllabus is subject to change. The most likely change concerns the last two weeks, which cover material that varies from semester to semester, and from instructor to instructor. Extra-credit homeworks, if any, will be based on this material.
Detailed Lecture Schedule
Homeworks are due at 6:00pm on the day they are listed in the schedule. They must be submitted via the handin server.
| ||||
09/09 |
| 1. Why CS; Arithmetic of numbers, strings, images; Administrivia |
| |
09/10 |
| 2. Defining constants, functions; Simple animations |
| |
| ||||
| ||||
09/14 |
| 3. Booleans, conditionals, tests |
| |
09/15 |
| Lab 1 (partners assigned for Friday's homework) |
| |
09/16 |
| 4. The Design Recipe |
| |
09/17 |
| 5. World Programs |
| |
09/18 |
| Homework due at 6pm |
| |
| ||||
| ||||
09/21 |
| 6. Structure Type Definitions |
| |
09/22 |
|
| ||
09/23 |
| 7. Custom Structures |
| |
09/24 |
| 8. Practice With Structures |
| |
09/25 |
| Homework due at 6pm |
| |
| ||||
| ||||
09/28 |
| 9. Union Data |
| |
09/29 |
|
| ||
09/30 |
| 10. Transition from Fixed-Size to Arbitrarily Large Data |
| |
10/01 |
| 11. Self-Referential Data Definitions |
| |
10/02 |
| Homework due at 6pm |
| |
| ||||
| ||||
10/05 |
| 12. Lists and Designing Functions on Lists |
| |
10/06 |
|
| ||
10/07 |
| 13. Lists of Structures |
| |
10/08 |
| 14. Practice with Lists |
| |
10/09 |
| Homework due at 6pm |
| |
10/10 |
| Exam 1 review session (4-6pm) |
| |
| ||||
| ||||
Midterm coming up: 10/14 @ 6:00-9:00pm | ||||
10/12 |
| Columbus Day (no classes) |
| |
10/13 |
|
| ||
10/14 |
| 15. Project Discussion, Exam Review |
| |
10/15 |
| 16. Similarities in Functions |
| |
10/16 |
| Homework due at 6pm |
| |
| ||||
| ||||
10/19 |
| 17. Abstractions |
| |
10/20 |
|
| ||
10/21 |
| 18. DrRacket-provided Abstractions |
| |
10/22 |
| 19. More DrRacket-provided Abstractions |
| |
10/23 |
| Homework due at 6pm |
| |
| ||||
| ||||
10/26 |
| 20. Scope and Local |
| |
10/27 |
| Lab 7 (new partners assigned for Friday's homework) |
| |
10/28 |
| 21. Design Recipe for Abstractions |
| |
10/29 |
| 22. Lambda |
| |
10/30 |
| Homework due at 6pm |
| |
| ||||
| ||||
11/02 |
| 23. Practice with Abstractions, Sets as Lists |
| |
11/03 |
|
| ||
11/04 |
| 24. Practice with Lambda, Sets as Functions |
| |
11/05 |
| 25. Trees |
| |
11/06 |
| Homework due at 6pm |
| |
| ||||
| ||||
11/09 |
| 26. Binary Trees |
| |
11/10 |
|
| ||
11/11 |
| Veterans' Day (no classes) |
| |
11/12 |
| 27. More Trees |
| |
11/13 |
| Homework due at 6pm |
| |
| ||||
| ||||
11/16 |
| 28. Mutually Recursive Data |
| |
11/17 |
|
| ||
11/18 |
| 29. Multiple Complex Inputs |
| |
11/19 |
| 30. Practice with Multiple Complex Inputs |
| |
11/20 |
| Homework due at 6pm |
| |
11/21 |
| Exam 2 review session (4-6pm) |
| |
| ||||
| ||||
Midterm coming up: 11/23 @ 6:00pm-9:00pm | ||||
11/23 |
| 31. Graphs |
| |
11/24 |
| No Lab Today! |
| |
11/25 |
| Thanksgiving break (no classes) |
| |
11/26 |
| Thanksgiving break (no classes) |
| |
| ||||
| ||||
11/30 |
| 32. Graphs and Accumulators |
| |
12/01 |
|
| ||
12/02 |
| 33. Accumulators |
| |
12/03 |
| 34. More Accumulators, Generative Recursion |
| |
12/04 |
| Homework due at 6pm |
| |
| ||||
| ||||
12/07 |
| 35. More Generative Recursion |
| |
12/08 |
|
| ||
12/09 |
| 36. Practice with Generative Recursion, Wrap-Up, Homework due at 9pm |
| |
|