CS 111: Introduction to Computer Science

Fall 2024

Instructors:

  • Sections 1(online), 2 (MWF 11am), & 3 (MWF 1pm) - Tom Stephens (email: tstephen@cs.byu.edu or book time with me: https://calendly.com/byu-cs-tstephen/office-hours)
  • Section 4 (MW 8am) - Michael Reynolds
  • Section 5 (MW 12:30pm) - Nancy Fulda (email: nfulda@cs.byu.edu)
    • Office Hours: 11:00 AM Mondays and 2:00 PM Tuesdays in 2218 TMCB, or by appointment
  • Section 6 (MWF noon) - Steven Giles (email: sgiles63@gmail.com)
  • Section 8 (MW 5:30pm) - Andrew Cluff (email: Andrew_Cluff@byu.edu)

Course Discord

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

Week's Lecture Topics Date Related Readings Lab Links Homework & Project Due Dates / Test Dates
Week 1
Mon
Sep 2
Labor Day Holiday
Tue
Sep 3
Wed
Sep 4
First day of classes.
Thur
Sep 5
Getting Started
Python Environments
Lab 00: Getting Started & Python Setup
Fri
Sep 6
Introduction
Standard Types
Operators
Input
Print
Modules
Canvas Quiz: CS111 or CS110? Readiness Self-Assessment
Week 2
Mon
Sep 9
Defining Functions
Built-in Functions
More on Lists
Loops
Files
Formatting Text
Canvas Quiz: Python Programming Checklist
Tue
Sep 10
Strings and Slicing
Ranges
List Comprehensions
Lab 01: Variables, Functions, and Control
Wed
Sep 11
University Add/Drop Deadline Homework 0: Pizza!
Thur
Sep 12
Lab 02: Functions Lists, & File I/O
Fri
Sep 13
Scopes
Python Tutor
VS Code Debugging
PyCharm Debugging
Week 3
Mon
Sep 16
Tue
Sep 17
Lab 03: Debugging
Wed
Sep 18
Homework 1: College Admissions Algorithms
Thur
Sep 19
Lab 04: Computational Thinking
Fri
Sep 20
Week 4
Mon
Sep 23
Tue
Sep 24
Lab 05: Picture Puzzles & Filters
Wed
Sep 25
Homework 2: Image Manipulation
Thur
Sep 26
Lab 06: Command Line Arguments
Fri
Sep 27
Week 5
Mon
Sep 30
Tue
Oct 1
Lab 07: Classes
Wed
Oct 2
Project 1: Image Processor
Thur
Oct 3
Lab 08: Starting the Grid class
Fri
Oct 4
Week 6
Mon
Oct 7
Tue
Oct 8
Lab 09: Exceptions
Wed
Oct 9
Homework 3: The Grid Class
Thur
Oct 10
Lab 10: Testing Take Midterm 1 in the Testing Center
Practice Exam
Practice Exam (Key)
Fri
Oct 11
Take Midterm 1 in the Testing Center
Sat
Oct 12
Take Midterm 1 in the Testing Center
Week 7
Mon
Oct 14
Take Midterm 1 in the Testing Center with a $5 late fee.
Tue
Oct 15
Lab 11: Functional Programming
Wed
Oct 16
Homework 4: The Sand Class
Thur
Oct 17
Lab 12: Higher Order Functions
Fri
Oct 18
Week 8
Mon
Oct 21
Tue
Oct 22
No lab
Wed
Oct 23
Project 2: Sand
Thur
Oct 24
Lab 13: Recursion
Fri
Oct 25
Week 9
Mon
Oct 28
Tue
Oct 29
Lab 14: Linked List
Wed
Oct 30
Thur
Oct 31
No Lab Homework 5: Merge sort
Fri
Nov 1
Week 10
Mon
Nov 4
Tue
Nov 5
Lab 15: Trees
Wed
Nov 6
Thur
Nov 7
Lab 16: Parsing
Fri
Nov 8
Homework 6: Parsing
Week 11
Mon
Nov 11
Tue
Nov 12
Lab 17: Regular Expressions
Wed
Nov 13
Project 3: Calculator Interpreter
Thur
Nov 14
Midterm Review Take Midterm 2 in the Testing Center
Practice Exam
Practice Exam (Key)
Additional Questions
Additional Questions (Key)
Fri
Nov 15
Take Midterm 2 in the Testing Center
Sat
Nov 16
Take Midterm 2 in the Testing Center
Week 12
Mon
Nov 18
Take Midterm 2 in the Testing Center with $5 late fee
Tue
Nov 19
Lab 18: HTML & Web Fundamentals
Wed
Nov 20
Thur
Nov 21
Lab 19: Using Beautiful Soup
Fri
Nov 22
Week 13
Mon
Nov 25
University Withdrawal Deadline
Tue
Nov 26
Lab 20: URLlib Homework 7 - Robots
Wed
Nov 27
No Class - Thanksgiving Holiday
Thur
Nov 28
Fri
Nov 29
Week 14
Mon
Dec 2
Tue
Dec 3
Lab 21: Web crawl Scavenger hunt
Wed
Dec 4
Thur
Dec 5
Lab 22: Plotting
Fri
Dec 6
Week 15
Mon
Dec 9
Project 4: Web Crawler
Tue
Dec 10
Final Review
Wed
Dec 11
Last day of classes. Deadline for all late assignments.
Thur
Dec 12
Exam Preparation Day
Fri
Dec 13
Final exam in Testing Center
Sat
Dec 14
Week 16
Mon
Dec 16
Final exam in Testing Center
Tue
Dec 17
Wed
Dec 18
Thur
Dec 19
School's out - Go home for Christmas!!