$ ls labs/

Labs

Eight labs, one setup exercise. The first runs in plain Python; after that everything moves onto a Raspberry Pi Pico 2 W. Each lab is due at the start of that week's Friday lab session (Lab 2 spans two weeks: hardware intro, then loops).

Lab –Week 1

Setup

Get Discord, GitHub, VS Code, and Python installed and working. No terminal navigation or programming yet, just getting your tools ready. See the Setup Guide for the full walkthrough.

tooling
Due In lab
Lab 1Week 3

Calculator

Build a five-function calculator that parses a "NUM OP NUM" string and dispatches to the right operation, including building modulo from scratch out of your other functions. Pure Python, no hardware yet.

conditionalsfunctionsstrings
Due Sep 11
Lab 2Weeks 4–5

Cave Expedition

Meet the Raspberry Pi Pico 2 W and control its built-in LED (your first program on real hardware), then dive into loops as you create LED patterns that tell a cave-exploration story, navigating paths, decoding patterns, and sending rescue signals. One lab spanning two weeks: hardware first contact, then loops.

hardware I/Ofor loops LED
Due Sep 25
Lab 3Week 6

LED Light Show

Choreograph dynamic LED light shows driven by list programming: sequencing, iterating over, and updating a list of light states.

lists LED
Due Oct 2
Lab 4Week 8

Queue ("VIPs")

A push-button-driven line management system: given a shuffled guest list and a VIP sublist, move VIPs to the front, then reveal names one by one with each button press.

listscustom classes LED Button
Due Oct 16
Lab 5Week 9

Simon Memory Game

Build a Simon-style memory game: three LEDs and a button, organized around functions instead of one long script.

functions LED Button
Due Oct 23
Lab 6Weeks 10–11

Morse Code

Decode a single push button’s short and long presses into Morse code, translate finished signal groups through a lookup dictionary, and assemble full messages. This lab spans two weeks, giving you extra time to work through the dictionary logic.

dictionariesstate machines LED Button
Due Nov 6
Lab 7Week 12

Stoplight

Design a Stoplight class that drives three LEDs through timed modes: normal cycling, midnight blink, and yield flash, with a button-triggered reset.

OOPclasses LED Button
Due Nov 13
Lab 8Week 13

Thermometer

A team assignment: read the Pico’s onboard temperature sensor, convert the reading, and light one of three LEDs to indicate hot, warm, or cold. Git-flow collaboration with required peer review is built into the assignment itself.

OOPsensorsteam git-flow LED Button Sensor
Due Nov 20