Hi, friends! Hope that you and your family have a very Merry Christmas. Last week, we celebrated National computer science week. In schools over the world, kids and adults had their first exposure to the fundamentals of computer science: putting commands in order, looping, breaking problems into smaller parts, and decision making. Make sure to check out the great learning resources at Code.org .
I have to confess that Christmas is one of my favorite seasons because of the music. Growing up, my parents provided me and my brother a precious gift of teaching us music. I started playing violin at age five, learned cocktail piano with my mom in high school, and started coaching choirs in college. Music is in my soul. Christmas is just a wonderful time to be a music maker.
There’s a really fun tool by Sam Aaron and University of Cambridge Computer Laboratory that teaches music theory and computer science called Sonic Pi. This tool does an amazing job of helping students understand music theory concepts by building songs with code. The software uses the Ruby programming language and has brief and fun tutorials to inspire the student to make electronic music while coding. You can learn more about Sonic Pi in our blog post here. Sonic Pi runs on Mac, Windows, Linux, and Raspberry Pi.
There’s also a great ebook from our friends at MagPi on Sonic Pi. MagPi is a great resource for students, makers, and parents who enjoy Raspberry Pi.
Here’s your mission if you choose to accept it
I wanted to offer a coding challenge to students, parents, and makers who follow our blog. Try coding up a Christmas or Holiday song. I found that it was a fun exercise since it requires you to think about melody line building, timing, and coding.
To help inspire your imagination, I have coded up the classic song: Silent Night. Download Sonic Pi, copy the code from here into Sonic Pi, and listen. There’s a track for the melody and the track for chords.
Hope you enjoy this challenge! Make sure to share your creations in the comments below!
Silent Night using Sonic Pi / Ruby