Which Classes to Take?

There are three classes described here:

  • Computer Programming Sampler
  • Programming a Text Adventure Game with Python
  • Electronic Music Programming with Sonic Pi and Ruby

Students can take any combination of the three classes, and there will be very little overlap. Computer Programming Sampler is essentially the class from last year. Students from last year could repeat the class, and would probably learn some new things.


Register at the Summer Programs Website. Read more about the summer program.

Computer Programming Sampler

Create cool programs with a variety of projects: 3D graphics and animation, sound and music, speech synthesis and recognition, simple text adventure games, and simulations. Professional programmer Dave Briccetti will guide you through programming in Python, and in JavaScript with the p5.js library, and in creating electronic music using Sonic Pi and the Ruby programming language. No programming experience is required. If you do have experience you’ll still find plenty to challenge you.

See a detailed log from this in-person 2019 summer class, and a shorter log from the online 2020 class.

Programming a Text Adventure Game with Python

The Python programming language is used for data analysis, computer vision, creating games and websites, and much more. We will use Python to create a text adventure game, learning about:

  • Communicating with the user (print, input)
  • Taking action depending on conditions (if)
  • Looping (while, for)
  • Making events happen randomly in games (random module)
  • Storing data in various ways (tuple, list, dictionary)

Electronic Music Programming with Sonic Pi and Ruby

Sonic Pi is an application for making electronic music using the Ruby programming language. Some experience reading and playing music would be helpful, but is not required. The main purpose of the class is to develop programming skills, but the bonus will be some cool music and sounds. Take a look at the examples on the Sonic Pi website. Check out Tron Bikes!

We’ll cover:

  • The basics of the Ruby programming language: loops, conditions, functions, variables
  • How sounds and pitches are produced, and how we hear them
  • Making sounds with a variety of Sonic Pi’s synthesizers and samples
  • Effects like reverberation, slicing, and panning