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