CODE CAMP: Summer 2015
Workshops facilitated by: Sven Travis, Michie Pagulayan, Kunal Jain, Julie Huynh, and Douglas Tran
Code Camp is a five-day introductory workshop taught in the summer of 2015 to a group of freshmen and sophomores from the Maker Academy—a week long journey of exploration and creativity. It was held at Parsons School of Design in New York implementing the lesson plans on Sonic Pi co-written with Shakti MB based on the week-long workshop planning outline created by the team led by Sven, Michie, and Kunal. This workshop is part of a series of planned workshops in India, China, Philippines and the U.S.
Code Camp is a two-part workshop with a morning session on Sonic Pi and an afternoon session on a more direct programming language using Processing to gauge learning within in comparison to Sonic Pi. The overarching goal was to provide ways for students to create an audio-visual piece at the end of the week-long workshop.
New York City as the location of this workshop is in stark contrast to the previous mini-workshop conducted in Gurgaon, India, where participating students came from rural/semi-urban families with very rudimentary exposure to consumer technology. Code Camp participants are New York City residents at a very high level of comfort using handheld devices and popular personal tech gadgets. The students were also a from an older age group (8th and 9th graders) which also affected how they would perceive the workshop exercises. These led to a different challenge of introducing a new low-level approach for pedagogy while keeping them involved at all times.
CHALLENGES + CLASS STRUCTURE
The Maker Academy students came with no experience using Raspberry Pi computers nor the Sonic Pi programming environment, but by the end of the week-long workshop, they were able to hook up the Raspberry Pi computers on their own and code their melodies with Sonic Pi.
The first few days began with ice breaker activities to create a comfortable environment for the students. The class started with a warm-up exercise where students were assigned a code function or term and then acted out the code in their turn. The first day covered equipment set-up—setting up the Raspberry Pi computers which the students caught on quickly, and were able to set-up themselves by the second or third day. After set-up, a brief run through of the Sonic Pi GUI and basic code terms were covered, and an example was shown while students followed along on their computers. Since the students worked in groups, they would alternate who typed so that everyone would have a chance to learn through live coding. Once the new terms were taught, students were given an in-class assignment to review the terms they learned and created their masterpiece using the new terms.
The age group of freshmen and sophomores posed a challenge of keeping the students engaged, so we rotated the group members to feel out which students worked well with each other. Some students who knew each other or became friends during the experience were sometimes distracted with socializing, but in the environment of friends, the students were comfortable enough to ask questions and help each other. Although the group structure had a loophole of not every student participating in typing, the challenge of creating a better song than their opposing teams gave the students motivation to work together and create a complete compilation.
The workshop was conducted over five days with three-hour sessions each day. There was an initial reluctance to get physically involved with dissembling and reassembling the Pi setup and some general tech-related issues. But many students were able to help each other out through the typical hurdles. Setting them up in teams also helped in many ways but also led to a few non-contributing members. However, with the introduction of sound and music, most students got deeply involved in building music compositions and were able to bring in their personal tastes into their code. The progressive addition of more complex functions, over the next few days, was quite gradual and natural, which helped them resolve many issues they had been struggling with the previous day. By the end of the workshop sessions, students were able to code melodies from scratch, but also use pre-recorded samples to create a final composition. The workshops were designed for four groups, each group of three to four students. Students were able to work collaboratively, though some students caught on faster than others, the more advanced students aided their classmates.
The challenges faced in the first week long workshop taught us the pros and cons of teaching coding through music in groups, but the pros outweighed our difficulties. The team spirit and competition of creating a good song, beat, or melody by the last class demonstrated the strengths of having the students work in teams. The students were able to understand basic programming concepts by applying them in creating their compositions. Though finding the right groups for the students to work proved to be a learning experience, teaching them in groups allowed the students to help each other, and further aided their bond with one another. The groups were able to complete complex songs with variations by the end, and they expressed wanting to make their songs better, even though they had already accomplished so much within one week. We hope this experience will broaden their view of what they can accomplish with code and be excited to learn and create more with code in general.
Adding the Processing component into the workshop mix was unsuccessful. It could’ve been the timing being right after lunch or having programming sessions back to back that led students to be less engaged in the second part of the workshop session. The Processing lesson plans were also directly taken from the first section of the graduate summer intensive program on ‘intro to programming’ that might benefit from a revision or paring down to appeal to a younger age group. It was initially intended to gauge the learning experience in comparison to that of Sonic Pi, but more thought and consideration should be added to the visual component lesson plans in any future workshops, if ever.
This five-day workshop followed a more detailed structure as compared with the previous workshop in India. It was also built as a control test to gauge how students with more exposure and comfort with technology would view a learning format based on the Sonic Pi.
As outlined above, the workshop on Sonic Pi was quite successful in teaching basic concept of a programming language through its implementation in creating music compositions. Future workshops will build from this workshop and also implement the TripleC platform to guide the students through such an environment since a large part of this workshop is also understanding the concept of sharing and privacy in a networked environment.