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.
- Week 1: Introduction
- Week 2: Operators
- Week 3: Data Types
- Week 4: Conditionals
- Week 5: Loops
- Week 6: Functions
- Week 7: Modules, Dependencies, and Virtual Environments
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 (Intro to Python/Thonny)
Friday — Lab recap and discussion; ; POGIL Activity 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 — Slides, lab prep
Friday — Lab recap, Forum 1
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 Friday!
In-class, in paper, closed book.
Class Planning
Monday — Class plan TBD
Wednesday — Class plan TBD
Friday — Class plan TBD
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 — Class plan TBD
Wednesday — Class plan TBD
Friday — Class plan TBD
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 Friday!
In-class, in paper, closed book.
Class Planning
Monday — Class plan TBD
Wednesday — Class plan TBD
Friday — Class plan TBD
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 — Class plan TBD
Wednesday — Class plan TBD
Friday — Class plan TBD
Week 7: Modules, Dependencies, and Virtual Environments
Learning Objectives
By the end of this week, students will be able to:
- Import functions and variables from Python modules
- Explain why external packages need to be installed before use
- Describe the purpose of a virtual environment
- Run a small multi-file Python project with clear organization
Slides
Quiz 3 on Friday!
In-class, in paper, closed book.
Class Planning
Monday — Class plan TBD
Wednesday — Class plan TBD
Friday — Class plan TBD