Schedule

The camp includes traditional instructional sessions, paper-based activities, and coding on a computer. We also have a mix of co-curricular activities that dovetail with concepts being taught in class. A key objective is to reinforce concepts using multiple activities.

Monday Tuesday Wednesday Thursday Friday
Notebooks English / Spanish English / Spanish English / Spanish English / Spanish English / Spanish
8:30 AM Arrive for Setup Arrive for Setup Arrive for Setup Arrive for Setup Arrive for Setup
9:00 AM Staff Introduction, Tour Be a Binary Number Computer Virus Tag Critial Section Race Sorting
9:30 AM Buddy Groups Jupyter Notebooks Jupyter Notebooks Jupyter Notebooks Jupyter Notebooks
10:00 AM Jupyter Notebooks - - - -
10:30 AM - - - - -
11:00 AM Photographs - - - -
11:30 AM Lunch Break Lunch Break Lunch Break Lunch Break Lunch Break
12:00 PM - - - - -
12:30 PM - - - - -
1:00 PM Zip-Zap-Zoom Truth Tables Data Detectives Data Detectives Speakers
1:30 PM Jupyter Notebooks Jupyter Notebooks Jupyter Notebooks Jupyter Notebooks Jupyter Notebooks
2:00 PM - - - - -
2:30 PM - - - - -
3:00 PM Day Over Day Over Day Over Day Over Day Over

* Backup Games: Binary Bracelets, Huffman Encoding Game, Telephone with CS Terms


Game Rules

    Be a Binary Number
  • Form a team of 8 people (from volunteers)
  • Choose the one at the right end to be the LSB (Least significant bit). Choose the one on the left end to be the MSB (Most significant bit)
  • If someone is ducking, they are a 0. If they are standing up straight, they are a 1
  • Go to each person and tell them their “value” (1, 2, 4, 8, 16, etc.) They should try to remember it. If they forget it, they can be reminded
  • List off some numbers for them to make. Start easy. 16, 128, 2, etc. In response to each number, the team should have people duck and stand until they successfully create the number (give them help if they need it!)
  • List some slightly harder numbers, such as those that require two or more values standing. 33, 10, 5, etc. Give as much help as the team needs. Don’t list any very unintuitive numbers like 173, 219 etc...
  • Form another team of 8 people (from more volunteers)
  • Make them the `not` of the other team - if the corresponding person on the other team is standing, they will duck, and vice versa
  • Tell the new team to make some numbers and have the other team be the not of those numbers
  • Tell the new team to make random numbers, and have the instructors calculate and tell them what their number is as well as what the numbers of the other team are
  • If time permits: Form a third team of 8 people from the remaining people. Have this team be the OR or AND of the two other teams!
    Telephone with CS Terms
  • Organize everyone into a line, close together so that each person can whisper into the ear of another
  • Give a person at one end a CS term or phrase that is relatively wordy (priority queue, binary search, object oriented, etc.)
  • They will then whisper the same phrase into their neighbor’s ear
  • The neighbor will do the same until they reach the last person
  • The last person will announce the term or phrase (and hopefully get it completely wrong)
  • Continue until someone says it right
    Computer Virus Tag
  • This is like regular tag
  • Whoever is 'it' is a computer virus
  • Everyone else is a computer
  • If you get tagged, you crash (lay down)!
    Zip Zap Zoom
  • Form a circle and stand 6 feet away from each other
  • One player starts the game by clap-pointing while saying, "zip," to a player on his or her left
  • That player will clap-point and say, "zap" to a player on his or her right
  • Next, that player will clap-point while saying, "zoom" to someone new. Keep the pattern going
  • Restart if the wrong command is said or someone claps in the wrong direction
    Data Detectives
  • Use SUSTAIN's Aperture tool to find interesting data!
    Truth Table
  • Worksheet coming soon...
    Critial Section Race
  • Randomly form 4 teams of 6 people
  • One person on these teams will be randomly chosen as the runner, one person will be the computer, and the rest will be rollers
  • Each roller is given a dice. The whole team is given a pad of paper, a pen, and a colored marker. A single whiteboard, and eraser are shared between all teams, which is a distance away from the teams
  • When the game starts, a timer is started (for however long you want the game to last). The team whose number is on the whiteboard when the time runs out wins
  • In order for a team to put a number on the whiteboard, they must have each roller roll their dice and the computer sum all of the numbers together. That sum is their team’s number, which the runner will then put on the board. The runner must return to their team immediately after writing down the number
  • When a runner wants to put a number on the board, they must first wait for the pen and eraser to become available if it is being used. Then they will erase any number that is already on the board and put down theirs
    Sorting
  • Form a team of 8 people
  • Shuffle them so they are randomly distributed by height
  • Sort them by height, short on the left and tall on the right, using 4 different strategies
    • Bubble Sort
    • Starting at the first two people, ask them to swap places if they are not in the right order
    • Move on to the next two people, then the next, etc until there are no more groups of two
    • If the group is not yet sorted, repeat
      Insertion Sort
    • Go to each person and ask them to move into sorted place - they will move left until there are only shorter people on the left
    • After asking each person, the group should be sorted
      Selection Sort
    • Get a ninth volunteer
    • Ask them who the shortest person in the group is, and tell them to go to the front
    • Then ask them who the shortest person in the group is *except* all the people that have already been sorted, and tell them to go to the front of the unsorted portion
    • Repeat until sorted
      Merge Sort
    • Split the group into halves of 4
    • Split the first half into groups of 2
    • Tell the first group to swap if they are out of order
    • Repeat on the second group
    • Repeat steps 2-4 on the other half
    • Have everyone come together again, sorted

Jupyter Notebooks

We will be using Jupyter Notebooks as the platform for teaching programming in this camp. The Jupyter Notebook is a web-based interactive computing platform. The notebook combines live code, equations, narrative text, visualizations and more to provide an accessible environment for writing and running code.