
SCU:BA / Summer 2026
Welcome to the landing page for SCUBA 2026. Please have a look around!
Here's an infographic showing where out students are from (by high
school) this summer.
2026 Journal of Lessons and Activities
Week 1
Monday, June 22: Python Basics
↑
What we did today:
- chose usernames and passwords for computers
- were introduced to IDLE for writing Python code
- programmed with Python strings
- programmed with Python lists
- learned about list subscripting (0-based) with square brackets
- learned about == for equality testing
- used conditionals:
if, elif, else
Tuesday, June 23: Functions ↑
What we did today:
- learned how to write functions with return values
- represented UNO cards as lists (e.g.,
["red",6]
- wrote the fundamentals of UNO with functions
- learned the basics of color and text in PIL (Python Image Library)
- drew basic UNO cards with PIL
Wednesday, June 24: Adventure ↑
What we did today:
- learned the PIL coordinate system
- learned interaction with
input
- drew arrows pointing up, down, left and right in PIL
- learned how to build a text adventure game with functions and
input
- used recursion in the text adventure game to handle bad input
Thursday, June 25: Functions Forward↑
What we did today:
- polished the adventure-game programs from the previous day
- reviewed lists and loops
- learned about functions and
return
- completed various puzzles writing functions to consume lists and
compute with them in different ways
Friday, June 26: UNO!↑
What we did today:
- reviewed functions
- completed more functional puzzles
- used a simple representation of an UNO deck (just numbers, not yet special cards)
- implemented an UNO game loop (
while True:), showed each player their hand,
had players draw cards if needed
Week 2
Monday, June 29: UNO continued...↑
What we did today:
- reviewed the basics of game loops
- finished implementing a basic playable UNO game
- tried to solve more programming puzzles
- constructed gradient-based images with loops and PIL
Tuesday, June 30: dictionaries, common methods↑
What we did today:
- introduced Python dictionaries
- learned about standard built-in methods like
split, join, upper and lower
- solved puzzles involving dictionaries and these common methods
Wednesday, July 1: Pygame Basics↑
What we did today:
- learned how to write a basic pygame app that opens a window and quits
- learned about the pygame game loop and pygame events
- used keystrokes to change colors in pygame apps
- used keys to move an object in a pygame window
- practiced reading error messages and debugging
Thursday, July 2: Errors, Pygame, and Classes↑
What we did today:
- continued debugging exercises from the previous day
- began animating a character walking left and right in a pygame window
- began learning about classes and objects with pieces of fruit
Friday, July 3↑
What we did today:
- more programming puzzles
- learned how to cycle animation frames to make character walk left and right
- wrapped character around window edges, Pac-Mac style
Week 3
Monday, July 6↑
What we did today:
- completed "Walker" exercise from the previous day
- took advantage of the beautiful weather to take a long break outdoors
- completed more object-oriented puzzles using examples
including books and libraries, tasks as to-do lists, groceries
and shopping cars
Tuesday, July 7↑
What we did today:
- took individual online assessments on programming fundamentals
- began to talk about gravity and its importance in simple physics modeling
- dropped water balloons out of a 3rd-story window!
- simulated gravity in a "Dropper" application
Wednesday, July 8↑
What we did today:
- updated Dropper to handle bounces on the "floor" and on the "walls"
- talked about how to test whether two balls are colliding with each other
- implemented balls bouncing off each other and exchanging velocities
- approached UNO in an object-oriented programming style
- implemented numbered cards and choosing cards at random from a deck
Thursday, July 9↑
What we did today:
- programming puzzles on paper: lists, dictionaries, strings
- programming puzzles on laptops: syntax (if/elif/else, list subscripting)
Friday, July 10↑
What we did today:
- using our gravity simulator (Dropper) as a starting point, simulated tossing balls up in the air (not just falling)
- had each ball "explode" by spawning many smaller balls when it reached 0 velocity, simulating fireworks
- took a nice long break on the quad
- started working on displaying UNO cards in a game window, in preparation of making a playable game
Week 4
Monday, July 13↑
What we did today:
- completed puzzles about helper functions and folders (directories)
- interactively debugged pygame programs with errors in them
- linked UNO card objects to scanned UNO card graphics to display one card
Tuesday, July 14↑
What we did today:
- incorporated UNO card scans in pygame app for realistic graphics
Wednesday, July 15↑
What we did today:
- more programming puzzles
- used rich to draw ascii-art versions of NBA logos in the terminal
Thursday, July 16↑
What we did today:
- download large public data files from the Divvy bike rental system
- learned about reading data from CSV files
- wrote code to do some analysis on Divvy data
- climbed 271 stairs to the top of the tower at Rockefeller Chapel!
- listened to a live performance of the carillon up high among the bells
- had a high (unfortunately smoky) view of Hyde Park and surroundings from the tower
Friday, July 17↑
What we did today:
- continued with data analysis on large Divvy files
- revisited the Walker project and reorganized the code into classes and objects
Week 5
Monday, July 20↑
What we did today:
- refined the appearance of fireworks in the fireworks app
- added a new background to the fireworks
- added sound effects to the fireworks
- added sound effects to UNO
Tuesday, July 21↑
What we did today:
- Added rigorous checking to the NBA logo program, making sure that standard abbreviations were used (i.e., "chi" and not "chc").
- Extended program to print two team logos side by side in the terminal.
- Began working on final projects in three groups: the text adventure group, the platform golf group, and the multiplayer game group.
Wednesday, July 22: Obama Presidential Center and Environs↑
What we did today:
- walked from Hillel to the Obama Presidential Center
- walked from OPC to the Osaka Garden
- walked from Osaka Garden to the 57th Street Beach
Thursday, July 23↑
What we did today:
- Began to explore large public data sets from Divvy.
- Continued work on the three end-of-program projects (text adventure, golf, UNO).
Friday, July 24↑
What we did today:
- Wrapped up exploration and light analysis of Divvy data.
- Continued work on end-of-program projects.
Week 6
Monday, July 27↑
What we did today:
- Began work on a 2-player game of Pong.
- Continued work on end-of-program projects.
Tuesday, July 28↑
What we did today:
- Added scoring, sound and acceleration to Pong.
- Continued work on end-of-program projects.
Wednesday, July 29↑
What we did today:
- Leared about the Bokeh package for data visualization.
- Continued work on end-of-program projects.
Thursday, July 30↑
What we did today:
- put the finishing touches on final projects
- went to the quad to enjoy the beautiful weather
- learned how to boot the laptops into Windows
Friday, July 31: Last Day Gathering and Celebration↑
What we did today:
- Students and their families gathered for demos of students' work.
- Ate pizza!
- Celebrated.