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