Semester Calendar

This page is a high level overview of the what the course will cover. Note that, because of the unusual nature of this semester, all dates are subject to change, and this page will be updated as changes are made. For a more detailed summary of the lecture presentations, including videos, slides, and demo code, you should refer to the Zoom presentations page.

Week Date Event Topic
1 lab Getting Started
3 Sep lecture Course Overview
lab Expressions
2 8 Sep lecture Visualizing Variables
lab Assignments
10 Sep lecture Functions and Modules
lab Modules
3 15 Sep lecture User-Defined Functions
lab Functions
17 Sep lecture Strings
lab Strings
4 22 Sep lecture Specifications and Testing
lab Testing
24 Sep lecture Conditionals
lab Conditionals
5 29 Sep lecture Algorithm Design
lab Assignment 1
30 Sep assignment Currency
1 Oct lecture Objects
lab Objects
6 6 Oct lecture Memory in Python
lab Debugging
6 Oct assignment Call Frames
8 Oct lecture Asserts and Error Handling
lab Asserts
7 13 Oct lecture Lists (and Sequences)
15 Oct lecture For-Loops
lab Lists & Loops
16 Oct assignment Color Models
8 18 Oct exam Prelim 1
20 Oct lecture Recursion
lab Recursion I
22 Oct lecture More Recursion
lab Recursion II
9 27 Oct lecture Nested Lists and Dictionaries
lab Nested Lists & Dictionaries
29 Oct lecture Classes
lab Blackjack
10 2 Nov assignment Turtles
3 Nov lecture Object-Oriented Design
lab Object-Oriented Design
5 Nov lecture Inheritance
lab Subclasses
11 10 Nov lecture Operators and Abstraction
lab Abstraction
10 Nov assignment Class Folders
12 Nov lecture Dynamic Typing
lab Typing & Exceptions
12 15 Nov assignment Images
13 19 Nov exam Prelim 2
24 Nov break THANKSGIVING
14 1 Dec lecture GUI Applications
lab GUI Classes
3 Dec lecture Generators
lab More GUI Classes
15 8 Dec lecture Coroutines
lab Coroutines (OPTIONAL)
10 Dec lecture Course Wrap-Up
17 21 Dec assignment Froggit