CS 111: Introduction to Computer Science

Summer 2025

Instructors:

  • Section 1 (MWF 10:00 AM) - Tyler Burrows (email: burrowtn@byu.edu)
    • Office Hours: TO BE DETERMINED

This schedule is approximate and dates may shift slightly as the semester goes on.

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