Weekly Materials
Each week below lists its learning objectives, a link to the lecture slides, and the class plan for each day. Readings, quizzes, and lab assignments are posted on Moodle.
Weekly Rhythm
Each topic follows the same three-step cycle:
- Friday (of the previous week) — POGIL activity introducing the next week’s topic
- Monday — Slides and prep for lab
- Wednesday — Lab recap, then a quiz or a forum (alternating weeks)
Week 1 is the exception: POGIL Activity 1 (plus lab recap) is on Wednesday, and POGIL Activity 2 follows on Friday.
- Week 1: Introduction
- Week 2: Operators
- Week 3: Data Types
- Week 4: Conditionals
- Week 5: Loops
- Week 6: Functions
- Week 7: Libraries, NumPy, and Matplotlib
Week 1: Introduction
Learning Objectives
By the end of this week, students will be able to:
- Explain what programming is and how code gives instructions to a computer
- Run a simple Python program and read its output
- Use basic variables and print statements in short scripts
- Set up the tools and workflow used in CS-104
Slides
Class Planning
Monday — Logistics; intro concepts.
Wednesday — POGIL Activity 1: Introduction to Python; lab recap
Friday — POGIL Activity 2: Arithmetic Expressions (prepares for Week 2)
Week 2: Operators
Learning Objectives
By the end of this week, students will be able to:
- Use arithmetic, comparison, and logical operators in Python expressions
- Predict the result of an expression before running it
- Distinguish between assignment and comparison
- Write small programs that combine input, variables, and operators
Slides
Homework 1
Check this on ZyBooks! Deadline will be on Monday of next week.
Forum 1
Forum 1: Programming as Rhetoric
Class Planning
Monday — Labor Day (no class)
Wednesday — Lab recap; slides; Forum 1
Friday — POGIL Activity 3: Data Types (prepares for Week 3)
Week 3: Data Types
Learning Objectives
By the end of this week, students will be able to:
- Distinguish among integers, floats, strings, and booleans
- Convert values from one type to another when appropriate
- Predict how Python behaves when types are mixed in an expression
- Use string operations to inspect and build text values
Slides
Quiz 1 on Wednesday!
In-class, in paper, closed book.
Class Planning
Monday — Slides; prep for lab
Wednesday — Lab recap; Quiz 1
Friday — POGIL Activity 4: Conditionals (prepares for Week 4)
Week 4: Conditionals
Learning Objectives
By the end of this week, students will be able to:
- Write
if,elif, andelsestatements to control program flow - Use boolean expressions to decide which branch of code runs
- Trace a program with multiple conditional paths
- Test edge cases that exercise each branch of a program
Slides
Homework 2
Check this on ZyBooks! Deadline will be on Monday of next week.
Forum 2
Forum 2: On Coding with Wisdom and Justice
Class Planning
Monday — Slides; prep for lab
Wednesday — Lab recap; Forum 2
Friday — POGIL Activity 5: Loops (prepares for Week 5)
Week 5: Loops
Learning Objectives
By the end of this week, students will be able to:
- Use
forloops to repeat a task over a known collection or range of values - Use
whileloops when repetition depends on a changing condition - Update variables correctly inside a loop
- Recognize and avoid common loop errors such as off-by-one mistakes and infinite loops
Slides
Quiz 2 on Wednesday!
In-class, in paper, closed book.
Class Planning
Monday — Slides; prep for lab
Wednesday — Lab recap; Quiz 2
Friday — Holiday (no class)
Week 6: Functions
Learning Objectives
By the end of this week, students will be able to:
- Define and call functions with parameters and return values
- Break a larger problem into smaller reusable pieces
- Choose meaningful function names and parameter names
- Test functions independently from the rest of a program
Slides
Homework 3
Check this on ZyBooks! Deadline will be on Monday of next week.
Forum 3
Forum 3: One Does Not Simply Use a Technology
Class Planning
Monday — POGIL Activity 6: Functions (moved from the Week 5 holiday); short slides; prep for lab
Wednesday — Lab recap; Forum 3
Friday — POGIL Activity 9: Libraries, NumPy, and Matplotlib (prepares for Week 7)
Week 7: Libraries, NumPy, and Matplotlib
Learning Objectives
By the end of this week, students will be able to:
- Install external libraries with
pip, and briefly explain what a virtual environment is for - Create NumPy arrays and perform element-wise math on them
- Produce a labeled plot using Matplotlib
- Use NumPy and Matplotlib together to model and visualize an RC circuit’s response over time
Slides
Quiz 3 on Wednesday!
In-class, in paper, closed book.
Class Planning
Monday — Slides; prep for lab
Wednesday — Lab recap; Quiz 3
Friday — No class (the course ends on Wednesday)