Syllabus
This web page is deprecated.
Please see the main page for Fundamentals I.
Week |
| Topic |
| Readings |
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
| Chapter 25, Chapter 26, Chapter 28, Chapter 29, Chapter 31, Chapter 32, Chapter 33 | ||
|
| |||
|
|
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 9:00pm on the day they are listed in the schedule. They must be submitted via the handin server.
| ||||
01/06 |
| 1. Why CS; Basic arithmetic; Course administrivia |
| |
01/08 |
| 2. Defining constants and functions; Simple animations |
| |
01/09 |
| 3. Booleans, conditionals, tests |
| |
01/10 |
|
| ||
| ||||
| ||||
01/13 |
| 4. The Design Recipe |
| |
01/15 |
| 5. World Programs |
| |
01/16 |
| 6. Practicing World Programs |
| |
01/16 |
| Homework due at 9pm |
| |
01/17 |
|
| ||
| ||||
| ||||
01/20 |
| Martin Luther King Jr. Day (no classes) |
| |
01/22 |
| 7. Structure type definitions |
| |
01/23 |
| 8. Practicing structures |
| |
01/23 |
| Homework due at 9pm |
| |
01/24 |
|
| ||
| ||||
| ||||
01/27 |
| 9. Union data |
| |
01/29 |
| 10. Arbitrary-size data |
| |
01/30 |
| 11. Self-referential data definitions |
| |
01/30 |
| Homework due at 9pm |
| |
01/31 |
|
| ||
| ||||
| ||||
02/03 |
| 12. Practicing self-referential data definitions |
| |
02/05 |
| 13. Lists; Functions on lists |
| |
02/06 |
| 14. Lists of structures; Practicing programs with lists |
| |
02/06 |
| Homework due at 9pm |
| |
02/07 |
| Lab 5 (partners assigned) |
| |
02/09 |
| Exam 1 review session (6-8pm) |
| |
| ||||
| ||||
Midterm coming up: 02/13 @ 6:00-8:00pm | ||||
02/10 |
| 15. Similarities in functions |
| |
02/12 |
| 16. Abstracting function behavior |
| |
02/13 |
| 17. ISL-provided abstractions; Midterm prep |
| |
02/13 |
| Homework due at 9pm |
| |
02/14 |
| No Lab Today! |
| |
| ||||
| ||||
02/17 |
| Presidents' Day (no classes) |
| |
02/19 |
| 18. ISL-provided abstractions; Midterm discussion |
| |
02/20 |
| 19. Practicing function abstractions |
| |
02/20 |
| Homework due at 9pm |
| |
02/21 |
|
| ||
| ||||
| ||||
02/24 |
| 20. Scope and Local |
| |
02/26 |
| 21. Design Recipe for abstractions |
| |
02/27 |
| 22. Practice: Design Recipe for abstractions |
| |
02/27 |
| Homework due at 9pm |
| |
02/28 |
|
| ||
| ||||
| ||||
03/09 |
| 23. Review abstractions; Lambda and its uses |
| |
03/11 |
| 24. Multiple complex inputs |
| |
03/12 |
| 25. Practice: Multiple complex inputs |
| |
03/12 |
| Homework due at 9pm |
| |
03/13 |
| Lab 8 (new partners assigned) |
| |
| ||||
| ||||
03/18 |
| 26. Trees |
| |
03/19 |
| 27. Mutually recursive data |
| |
03/20 |
|
| ||
| ||||
| ||||
03/23 |
| 28. Practice: Mutually recursive data |
| |
03/23 |
| Homework due at 9pm AOE |
| |
03/25 |
| 29. Introducing graphs |
| |
03/26 |
| 30. Functions on graphs |
| |
03/27 |
|
| ||
| ||||
| ||||
03/30 |
| 31. Practice: Functions on graphs |
| |
03/30 |
| Homework due at 9pm AOE |
| |
04/01 |
| 32. Accumulators |
| |
04/02 |
| 33. Practice: Accumulator-based functions |
| |
04/03 |
|
| ||
04/05 |
| Exam 2 review session (6-8pm) |
| |
| ||||
| ||||
Midterm coming up: 04/07 @ 6:00pm-9:00pm | ||||
04/06 |
| 34. Exam prep: Practicing Accumulators + General Practice |
| |
04/08 |
| 35. Generative recursion |
| |
04/09 |
| 36. Second Midterm discussion; Practicing generative recursion |
| |
04/09 |
| Homework due at 9pm AOE |
| |
04/10 |
| No Lab Today! |
| |
| ||||
| ||||
04/13 |
| 37. General Practice |
| |
04/13 |
| 9pm AOE: Homework due (but see extension below) |
| |
04/16 |
| 9pm AOE: end of no-penalty extension for HW submission |
| |
|