CS 111: Introduction to Computer Science

Winter 2026

Instructors:

Students from Fall 2025 or Earlier

If you are viewing this site to look at the prior forms of the assignments, please head to the course archives to find the content. This website no longer links to all of those assignments directly.

Note

The links on this page point to the Canvas for the in-person sections. If you are in the Online section, there is a corresponding page in your Canvas but you'll have to navigate to it yourself.

Week's Lecture Topics & Slides Date Readings Lab Links Homework & Project Due Dates / Test Dates
Week 1
Mon
Jan 5
Tue
Jan 6
Lecture 0 - Course Introduction Wed
Jan 7
How to Navigate Canvas / Gradescope
Syllabus Reading Quiz
Disabling AI Tools
First Day of Classes
Thu
Jan 8
Getting Started and Python Setup Lab
Fri
Jan 9
Week 2
Lecture 1 - Computational Thinking & Writing Quality Code Mon
Jan 12
Code Quality Guidelines
Python Basics Reading Quiz
Console I/O Reading Quiz
Booleans and Conditionals Reading Quiz
While Loops Reading Quiz
Functions Reading Quiz
Tue
Jan 13
Booleans and Conditionals Lab
While Loops Lab
Functions Lab
Lecture 2 - Errors & Introduction to Testing (why, TDD) Wed
Jan 14
Errors Reading Quiz
Testing Intro Reading Quiz
File I/O Reading Quiz
List Basics Reading Quiz
Slicing Reading Quiz
Strings Reading Quiz
For Loops Reading Quiz
Free Coding Project - Overview
University Add/Drop Deadline Homework 00 - Pizza!
Thu
Jan 15
File I/O Lab
List Basics Lab
Strings Lab
Slicing Lab
For Loops Lab
Errors Lab
Fri
Jan 16
Week 3
Mon
Jan 19
Martin Luther King Holiday
Tue
Jan 20
Lecture 3 - Environments and Debugging Wed
Jan 21
Debugging Reading Quiz Homework 01 - College Admissions Algorithms
Thu
Jan 22
Debugging Lab
Fri
Jan 23
Week 4
Lecture 4 - Testing and Writing Tests Mon
Jan 26
pytest Reading Quiz
doctest Reading Quiz
Tue
Jan 27
pytest Lab
doctest Lab
Lecture 5 - Strings, Lists, Dictionaries & Tuples, Slicing & Comprehensions Wed
Jan 28
Tuples Reading Quiz
Dictionaries Reading Quiz
Comprehensions Reading Quiz
Thu
Jan 29
Progress Check 1
Fri
Jan 30
Week 5
Lecture 6 - Images Mon
Feb 2
Images Reading Quiz
Tue
Feb 3
Dictionaries Lab
Tuples Lab
Comprehensions Lab
Images Lab
Lecture 7 - Abstraction & Command Line Arguments Wed
Feb 4
Abstraction Reading Quiz
Command Line Arguments Reading Quiz
Homework 02 - Image Manipulation
Thu
Feb 5
Command Line Arguments Lab
Fri
Feb 6
Week 6
Lecture 8 - Big O, Algorithm Analysis, Data Structures Mon
Feb 9
Big O Reading Quiz
Tue
Feb 10
Lecture 9 - Object Oriented Programming & Class Design Wed
Feb 11
OOP Reading Quiz
Classes Reading Quiz
Project 01 - Image Processing
Thu
Feb 12
Classes Lab Skill Assessment 1
Fri
Feb 13
Skill Assessment 1
Free Coding Project - Proposal
Week 7
Mon
Feb 16
Presidents Day Holiday
Lecture 10 - Inheritance & Interfaces Tue
Feb 17
Inheritance Reading Quiz
Interfaces Reading Quiz
Lecture 11 - Dunder Functions & Polymorphism Wed
Feb 18
Dunder Functions Reading Quiz
Polymorphism Reading Quiz
Homework 03 - The Grid Class
Thu
Feb 19
Inheritance Lab
Interfaces Lab
Polymorphism Lab
Dunder Functions Lab
Fri
Feb 20
Week 8
Lecture 12 - Modularity, Modular Design & Random Numbers Mon
Feb 23
Random Numbers Reading Quiz
Tue
Feb 24
Progress Check 2
Lecture 13 - Lambda Expressions & Higher Order Functions Wed
Feb 25
Lambda Functions Reading Quiz
Higher Order Functions Reading Quiz
Project 02 - Falling Sand Simulation
Thu
Feb 26
Random Numbers Lab
Lambda Functions Lab
Higher Order Functions Lab
Fri
Feb 27
Week 9
Lecture 14 - Composition, Decorators, & Mutability Mon
Mar 2
Tue
Mar 3
Lecture 15 - Recursion Wed
Mar 4
Recursion Reading Quiz
Review Syllabus Reading Quiz
Thu
Mar 5
Recursion Lab Skill Assessment 2
Fri
Mar 6
Skill Assessment 2
Week 10
Lecture 16 - Linked Lists Mon
Mar 9
Linked Lists Reading Quiz
Tue
Mar 10
Linked Lists Lab
Lecture 17 - Tree Recursion Wed
Mar 11
Tree Recursion Reading Quiz
Merge Sort Reading Quiz
Thu
Mar 12
Tree Recursion Lab
Fri
Mar 13
Week 11
Lecture 18 - Trees Mon
Mar 16
Trees Reading Quiz
Tue
Mar 17
Progress Check 3
Lecture 19 - Backtracking Wed
Mar 18
Backtracking Reading Quiz Homework 04 - Merge Sort
Thu
Mar 19
Backtracking Lab
Trees Lab
Fri
Mar 20
Spring Day
Week 12
Lecture 20 - Programming Languages & Regular Expressions Mon
Mar 23
Regex Reading Quiz
Tue
Mar 24
Regex Lab
Lecture 21 - HTML, Requests, and Beautiful Soup Wed
Mar 25
Intro to WWW Reading Quiz
HTML Tags and Attributes Reading Quiz
Project 03 - Recursive Backtrace Mazes
Thu
Mar 26
HTML Tags and Attributes Lab Skill Assessment 3
Fri
Mar 27
Skill Assessment 3
Free Coding Project - Implementation
Week 13
Lecture 22 - Hyperlinks and robots.txt Mon
Mar 30
Hyperlinks Reading Quiz
robots.txt Reading Quiz
Tue
Mar 31
Hyperlinks Lab
Lecture 23 - Web Scraping Wed
Apr 1
Web Scraping Reading Quiz Homework 05 - Robots
Thu
Apr 2
Web Scraping Lab
Fri
Apr 3
Week 14
Lecture 24 - Data Visualization Mon
Apr 6
Data Visualization Reading Quiz
Tue
Apr 7
Data Visualization Lab
Lecture 25 - Conclusion Wed
Apr 8
Skill Assessment 4
Thu
Apr 9
Progress Check 4 Skill Assessment 4
Fri
Apr 10
Project 04 - Webcrawler
Skill Assessment 4
Week 15
Mon
Apr 13
Skill Assessment 4
Tue
Apr 14
Skill Assessment 4
Wed
Apr 15
Last Day of Classes Free Coding Project - Reflection
Thu
Apr 16
Exam Prep Day / Reading Day
Fri
Apr 17
Finals Week - Check your schedule for specific exam times
Sat
Apr 18
Week 16
Mon
Apr 20
Finals Week - Check your schedule for specific exam times
Tue
Apr 21
Wed
Apr 22
Thu
Apr 23
Summer Break starts!
Fri
Apr 24