Click on a project to run it in your browser. (Please be patient – some projects take 15 to 20 seconds to load.)

Note: These projects and many others come with the stand-alone GP application. To explore them, download the GP application, start it, and click the “open” button. The stand-alone GP application is faster and can do things the browser version can’t, such as reading and writing files and accessing the serial port.

Warhol Effect: This special effect renders a picture using only three colors, reminiscent of the famous posterized images of Marilyn Monroe created by Andy Warhol in 1962 (

Rabbits and Grass: This ecological simulation shows the shifting balance between grass and rabbits. Initially, there is only one rabbit and the grass grows quickly. When the rabbit has eaten enough grass, it spawns another rabbit which may, when it has eaten enough, spawn new rabbits itself. Soon there are many rabbits eating grass and the grass cannot grow fast enough, resulting in overgrazing. Rabbits that don’t manage to eat enough grass die (turn black, then disappear). As the rabbit population declines, the grass is able to regrow and the cycle begins again.

Piano Roll: This advanced project allows the user to select and play different pieces of music (MIDI files). The notes of the piece are displayed as colorful bars that scroll across the screen as the music plays. Individual tracks can be turned on and off, and the instrument for each track can be changed by clicking on the instrument name. This project just focuses on controlling and displaying the musical score as it plays. However, the underlying code for reading the MIDI file, playing the score, and even generating the sound samples is all written GP, and can be explored and modified as users grow in experience.

Ferris Wheel: The speed and size of this animated ferris wheel can be controlled using the arrow keys. The ferris wheel is a composite object, built by combining the triangular base, wheel, and eight individual car instances.

Sorting: This project explores several ways to sort a set of numbers (visualized as green bars) into ascending order. Three different sorting algorithms are implemented and visualized as they run. One of them becomes noticeably faster as the number of things being sorted grows. Sorting algorithms are often used to introduce important computer science ideas such as algorithm analysis and scalability.

Mirror Paint: Explore symmetry with this simple painting program that uses a second paint brush whose motion mirrors that of the brush controlled by the user by inverting the sign of the mouse x position.

Sound Visualizer: The sound visualizer displays the waveform of sound from the computer microphone. Users can sing, whistle, talk, or clap to see how the waveform changes. The space key toggles to a view of the frequency spectrum of the sound. Low pitched sounds make peaks on the left side while high pitched sounds and hissing noises cause activity on the right side of the graph.

(Sound input is supported by Chrome and Firefox but not yet by Safari.)

Dots: This art project works nicely in full-screen mode. Moving the mouse around reveals colorful dots against a black background.