This week my Year 8 class asked if they could do something festive with me for their last lesson before we break up next week. Now I am not a believer in stopping work just because it is the last week of term, but I thought I could probably give them a Computer Science lesson and easily add a Christmas theme to get the best of both worlds. I gave them the choice of either using Python Turtle art to create festive pictures, or use Sonic Pi to “code” some Christmas music.
The class went for Sonic Pi; so I thought I would share my lesson plan here.
As this group have not used Sonic Pi before I put together an “Introduction to Sonic Pi” presentation which should get them up to speed with the software. I have shameless copied the majority of this introduction from the fantastic resources which the Pi Foundation have made available to us all, specifically this one.
You can view the Google presentation here; if it is of use to you please make a copy for yourself. You can also download it as a Microsoft PowerPoint file in case you don’t have a Google account to save the on-line version to.
After running through the introduction I am then going to show the class this sheet music of Jingle Bells and ask them to write the Sonic Pi code to play Jingle Bells.
There is an assumption here that they already know how long each note lasts for. If your students do not know this information then the Music Theory website has a great page which you can run through the timings of the different notes with your students before setting them going on writing their Jingle Bells code.
For extension tasks you can have your students carry out a quick Google image search for “Christmas Music Scores” and pick another song to try to code.
Finish the lesson by having the class share their Sonic Pi creations with everyone else. You could either move a pair of speakers around the class or have them email their code across to your machine and run it from the teacher’s computer.
I am going to run this lesson on our Windows PCs but it would work just as well using Raspberry Pis; just don’t forget to get your group to bring their headphones!