ICS 33 Fall 2026
Schedule


In lieu of a course textbook, assigned readings are mainly the Notes and Examples from lecture. It is a good idea to skim the assigned reading before the lecture for the main ideas, attend lecture, and then to go through the assigned reading again to fill in the details that you missed, both in your initial skim of the reading and in the lecture.

Date Lecture Topics Readings Assigned Work
Week 0
Lectures
  • Course introduction
  • The importance of natural curiosity
  • Experimentation in a running Python shell
  • Dictionaries as a recurring theme in Python
  • Scopes and namespaces
  • Shadowing and the LEGB rule
  • Module importation
  • How different ways to import behave differently
  • Importation in non-global scopes
  • Importation vs. loading
F 9/25
Week 1
Lectures
  • Classes and objects
  • Attributes in objects
  • Attributes in classes
  • Static and class methods
  • Positional and keyword arguments
  • Packing and unpacking
  • Default arguments
  • Tuple-packing parameters
  • Keyword-only and positional-only parameters
  • Dictionary-packing parameters
  • Context managers and the with statement
  • Examples of existing context managers in Python
  • Writing one's own context managers
Tu 9/29
  • Lab sections begin meeting today
F 10/2
Week 2
Lectures
  • Asymptotic analysis
  • O-notation
  • The limitations of O-notation
  • "Closest-fit" O-notation
  • Measuring time and memory
  • Searching
  • The mechanics of Python lists
  • Sequential search
  • Binary search
  • Best-, worst-, and average-case analysis
F 10/9
Week 3
Week 4
M 10/19
Week 5
Week 6
Week 7
W 11/11
  • University Holiday: Veterans Day — NO LECTURE TODAY
Week 8
Week 9
Th 11/26
  • University Holiday: Thanksgiving — NO LECTURE TODAY
F 11/27
  • University Holiday: Thanksgiving — NO LABS TODAY
Week 10
Finals Week
Th 12/10
  • FINAL EXAM: 4:00pm-6:00pm, BS3 1200