Thursday 3 July 2014

Making music with Y5s




We had our Y5 Day at school last week. After tweeting about the day using Sonic Pi I had a couple of requests for information about what I did. So I have documented the plan and my observations here.

We were given a slot in the creativity strand so I thought this was an ideal opportunity to do something a bit different and engaging. The plan was to make some music with Sonic Pi and teach a bit of programming along the way. I had been given three session each of one hour. I set up the classroom before the students arrived with each Pi already hooked up and running Sonic Pi v2.0 (from my Picademy SD card image).

I had an interactive whiteboard with simple display software (ActivInspire on a Promethean board) to allow me to write on the board. Unfortunately I was not able to display my Pi screen to the students using the projector. So I had a large monitor that the students could see when they initially gathered around a central table for the introduction.

The plan was heavily based on the Picademy session delivered by Dr Sam Aaron and Carrie Ann Philbin.  I also used the Sonic Pi article in  Magpie issue 23 as a reference.

The Plan

Introduction - (approx 5 min)

Find out who had done any programming before or used scratch (to adapt the complexity and to be used later as an example if they knew how to do things in scratch)

Introduce Sonic Pi, show a quick example of what can be done using a preprogrammed routine or one of the example scripts. Show what happens when some of the parameters are changed by getting students to change them.

Activity 1 - (approx 15 min)

Explain simple play and sleep commands, write some examples on the board.

e.g.
play 68
sleep 1
play 58
sleep 1


Students to experiment with their own simple tunes, and with changing the midi numbers and sleep durations.

Activity 2 - (approx 10 min)

Explain that to get a tune we often have repeated elements.Explain that this could be done by retyping the code but this would not be efficient.

Introduce loops (if some have prior knowledge of scratch ask them what we do in scratch to do this - put 'forever' around the code) show students how this is done with Sonic Pi. I did this by adding the loop do to the code I had written on the board earlier to show how it wrapped round the code like the 'forever' in scratch.

e.g.
loop do
      play 68
      sleep 1
      play 58
      sleep 1
end

Students to experiment adding loops to their code.

N.B. at this point I had some students asking 'what if i only want to repeat it x times?' so I added an adhoc extra activity to explain.

Activity 2a - (approx 10 min)

Explain that we might want to repeat a specified number of times instead of keep looping forever. Explain that this can be done with '.times do'. Again I used the code I had on the board to show how this worked removing the loop do and adding the new command

e.g.
3.times do
      play 68
      sleep 1
      play 58
      sleep 1
end

Students to experiment with repeating a specified number of times. 

Activity 3 - (approx 10 min)

Introduce the 'sample' command. I used a new slide on my display to show an example sample command then asked students what we would do if we wanted it to loop.

e.g.
sample :loop_amen
sleep 1.753

this then became

loop do
    sample :loop_amen
    sleep 1.753
end

Students to experiment with adding samples

Activity 4 - (approx 10 min)

Introduce the examples to students. Show them where to find the examples and synth information using 'Help'. Remind them that the numbers in blue are parameters that can be changed.

Students to experiment with the use_synth command and using example blocks. Put together a small piece of music

Plenary - (approx 5 min)

Quick reminder of the main learning points; sequencing, loops efficiency....

Play out students work (or some examples if not enough time) to rest of the class.


Show and Tell

At the end of the day there was a 'show and tell' assembly where parents of the y6 pupils, the primary school staff and the Y7s and staff who helped on the day were invited to hear about what the students had been doing.

Each school chose a couple of volunteer students to show what they had been doing in the last session. For the students who were in my last session this included a performance of their music in the hall. This was especially well received and really showed what could be achieved in a very short time by students who had no previous experience with Sonic Pi (or in most case any written programming at all).

How it went

The sessions on the whole worked well. We had a limited number of working Rapsberry Pi set-ups and with some groups that made it difficult to get everyone fully involved; for some large groups we had some groups of four working with one Pi. This was due to a number of factors but mainly due to a batch of corrupted memory cards and limited capacity to build new cards at short notice. For next time I am going to ensure I have plenty of spare cards on standby.

We also did not have any headphone splitters so they had to pass around the headphones to hear the results. This was again a bit challenging in the large groups, but where there were groups of three or less it actually worked really well as the students were discussing what they were typing then listening to the results in turn. This promoted more active group working and lots of discussion about what do add to their programs. We are intending to purchase some of the splitters to enable a 1:1 headphone assignment, but I may be using these only after I have the groups working well or remove them if I find that the wearing of headphones is reducing this productive interaction.

I was really pleased that all of the groups produced reasonable credible music products during the sessions. There were even some groups who were moving ahead so I had them experimenting with threading. Overall the day was really successful in getting students to be creative and engaging them in learning some computer science. 

Gender Bias

I was interested to see that during the sessions there was no noticeable gender split in the engagement of pupils. The girls and boys seemed to be equally engaged in creating music, where in previous sessions (robotics based) there was a noticable split with more boys being engaged than girls. I am unsure if this was solely because of the nature of the activity or other factors (e.g. in a different school, age of the pupils). It will be interesting to see if this is the same when we implement this as part of our standard curriculum next year.

Other options and resources

I had a bit of a short lead time to deliver the session so didn't have any time for additional research so I used the Session that Dr Sam Aaron delivered at Picademy as my main inspiration. However I have since discovered that there is now a Sonic Pi taster activity on the Raspberry Pi website. This provides a fairly good introduction that I could have used.

I did use v2.0 for these session but you could do very a similar type of session with the current release (or you could download the latest release candidate of v2.0).

The full Sonic Pi scheme of work is available on the Raspberry Pi website and you could use the first lesson from that scheme as an alternative (the scheme is currently written for Sonic PI v1 but will be updated once v2.0 is fully released).

For support with Sonic Pi Dr Sam Aaron has a dedicated Sonic Pi Google+ group. There is also the Sonic Pi website for more information. The Raspberry Pi official forums are also a great resource for support from the community. They even have a dedicated education section.

No comments:

Post a Comment