Semester Calendar
This page is a high level overview of the what the course will cover. The lectures are subject to change, and this page will be updated as changes are made. For a more detailed summary of the lectures, including suggested readings, class handounts, and demo code, you should refer to the lectures page.
| Week | Date | Event | Topic |
|---|---|---|---|
| 1 | lab | Getting Started | |
| 26 Aug | lecture | Types and Expressions | |
| lab | Expressions | ||
| 2 | 31 Aug | lecture | Variables and Assignments |
| lab | Assignments | ||
| 2 Sep | lecture | Functions and Modules | |
| lab | Modules | ||
| 3 | 7 Sep | lecture | User-Defined Functions |
| lab | Functions | ||
| 9 Sep | lecture | Strings | |
| lab | Strings | ||
| 4 | 14 Sep | lecture | Specifications and Testing |
| lab | Testing | ||
| 16 Sep | lecture | Conditionals and Program Flow | |
| lab | Conditionals | ||
| 5 | 21 Sep | lecture | Algorithm Design |
| lab | Assignment 1 | ||
| 22 Sep | assignment | Currency | |
| 23 Sep | lecture | Objects | |
| lab | Objects | ||
| 6 | 28 Sep | lecture | Memory in Python |
| lab | Debugging | ||
| 30 Sep | lecture | Asserts and Error Handling | |
| lab | Asserts | ||
| 30 Sep | assignment | Call Frames | |
| 7 | 5 Oct | lecture | Lists (and Sequences) |
| lab | Lists | ||
| 7 Oct | lecture | For-Loops | |
| lab | Assignment 3 | ||
| 8 Oct | assignment | Color Models | |
| 8 | 14 Oct | lecture | Recursion |
| lab | Recursion I | ||
| 9 | 19 Oct | lecture | More Recursion |
| lab | Recursion II | ||
| 19 Oct | exam | Prelim 1 | |
| 21 Oct | lecture | Nested Lists and Dictionaries | |
| lab | Nested Lists & Dictionaries | ||
| 10 | 26 Oct | lecture | Classes |
| lab | Blackjack | ||
| 28 Oct | lecture | Object-Oriented Design | |
| lab | Object-Oriented Design | ||
| 28 Oct | assignment | Turtles | |
| 11 | 2 Nov | lecture | Inheritance |
| lab | Subclasses | ||
| 4 Nov | lecture | Operators and Abstraction | |
| lab | Abstraction | ||
| 4 Nov | assignment | Class Folders | |
| 12 | 9 Nov | lecture | Dynamic Typing |
| lab | Dynamic Typing | ||
| 11 Nov | lecture | While Loops | |
| lab | While Loops | ||
| 11 Nov | exam | Prelim 2 | |
| 13 | 16 Nov | lecture | GUI Applications |
| lab | GUI Classes | ||
| 18 Nov | lecture | Generators | |
| lab | Generators | ||
| 18 Nov | assignment | Clustering | |
| 14 | 23 Nov | lecture | Coroutines |
| 25 Nov | break | THANKSGIVING | |
| 15 | lab | Coroutines | |
| 30 Nov | lecture | Searching and Sorting | |
| lab | Sorting | ||
| 2 Dec | lecture | Advanced Sorting | |
| 16 | 7 Dec | lecture | Course Wrap-Up |
| 7 Dec | assignment | Alien Invaders | |
| 10 Dec | lecture | Review Session | |
| 12 Dec | exam | Final |