CS 111: Introduction to Computer Science

Winter 2025

Instructors:

Due Dates may not reflect your Section

This schedule is approximate and dates may shift slightly as the semester goes on.
Additionally, it is schedule for the MW lectures and TTh lab sessions. If your lab or lecture section is a different day, some of the deadlines will be different.
Refer to Canvas for your exact dates.

Week's Lecture Topics & Slides Date Related Readings Lab Links Homework & Project Due Dates / Test Dates
Week 1
Mon
Jan 6
Tue
Jan 7
Wed
Jan 8
First day of classes.
Thur
Jan 9
Getting Started
Python Environments
Lab 00: Getting Started & Python Setup
Fri
Jan 10
Things As They Really Are 2.0
Canvas Quiz: CS111 or CS110? Readiness Self-Assessment
Week 2
Mon
Jan 13
Introduction
Standard Types
Operators
Input
Print
Files
Formatting Text
Tue
Jan 14
Lab 01: Basic Python, Booleans, Conditionals, & Console I/O
Wed
Jan 15
Defining Functions
Built-in Functions
More on Lists
Loops
University Add/Drop Deadline Homework 0: Pizza!
Thur
Jan 16
Lab 02: Functions, While loops, & File I/O
Fri
Jan 17
Week 3
Mon
Jan 20
Martin Luther King Holiday
Tue
Jan 21
Programming Environment Passoff
Wed
Jan 22
Strings and Slicing
Ranges
List Comprehensions
Programming Environment Passoff
Thur
Jan 23
Lab 03: For loops, Strings, & Comprehensions
Fri
Jan 24
Week 4
Mon
Jan 27
Scopes
Python Tutor
VS Code Debugging
PyCharm Debugging
Tue
Jan 28
Lab 04: Debugging
Wed
Jan 29
Pytest
Doctests
Homework 1: College Admissions Algorithms
Thur
Jan 30
Lab 05: Computational Thinking
Fri
Jan 31
Week 5
Mon
Feb 3
Tuples
Dictionaries Overview
Dictionary Methods
Exceptions
Tue
Feb 4
Lab 06: Testing
Wed
Feb 5
Iterators
Generators
More on Generators
Project 0: Grade Calculator
Thur
Feb 6
Lab 07: Exceptions
Fri
Feb 7
Week 6
Mon
Feb 10
Take Midterm 1 in the Testing Center
Tue
Feb 11
Lab 08: Picture Puzzles & Filters Take Midterm 1 in the Testing Center
Wed
Feb 12
Command Line Arguments
Explanation of Classes
Classes Overview
Homework 2: Image Manipulation
Take Midterm 1 in the Testing Center
Thur
Feb 13
Lab 09: Command Line Arguments Take Midterm 1 in the Testing Center - $5 late fee
Fri
Feb 14
Free Coding Project Proposal Due
Week 7
Mon
Feb 17
President's Day Holiday
Tue
Feb 18
Monday Instruction Day - Go to Monday classes!
Wed
Feb 19
Modules
Dunder Methods
Inheritance
Project 1: Image Processor
Thur
Feb 20
Lab 10: Classes
Fri
Feb 21
Week 8
Mon
Feb 24
Higher Order Functions
Tue
Feb 25
Lab 11: Starting the Grid class
Wed
Feb 26
Lambda Functions
Homework 3: The Grid Class
Thur
Feb 27
Lab 12: Functional Programming
Fri
Feb 28
Week 9
Mon
Mar 3
Mutability
Tue
Mar 4
Lab 13: Higher Order Functions
Wed
Mar 5
Intro To Recursion
Khanacademy Recursion
Python Tutor
Comparing Iteration with Recursion
Homework 4: The Sand Class
Thur
Mar 6
Lab 14: Recursion
Fri
Mar 7
Week 10
Mon
Mar 10
Linked Lists
Tue
Mar 11
Lab 15: Linked List
Wed
Mar 12
Visualizing Mergesort
Mergesort
Project 2: Sand
Thur
Mar 13
Lab 16: Trees
Fri
Mar 14
Week 11
Mon
Mar 17
Intro to Trees
Tue
Mar 18
Midterm Review
Wed
Mar 19
Homework 5: Merge sort
Thur
Mar 20
Lab 17: Parsing
Fri
Mar 21
Spring Break Day
Week 12
Mon
Mar 24
RegExr
Regex101
W3Schools Regex
Regex Python Docs
Take Midterm 2 in the Testing Center
Tue
Mar 25
Lab 18: Regular Expressions Take Midterm 2 in the Testing Center
Wed
Mar 26
Big O Notation
Big O Guide
Homework 6: Parsing
Take Midterm 2 in the Testing Center
Thur
Mar 27
Project 3 Work Lab Take Midterm 2 in the Testing Center - $5 late fee
Fri
Mar 28
Free Coding Project Pass-off Deadline
Week 13
Mon
Mar 31
How the web works
HTML
Tue
Apr 1
Lab 19: HTML & Web Fundamentals
Wed
Apr 2
Requests
Beautiful Soup Docs
Project 3: Calculator Interpreter
Thur
Apr 3
Lab 20: Using Beautiful Soup University Withdrawal Deadline
Fri
Apr 4
Week 14
Mon
Apr 7
Urllib
Robots.txt Files
Tue
Apr 8
Lab 21: URLlib
Wed
Apr 9
Homework 7 - Robots
Thur
Apr 10
Lab 22: Web crawl Scavenger hunt
Fri
Apr 11
Week 15
Mon
Apr 14
Matplotlib
Matplotlib Quick Start Docs
Tue
Apr 15
Lab 23: Plotting
Wed
Apr 16
Last day of classes. Deadline for all late assignments.
Thur
Apr 17
Exam Preparation Day
Fri
Apr 18
Final exam in Testing Center
Sat
Apr 14
Week 16
Mon
Apr 21
Final exam in Testing Center
Tue
Apr 22
Wed
Apr 23
Thur
Apr 24
School's out - Go home for the Summer!!