Schedule

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!