Music and Coding at the YMCA in Malden

Thanks to grant funding by the Mass Cultural Council, we were able to provide a “Learn Music and Coding” class at the Malden YMCA.

YMCA in partnership with MCC.

Note about documentation

Devin Ulibarri, the class teacher for “Learn Music and Code” at YMCA Malden, collected documentation as he prepared laptops for the class, prepared the classroom, and after teaching classes. In order to create an atmosphere conducive to teaching and learning as well as to respect student privacy, Devin did not take pictures of students as they were working. Therefore, you will not see images of students as they are working, although you will see pictures of some of their work.

The Space

A transformed computer room with donated computers running free/libre software.

Computer Room at YMCA Malden ready for “Learn Music and Coding” class. Computers supplied by Free Computer Labs (www.freecomputerlabs.org)

As any teacher will tell you, space is critical to a good learning environment. Teacher, Devin Ulibarri, visited the Malden YMCA several times to prepare a computer room for learning. Computers were supplied by Free Computer Labs (FCL), which donated and lent computers at no cost to the Malden YMCA. Each computer is running GNU/Linux because free/libre software is the best choice for education.

Why GNU/Linux?

GNU/Linux grants freedoms to use, copy, and study its code as well as the freedom to modify and redistribute modified versions of the code. All of these things are good for education as it allows students to study and contribute to the tools they are using.

Installation of Ubuntu Studio, a distribution of GNU/Linux
An image of the Ubuntu Studio desktop.
Utilizing GNU/Linux allows students to access the command line by default, which in turn gives them powerful tools to control the computer directly. This by itself is good for education by removing some of the mystery as to how the computer works. Moreover, students are free to study all the source code of this particular distribution of GNU/Linux.

Music Blocks

Music Blocks software was used to introduce both musical and coding concepts to students of the “Learn Music and Coding” classes at the Malden YMCA.

Students started with the musical concepts of pitch and note value.

Music Blocks running on the newly installed Ubuntu Studio computer.

Different combinations of pitch and rhythm (note value patterns) create melodies. Students were encouraged and guided to create their own melodies with Music Blocks.

Preliminary work by a student.

In order to reinforce concepts utilized on the computer, we did activities every class that engaged the students through movement, clapping, and singing as well as exploring the underlying theory.

Image of the class white board. We always supplemented a computer activity with other activities.
Close-up of the whiteboard. For this activity, students were asked to step in place (on 1, 2, 3, 4) and clap their hands at the circled beats. This activity reinforces comprehension of rhythm.

Students were also challenged to read graphical notation, which is a simplified musical notation. In order to understand the more complex standard Western notation students need the same skills one uses to read a graph. The simplified graphical notation strips the more complex features of standard notation (e.g. modifiers such as “sharp” and “flat”, note value is completely visual with no symbols, and pitches are all in spaces–no difference between lines and spaces). This allows for students unfamiliar with Western notation and students who have not yet studied music to focus directly on pitch/sound over time–the foundation of musical ideas.

Student’s transcribed visual notation using Music Blocks. This picture shows the student’s transcription on the screen and a graphical notation handout of the first part of “Ode to Joy”.

Once students had created music that they liked, they created standard sheet music using lilypond software. Music Blocks software exports projects to lilypond format, so students were able to see what their creations look like in standard notation. There are many similarities to the simpler graphical notation used in class, so students were able to use their understanding of the basic concepts to start to read and understand standard notation.

Furthermore, the lilypond output also familiarizes students with another representation of their musical ideas that prepares them for reading computer code. Lilypond software is not a graphical program. Students must type their music per certain specifications of a kind of “musical code”. Lilypond software interprets the code (much like a web browser interprets HTML) and generates output based on the user’s input.

Sheet Music output of a student’s transcription of “Old McDonald Had a Farm”.
The same student remixed “Old McDonald” in their own way and created sheet music using Lilypond software.

Hacking Music Blocks

One of the more ambitious students in one of the classes expressed desire to modify Music Blocks’ source code, which they are free to do as per its license. Devin Ulibarri guided the student in creating a new musical mode by modifying some of the javascript code. The student created a new mode named after himself, which appeared in the program. The student seemed very happy at this accomplishment.

Conclusion

The students seemed to have a good time. Devin observed that students who expressed more confidence in science and math were able to leverage that confidence to learn concepts important to music. Likewise, students who expressed more confidence in music were surprised that they could use their knowledge to understand computers and coding better.

Students received USB drives with a copy of Music Blocks software as well as their Music Blocks creations, and they were all encouraged to continue exploring coding and music on their own.