Hip-Hop Coding: Exploring the Connections Between Computational Thinking and Hip-Hop Culture
Since its 1970s Bronx origins, hip-hop culture has been driven by youth and the appropriation of technologies and cultural materials for creative expression. Leveraging media technologies, minority youth living in post-industrial New York City developed a range of innovations in fashion, music, dance, and writing. From the creation of new rhythms by playing vinyl records on turntables to the urban circulation of graffiti writing on the surfaces of trains, youth have been empowered by hip-hop to raise their voice, express their ideas through unique styles, and use technology in unexpected ways.
Although terms such as looping, remixing, and sequencing are common to the language of both hip-hop production and coding, the relationships between these two techno-cultural worlds have largely remained unexamined. One of the highlights of the Hip-Hop and Scratch Coding Summit that took place last month in Cleveland, Ohio was precisely the exploration of those relationships through a series of hands-on activities and conversations with teachers, after-school facilitators, librarians, and hip-hop educators from all over the U.S.
Co-hosted by the MIT Scratch team and Progressive Arts Alliance, and with the support of Berkman Klein Center for Internet and Society, and UC-Irvine’s DML Research Hub, the summit consisted in a combination of hip-hop and coding workshops. Participants learned and practiced breakdance dance moves and beat counting, played with physical sensors, took photographs of themselves, tinkered with code, and designed multimedia projects using the Scratch programming language.
The summit was part of “Coding for All: Interest-Driven Trajectories to Computational Fluency,” a National Science Foundation-funded initiative that is developing new tools and activities to extend the reach of Scratch to social groups underrepresented in computing. One of the major goals of the summit was to help educators and other adults working with youth understand how computer programming intersects with hip-hop, and how programming can connect with some of the cultural interests of diverse and minority youth.
Mixing the Four Elements of Hip-Hop with Creative Coding
The Idea Center in downtown Cleveland, with its dance studios and ample conference rooms, offered a versatile space that could be transformed into a safe and collaborative learning environment for the summit. Summit organizers re-arranged the space of the Center using elements of both hip-hop and computer cultures. Graffiti art banners and portable writable walls; a sound-system with turntables, microphones, and big speakers; laptop computers, circuit boards, and co-working desks helped to construct a creative atmosphere.
The four elements of hip-hop (DJ-ing, Graffiti art, MC-ing, and B-boying) were carefully embedded in the learning environment. These elements correspond to the main forms of creative expression youth have developed within the hip-hop movement: music, visuals, oral/rapping, and dance.
By making the four components of hip-hop part of the environment and facilitating the practice of them through both coding and physical activities, the summit organizers encouraged participants to experiment with the relationships between computational thinking and hip-hop culture. Activities such as communal dance circles, computer programming, DJ performances, breakdance lessons, physical computing, and graffiti writing opened a space for thinking about techno-cultural practices that are common to both hip-hop and coding.
From Sequencing Dance Steps to Writing a Computer Algorithm
By design, hands-on activities at the summit emphasized the dance element of hip-hop: b-boying. Also known as breakdancing, this form of expression relies heavily on the use of the human body. The physicality of breakdancing facilitated the discovery of connections between coding and hip-hop. It allowed people to experience with their own bodies how it feels to follow a series of steps and repeat them as a sequence. This type of physical skill can be analogous to those skills required when coding a computer program. Telling one’s body how to perform a dance pattern can be, for example, quite like writing an algorithm.
Summit participants alternated physical dance exercises with coding sessions and went back and forth between hip-hop body expressiveness and computational thinking. In a safe and friendly environment, they had the opportunity to improvise dance steps in communal circles, and participate in lessons on basic breakdancing moves. Learning to perform body movements such as powermoves, downrocks, and freezes was fun and challenging, and allowed participants to taste the expressiveness of b-boying.
During the coding sessions, each participant worked individually with a personal laptop, and sat around tables with at least three other people. The main goal of these activities was to create a multimedia Scratch project in which one could apply the recently acquired knowledge of breakdancing. Participants had to figure out how to make graphical objects move on the screen, and how to create dance patterns like the ones they had made with their own bodies on the physical world. Since many of them were using the Scratch programming language for the first time, they started by tinkering with the “hip-hop dance” microworld, a customized version of the Scratch editor with a small set of blocks (pieces of code) that could be used to create a dance animation.
Although there were no design constraints in terms of what type of Scratch project participants could develop, the majority coded dance animations, featuring themselves as the main character. The decision to create these types of animations was largely due to the use of personal photographs embedded in the structure of the workshops. During the workshops, with the help of facilitators, each participant could take pictures of himself or herself in a photo booth while doing different breakdancing moves. These images then became the raw materials for the Scratch project that each participant created.
When participants were coding their Scratch projects, they had to ensemble a sequence of instructions for animating pictures of themselves to simulate a dance. By doing so, they experimented with creating an algorithm: a list of instructions that a computer can execute. A quick look at the code of any of the projects designed during the summit (all the projects can be seen on this Scratch studio) shows the various algorithms that participants created, as well as the application of other computational thinking concepts, such as sequences and loops.
The code (see image above) of Hutchy Hip Hop project made by Jennifer Foster, for instance, reveals how she applied these computational thinking concepts to animate her character on the screen. In this script, the algorithm is composed of a sequence of instructions that includes a loop that repeats 10 times (Repeat block). This loop makes the character switch costumes (load an image of a specific dance step) four times, with half-second pauses between costume changes.
Hip-hop and Scratch mix well. Exploring the connections between hip-hop and computer programming can open learning pathways in which the cultural interests of minority and diverse youth intersect with computational thinking. The Scratch programming language, with its visual approach to programming and multimedia capabilities, is a powerful tool for discovering those connections and experimenting with them. As the variety of Scratch projects developed by the participants of the Hip-hop and Scratch Coding Summit show, all participants were able to code unique, expressive dance animations while applying computational thinking concepts, such as sequences and loops.
Participants of the summit were positive about implementing similar types of workshops in their local communities, and helping minority youth to connect their cultural interests with coding. They also expressed an interest in exploring how other elements of hip-hop intersect with computer programming and Scratch.
Like breakdancing, other hip-hop forms of expression such as DJ-ing, MC-ing, and graffiti writing rely on advanced technical skills and processes that can be applied and explored with Scratch. Remixing, layering, sequencing, and looping music, for instance, are hip-hop practices that could be implemented through the creation of Scratch projects. Exploring the relationships between these types of expression and the computational skills needed for coding can help to create more inclusive, creative, and engaging pathways towards computer programming.
*This story is reblogged from vVvAlog.