CS 111: Introduction to Computer Science

Winter 2024

Instructors: Brayden Connole, Steve Richardson, Daniel Richins, & Tom Stephens

Important: Some of materials for the course are being updated and dates and content are subject to change.

Course Discord

Date Lecture Textbook Lab Links Homework & Project Due Dates
Week 1
Mon
Jan 8
Welcome and Course introduction
Dr. Stephens Intro
Dr. Richardson Intro
Prof. Connole Intro
Tue
Jan 9
Lab 00: Getting Started
Wed
Jan 10
Basic Python Syntax
Thur
Jan 11
Lab 01: Python Setup
Fri
Jan 12
Conditionals, Loops, Lists, & Files Self Assessment - Canvas Quiz
Week 2
Mon
Jan 15
No Class - Martin Luther King Jr. Day
Tue
Jan 16
University Add/Drop Deadline Lab 02: Variables, Functions, and Control
Wed
Jan 17
Strings, Slicing, Ranges, & Comprehensions
Thur
Jan 18
Lab 03: Functions Lists, & File I/O
Fri
Jan 19
Environments, Tuples, Dictionaries, & Incremental Development Homework 1: College Admissions Algorithms
Week 3
Mon
Jan 22
Iterators & Generators
Tue
Jan 23
Lab 04: Debugging
Wed
Jan 24
Libraries and Images
Thur
Jan 25
Lab 05: Picture Puzzles & Filters
Fri
Jan 26
Abstraction & Naming Homework 2: Image Manipulation
Week 4
Mon
Jan 29
Command-line arguments & Errors
Tue
Jan 30
Lab 06: Command Line Arguments
Wed
Jan 31
Classes
Thur
Feb 1
Lab 07: Classes
Fri
Feb 2
More Classes Project 1: Image Processor
Week 5
Mon
Feb 5
Dunder Functions & Random numbers
Tue
Feb 6
Lab 08: Starting the Grid class
Wed
Feb 7
Exceptions & Decomposition
Thur
Feb 8
Lab 09: Exceptions
Fri
Feb 9
Functional Programming
& Higher-order Functions
Homework 3: The Grid Class
Week 6
Mon
Feb 12
Composition, Lambdas, & Decorators
Tue
Feb 13
Lab 11: Higher Order Functions
Wed
Feb 14
Mutability
Thur
Feb 15
Lab 10: Functional Programming
Fri
Feb 16
TBD - Catch-up Project 2A: Falling Sand
Week 7
Mon
Feb 19
No Class - Presidents' Day
Tue
Feb 20
TA-led Midterm Review Monday Instruction Day Take Midterm 1 in the Testing Center
Wed
Feb 21
No Class Take Midterm 1 in the Testing Center
Thur
Feb 22
No lab Take Midterm 1 in the Testing Center
Fri
Feb 23
Testing Homework 4: The Sand Class
Week 8
Mon
Feb 26
Recursion
Tue
Feb 27
Lab 12: Testing
Wed
Feb 28
Recursion & Linked Lists
Thur
Feb 29
Lab 13: Recursion
Fri
Mar 1
Finish Linked Lists Project 2B: Falling Sand
Week 9
Mon
Mar 4
Tree Recursion
Tue
Mar 5
Lab 14: Linked List
Wed
Mar 6
Tree Recursion & Mergesort
Thur
Mar 7
No lab
Fri
Mar 8
Trees Homework 5: Merge sort
Week 10
Mon
Mar 11
Calculator language & Language Syntax
Tue
Mar 12
Lab 15: Trees
Wed
Mar 13
Langauge Parsing & Evaluation
Thur
Mar 14
Lab 16: Parsing
Fri
Mar 15
No Class - Spring Break
Week 11
Mon
Mar 18
Regular Expressions Homework 6: Parsing
Tue
Mar 19
Lab 17: Regular Expressions
Wed
Mar 20
Efficiency
Thur
Mar 21
Midterm Review
Fri
Mar 22
Machine Learning Project 3: Calculator Interpreter
Week 12
Mon
Mar 25
No Class Take Midterm 2 in the Testing Center
Tue
Mar 26
No lab Take Midterm 2 in the Testing Center
Wed
Mar 27
Intro to the World Wide Web & HTML Take Midterm 2 in the Testing Center
Thur
Mar 28
Lab 18: HTML & Web Fundamentals
Fri
Mar 29
Requests & Beautiful Soup Libraries
Week 13
Mon
Apr 1
Hyperlinks
Tue
Apr 2
Lab 19: Using Beautiful Soup
Wed
Apr 3
Data Scraping - Robots and Tags University Withdrawl Deadline
Thur
Apr 4
No lab
Fri
Apr 5
More Data Scraping - Tables and Images Homework 7 - Robots
Week 14
Mon
Apr 8
Data Visualization
Tue
Apr 9
Lab 21: Web crawl Scavenger hunt
Wed
Apr 10
No Class - Dr. Stephens (work on Project 4)
Thur
Apr 11
Lab 22: Plotting
Fri
Apr 12
Cryptography
Week 15
Mon
Apr 15
Conclusion
Tue
Apr 16
Final Review
Wed
Apr 17
No class - Dr.Stephens (finish Project 4) Last day of classes. Deadline for all late assignments. Project 4: Web Crawler
Thur
Apr 18
Reading Day
Fri
Apr 19
Final exam in Testing Center
Sat
Apr 20
Week 16
Mon
Apr 22
Final exam in Testing Center
Tue
Apr 23
Wed
Apr 24
Thur
Apr 25
Fri
Apr 26
School's out - Go home for the summer!!