Final Exam date and time has been announced! Scroll to the bottom!

Columns "Release*" and "Deadline*" do not include labs, to reduce visual clutter. Labs come in pairs, and each pair is due the Friday/Monday after release unless otherwise noted.

Week Day Date Topic (Lecture Recordings) Lab Release* Deadline* Comments
1 Tue Jan 25 Types & Expressions Lab 1 & Lab 2 : types and expressions
Thu Jan 27 Variables & Assignments
2 Tue Feb 1 Functions & Modules Lab 3 & Lab 4 (module basics)
Thu Feb 3 Defining Functions
3 Tue Feb 8 Strings Lab 5 and Lab 6 : strings, testing Mon Feb 7: Add deadline
Thu Feb 10 Specifications & Testing A1 out
4 Tue Feb 15 Objects Lab 7 & Lab 8 : testing and debugging Prelim 1 alternate time request form goes live
Thu Feb 17 Conditionals & Control Flow
  • A1 part A due today (2/17)
  • part B due Mon 2/21
5 Tue Feb 22 Memory in Python Lab 9 & Lab 10 : objects, conditionals (oink!), lists A2 out [solutions] Prelim 1 alternate time requests due
Thu Feb 24 Lists & Sequences A1 revision instructions Prelim 1 material stops here (but includes this lecture); Prelim 1 Study Guide
6 Tue Mar 1 February Break: no classes No new lab exercises. Tue labs: not staffed.
Wed labs: drop-in office hours.
Thu Mar 3 Prelim 1 Review Session
  • A2 due today (Thu 3/3)
  • Lab 10 extended to Fri 3/4
  • A1 final revisions due Mon 3/7
7 Tue Mar 8 NO CLASS - open office hours No new lab exercises. Tue labs: drop-in office hours. Wed labs: not staffed
Prelim 1 @ 7:30pm ( Instructions )
Thu Mar 10 Iteration & For-Loops A3 out. A3 optional: real state-of-the-union data; solutions
8 Tue Mar 15 Nested Lists and Dictionaries Lab 11 & Lab 12 : for-loops, lists, dictionaries
Thu Mar 17 Recursion A3 optional extension out Fri 3/18 A3 due Sun 3/20, but Mon 3/21 submission OK. Sun 3/20 prelim 1 catch-up session; Mon 3/21 For-loop catch-up session; Tues 3/29 Recursion catch-up session
9 Tue Mar 22 Recursion (cont'd) Lab 13 & Lab 14 : recursion A4 out Mon 3/21 Tue 3/22 [solution, grading guide] Mon 3/21: last day to drop without 'W' ;
Thu Mar 24 Classes Prelim 2 alternate time request form goes live Fri 3/25
10 Tue Mar 29 Classes (cont'd) Lab 15 & Lab 16 : classes (Blackjack)
Tue 3/29 recursion catch-up session
Thu Mar 31 Classes in action! A5 out [Alt version of a5_music.py with URLs for all songs, solution] A4 due Fri 4/1;
Prelim 2 alternate time request form due Fri 4/1
Tue Apr 5 Spring Break: no classes
Thu Apr 7
11 Tue Apr 12 Subclasses and Inheritance Lab sessions = Open drop-in office hours Lab 16 extended to Wed 4/13 Prelim 2 material stops here (edit: we later decided that subclasses and inheritance will not be on the exam); Prelim 2 Study Guide
Thu Apr 14 Prelim 2 Review Session A5 due Fri 4/15 Sun 4/17
12 Tue Apr 19 NO CLASS - open office hours No new lab exercises. Tu: labs = drop-in office hours. Wed: labs not staffed
Prelim 2 @ 7:30pm ( Instructions )
Thu Apr 21 More on Subclassing
13 Tue Apr 26 While Loops Lab 17 and Lab 18: subclasses A6 out 4/29 [solutions]
Thu Apr 28 Programming with Subclasses Engineering students only, the last day to drop (requires petition signed by faculty advisor) is Fri Apr 29th. More details from Engineering.
14 Tue May 3 Sorting and Searching Lab sessions = drop-in office hours open to all.
Thu May 5 More on Algorithms for Sorting A6 due Mon 5/9
15 Tue May 10 Final exam review No new lab exercises, no staff at labs.
  1. Final exam material stops here ; Final-Exam Study Guide
  2. Arts and Sciences and CALS students: last day to drop.
  3. Thu/Fri 5/12 and 5/13: Additional review session on classes and general review session. [Materials, including recordings]
Sun May 15 Final exam: 7-9:30 PM in Barton Hall 100 Center & East