CS 111
Spring 2026
  • Home
  • Lectures
  • Labs
  • Problem Sets
  • Syllabus
  • Schedule
  • Staff
  • Office Hours
  • Resources
  • Collaboration
  • Participation
  • Blackboard
  • Python Tutor
  • Piazza
  • Gradescope

Schedule

week

lecture dates

topics, exams, due dates, and other special dates

0

1/21, 1/23

  • Course overview and introduction
  • Python basics
  • Data types and expressions
  • No labs this week

1

1/26, 1/28, 1/30

  • Strings and lists
  • First look at functions
  • Making decisions (conditional execution)
  • Problem Set 0 (all) due on 2/1

2

2/2, 2/4, 2/6

  • Functions (cont.)
  • Local and global variables; the runtime stack
  • Recursion
  • 2/2: last day to add a class
  • Problem Set 1, part I due on 2/5
  • Problem Set 1, part II due on 2/8

3

2/9, 2/11, 2/13

  • Recursion (cont.)
  • Recursive design
  • List comprehensions
  • Problem Set 2, part I due on 2/12
  • Problem Set 2, part II due on 2/15

4

2/17, 2/18, 2/20

  • Lists of lists; encryption and decryption
  • Algorithm design
  • Representing information
  • No lecture on 2/16 (holiday)
  • Lecture on 2/17 (Mon. schedule)
  • No labs this week
  • Problem Set 3, part I due on 2/19
  • Problem Set 3, part II due on 2/22

5

2/23, 2/25, 2/27

  • Binary addition
  • Gates and circuits
  • Minterm expansion
  • 2/24: last day to drop without a ‘W’
  • Problem Set 4, part I due on 2/26
  • Problem Set 4, part II due on 3/1

6

3/2, 3/4, 3/6

  • Arithmetic circuits
  • Loops and imperative programming
  • Cumulative computations
  • Midterm 1 on 3/4 from 6:30-7:45 pm

Spring break

7

3/16, 3/18, 3/20

  • Loops (cont.); design using loops
  • Nested loops
  • Problem Set 5, part I due on 3/19
  • Problem Set 5, part II due on 3/22

8

3/23, 3/25, 3/27

  • References; mutable vs. immutable data
  • 2-D lists
  • Object-oriented programming
  • File processing
  • Problem Set 6, part I due on 3/26
  • Problem Set 6, part II due on 3/29

9

3/30, 4/1, 4/3

  • Classes: creating your own types of objects
  • Dictionaries
  • 4/3: last day to drop with a ‘W’ or to designate a course Pass/Fail
  • Problem Set 7, part I due on 4/2
  • Problem Set 7, part II due on 4/5

10

4/6, 4/8, 4/10

  • Classes (cont.)
  • Inheritance
  • Games and AI
  • Problem Set 8 (all) due on 4/9
  • Problem Set 9, part I due on 4/12

11

4/13, 4/15, 4/17

  • Games and AI (cont.)
  • Overview of the final project
  • Finite-state machines
  • Midterm 2 on 4/15 from 6:30-7:45 pm
  • Problem Set 9, part II due on 4/20

12

4/22, 4/24

  • Finite-state machines (cont.)
  • Algorithm efficiency and problem hardness
  • No lecture on 4/20 (holiday)
  • Final-project milestone due on 4/23
  • Problem Set 10 due on 4/26

13

4/27, 4/29

  • Efficiency and problem hardness (cont.)
  • Course wrap-up
  • Full final project due on 4/29
  • 5/1-3: Study period

14

  • Final exam: Wednesday, May 6, 12:00-2:00 pm
  • We will arrange an alternate exam time for anyone with an exam-related conflict; those students should remain available through the end of the exam period on Friday, May 8.

Last updated on January 27, 2026.