Homework assignments are due at 9:00am on the day indicated. Assignments are posted to Moodle. Reading assignments are listed on the day they are assigned, and generally prepare you for the next class. Optional reading assignments are in brackets. For more details on class policies, please see the syllabus.
Note that this schedule is an aspirational approximation of what we'll do; it may be updated as the term goes on.
Date | Due | Class Topic | Out | Reading |
---|---|---|---|---|
Week 1: Intro | ||||
1. M 3/31 | What is CS? What is this course? | HW0: Hello! | Chs. 1 & 2 | |
2. W 4/2 | HW0 | Variables, Calculation, and Expressions | HW1: Intro to Python | |
3. F 4/4 | HW1 | The Computer and The Command Line | HW2: Intro to Unix | §5.1–5.4; §5.8; Skim Ch. 6 |
Week 2: Basic Computation | ||||
4. M 4/7 | HW2 | Keyboard Input; Graphics
|
HW3: Basic Graphics | Ch. 3; §4.1–4.4.1 |
5. W 4/9 | HW3 | Computing with Numbers; How to Get Help | HW4: Automatic Landscape | §4.4.2–4.6 |
6. F 4/11 | HW4 | Computing with Strings
|
HW5: Automatic Landscape II: The Return of Automatic Landscape! |
§7.1–7.3; [§7.5] |
Week 3: Flow Control | ||||
7. M 4/14 | HW5 | Strings, Lists, and Files
|
HW6: Definite Loop Practice | |
8. W 4/16 | HW6 | More on Strings and Files; Flow Control: Definite Loops
|
HW7: Word Counter | Ch. 8 |
9. F 4/18 | HW7 | Flow Control: Conditions, Branching | ||
Week 4 | ||||
10. M 4/21 | Exam 1 | Ch. 6 | ||
11. W 4/23 | Indefinite Loops, Functions in Detail | |||
12. F 4/25 | Functions, Memory, and Lists | HW8: Caesar Ciphers | §11.6 | |
Week 5 | ||||
13. M 4/28 | HW8 | Functions, Memory, and Lists; Dictionaries | HW9: Random Sentence Generator | |
14. W 4/30 | Regular Expressions | |||
15. F 5/2 | HW9 work time | |||
Week 6 | ||||
XX. M 5/5 | HW9 | No class (like a Marxist utopia) — but HW9 is due at noon today. |
||
16. W 5/7 | Images
|
HW10: Image Processing I | §10.1–10.5 | |
17. F 5/9 | HW10 | Creating Your Own Classes
|
HW11: Image Processing II | §12.1–12.2 |
Week 7 | ||||
18. M 5/12 | HW11 | Object-Oriented Design | HW12: Lunar Lander I | §12.3 |
19. W 5/14 | Object-Oriented Design | |||
20. F 5/16 | HW12 | Exam 2 | HW13: Lunar Lander II | §5.6–5.7; §10.6 |
Week 8 | ||||
21. M 5/19 | Interactive Graphics | HW14: Final Project Proposals | ||
22. W 5/21 | HW13 | Event-Based Programming
|
HW15: Event Handling | |
23. F 5/23 | CS Ethics; Pygame; Web Scraping | §13.1–13.2 | ||
Week 9 | ||||
24. M 5/26 | HW15 | Searching and Recursion | HW16: Recursion Lab | §13.3 |
25. W 5/28 | HW16 | Recursion Redux; Sorting | HW17: Recursion and Fractals | §13.4 |
26. F 5/30 | Difficult Problems | |||
Week 10 | ||||
27. M 6/2 | HW17 | Preview of CS; Exam Review; Course Evals
|
||
28. W 6/4 | Exam 3 | |||
Exam Period | ||||
Sun 6/8 | Final Project Presentations, 3:30pm–6pm | |||
Mon 6/9 | Final Projects due 5pm; have a good summer! |