CS 111: Introduction to Computer Science

Spring 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.

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