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

Schedule

week

lecture dates

topics, exams, due dates, and other special dates

0

9/3, 9/5

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

1

9/8, 9/10, 9/12

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

2

9/15, 9/17, 9/19

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

3

9/22, 9/24, 9/26

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

4

9/29, 10/1, 10/3

  • Lists of lists; encryption and decryption
  • Algorithm design
  • Representing information
  • Problem Set 3, part I due on 10/2
  • Problem Set 3, part II due on 10/5

5

10/6, 10/8, 10/10

  • Binary addition
  • Gates and circuits
  • Minterm expansion
  • 10/6: last day to drop without a ‘W’
  • Problem Set 4, part I due on 10/9
  • Problem Set 4, part II due on 10/12

6

10/14, 10/15, 10/17

  • Arithmetic circuits
  • Loops and imperative programming
  • Cumulative computations
  • No lecture on 10/13 (holiday)
  • Lecture on 10/14 (Mon. schedule)
  • No labs this week
  • Problem Set 5, part I due on 10/19

7

10/20, 10/22, 10/24

  • Loops (cont.); design using loops
  • Nested loops
  • Midterm 1 on 10/22 from 6:30-7:45 pm
  • Problem Set 5, part II due on 10/26

8

10/27, 10/29, 10/31

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

9

11/3, 11/5, 11/7

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

10

11/10, 11/12, 11/14

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

11

11/17, 11/19, 11/21

  • Games and AI (cont.)
  • Overview of the final project
  • Midterm 2 on 11/19 from 6:30-7:45 pm
  • Problem Set 9, part II due on 11/23

12

11/24

  • Finite-state machines
  • No lectures on 11/26, 11/28 (Thanksgiving)
  • No labs this week

13

12/1, 12/3, 12/5

  • Finite-state machines (cont.)
  • Algorithm efficiency and problem hardness
  • Final-project milestone due on 12/4
  • Problem Set 10 due on 12/4

14

12/8, 12/10

  • Efficiency and problem hardness (cont.)
  • Course wrap-up
  • Full final project due on 12/9
  • 12/11-14: Study period

15

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

Last updated on October 13, 2025.