Computer Science
CS 110 How To Program
|
Winter 2024
Home
Syllabus
Staff
Getting Help
Guide
Resources
Schedule
Day
Lecture Notes
Guide
Labs
Homework & Projects
Unit 1 - Bit
Mon Jan 8
Syllabus
Getting Started
For Lab 0 and Homework 0, you will use the material in the Getting Started section of the guide
Lab 0 - Getting Started
Due: Jan 9
Homework 0 - Getting Started
Due: Jan 9
Wed Jan 10
Introduction to Bit
Files
Video
Introduction to Bit
Practice with Bit
Lab 1a - Introduction to Bit
Due: Jan 16
Homework 1a - Introduction to Bit
Due: Jan 16
Wed Jan 17
Belonging Mentors
Defining and calling functions
Files
Video
Functions
Practice with functions
Lab 1b - Functions
Due: Jan 20
Homework 1b - Functions
Due: Jan 20
Mon Jan 22
While
Files
Video
While loops
Practice - Fix the tree
Practice - Fix the bridge
Practice - Blue ocean
Lab 1c - While
Due: Jan 23
Homework 1c - While
Due: Jan 23
Project 1 - Bit
Due: Jan 30
Unit 2 - Decomposition with Bit
Wed Jan 24
If and Else
Files
Video
If statements
Practice with if statements
Practice - event stream pattern
Lab 2a - If
Due: Jan 27
Homework 2a - If
Due: Jan 27
Mon Jan 29
Return, And / or
Files
Video
Return
Combining conditions
Practice with conditions
Lab 2b - Conditions
Due: Jan 30
Homework 2b - Conditions
Due: Jan 30
Wed Jan 31
Decomposition
Files
Video
Decomposition
Lab 2c - Decomposition
Due: Feb 3
Homework 2c - Decomposition
Due: Feb 3
Mon Feb 5
Variables, Functions with multiple parameters
Files
Video
Variables
Practice with variables
Lab 2d - Variables
Due: Feb 6
Homework 2d - Variables
Due: Feb 6
Project 2 - Bit Problems
Due: Feb 13
Unit 2 Progress Check
Due: Feb 13
Unit 3 - Interactive Programs
Wed Feb 7
Interactive programs (input, variables, formatted strings)
Video
Files
Interactive programs
Using a debugger
Using pytest
Upgrading a package
Lab 3a - Interactive programs
Due: Feb 10
Homework 3a - Interactive programs
Due: Feb 10
Mon Feb 12
Input loops
Video
Files
Types and operators
Input loops
Lab 3b - Input loops
Due: Feb 13
Homework 3b - Input loops
Due: Feb 13
Wed Feb 14
Lists
Files
Video
Lists
Practice with lists
Lab 3c - Lists
Due: Feb 17
Homework 3c - Lists
Due: Feb 17
Wed Feb 21
List Patterns
Files
Video
Operators
List Patterns
Lab 3d - List Patterns
Due: Feb 24
Homework 3d - List Patterns
Due: Feb 24
Mon Feb 26
Tuples
Files
Video
Tuples
None
Practice with tuples
Lab 3e - Tuples
Due: Feb 27
Homework 3e - Tuples
Due: Feb 27
Wed Feb 28
Structured Data
Files
Video
Float
Lists of tuples
Lab 3f - Structured Data
Due: Mar 2
Homework 3f - Structured Data
Due: Mar 2
Project 3 - Youth Baseball
Due: Mar 9
Unit 3 Progress Check
Due: Mar 11
Midterm
Mon Mar 4
Midterm Review
Practice Midterm
The midterm is in Canvas (online) for all sections. It will be available from **Mon (12am) to Fri (11:59pm)**.
Wed Mar 6
(No class) Flex day -- time to catch up and take a midterm
Unit 4 - Strings
Mon Mar 11
Strings
Files
Video
Strings
Lab 4a - Strings
Due: Mar 12
Homework 4a - Strings
Due: Mar 12
Wed Mar 13
Substrings
Files
Video
Substrings
Practice with strings
Lab 4b - Substrings
Due: Mar 16
Homework 4b - Substrings
Due: Mar 16
Mon Mar 18
Terminal and program arguments
Files
Video
Using the terminal
Program arguments
Best practices for program arguments
Lab 4c - Program arguments
Due: Mar 19
Homework 4c - Program arguments
Due: Mar 19
Wed Mar 20
Reading and writing files
Files
Video
Reading and writing files
Lab 4d - Files
Due: Mar 23
Homework 4d - Files
Due: Mar 23
Mon Mar 25
Split and Join
Files
Video
Split and join
Lab 4e - Split and join
Due: Mar 26
Homework 4e - Split and join
Due: Mar 26
Wed Mar 27
Coiteration
Random
Files
Video
Random
Coiteration with zip
Lab 4f - Random and Coiteration
Due: Mar 30
Homework 4f - Random and Coiteration
Due: Mar 30
Project 4 - Wordle
Due: Apr 6
Unit 4 Progress Check
Due: Apr 8
Unit 5 - Dictionaries
Mon Apr 1
Dictionaries
Files
Video
Dictionaries
Lab 5a - Dictionaries
Due: Apr 2
Homework 5a - Dictionaries
Due: Apr 2
Wed Apr 3
Building dictionaries
Files
Video
Building dictionaries
Lab 5b - Creating dictionaries
Due: Apr 6
Homework 5b - Creating dictionaries
Due: Apr 6
Mon Apr 8
Counting
Files
Video
Counting
Lab 5c - Counting
Due: Apr 9
Homework 5c - Counting
Due: Apr 9
Wed Apr 10
Grouping
Files
Video
Grouping
Lab 5d - Grouping
Due: Apr 13
Homework 5d - Grouping
Due: Apr 13
Project 5 - Cipher
Due: Apr 17
Unit 5 Progress Check
Due: Apr 17
Wrapping up
Mon Apr 15
Bonus Lecture
Working with images
Thinking in 2D
Final Review
Wed Apr 17
Final Review
TAs will be available to help.
Thu Apr 18
Reading Day
Fri Apr 19
Final Exam
Final exam opens in Canvas
Wed Apr 24
Final Exam
Final exam last day
Due: Apr 24