$ 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 0Week 2

The Maltese Python

A terminal and filesystem scavenger hunt: navigate nested directories to find a hidden file. No programming required — this is your first hands-on session with the command line and Git.

terminalgit
Due Sep 4
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