Computational Thinking in Brazil

I’ve been fairly quiet recently, but at least I have a decent excuse.

Way back in November, I was asked to help write a computational thinking scheme of work for some Canadian schools called Maple Bear – confusingly, I was told that the scheme would be deployed in Brazil, but I had great fun working with David Wall on 16 simple activities to promote computational thinking and computer science. David had seen me on Twitter and wanted to work with me and I really enjoyed writing the lesson plans with him.

Fast forward to May this year and David sent me another email to see if I’d be able to travel to Brazil for two weeks of training with Maple Bear. Every year the Brazilian teachers are invited to Central training in July and January (winter and summer break) to learn pedagogical skills for maths, English and science as well as school leadership training and they’d decided that this year they wanted to include computational thinking as one of their core training sessions. David had done a two-day session in the summer (January) with some specially selected participants, but they wanted to open it up to the rest of the teachers for their winter training which meant that I was invited to São Paulo to help out.

logo-mb.jpg

Maple Bear is a really interesting school group – they follow the Canadian curriculum, but don’t have any schools in Canada. From what I could see, they pride themselves on having some of the best and most well-trained staff that they can and the teachers’ passion for their students came across clearly in my sessions. I think that the schools operate as a franchise around the world, but with the majority of them being in Brazil, where they have a reputation for being some of the best schools in the country. To us Brits, it may seem peculiar, but the Portuguese speaking pupils are taught exclusively in English until they reach the age of 7 when some of the teachers deliver their lessons in English, while others deliver in Portuguese. I have to admit to being really impressed with their commitment to delivering top-quality education.

Anyway, my training was planned to be two, two-day sessions in week one at the central training in São Paulo and then two, two-day sessions in individual Maple Bear schools, one in the city of Belo Horizonte, just north of Rio and one way-up in the north-west of Brazil in João Pessoa, a tropical beach-town where winter is characterised by hot weather and torrential rain.

Needless to say, heading out to teach these teachers about Computational Thinking really got me thinking about what we mean by it. I thought about those four key-words that just trip of any CS teachers tongue – Decomposition, Abstraction, Pattern Recognition, Algorithm.

medium.png
Image credit: BBC Bitesize

We call these the cornerstones of computational thinking, but how do we put into words what they actually mean? It’s actually quite difficult to get your head around how to explain abstraction, even when you know what it means, so introducing it to people that are completely unfamiliar with the terms can be quite difficult. For me, I learn best by example and so I immediately thought of activities and examples that would describe these skills, for example, tidying your room is an overwhelming task, but folding your clothes is much less intimidating, or planning to revise for examples over the summer can see terrifying until you break it down into a revision timetable and plan carefully what topic to revise and when.

One of my favourite activities during the training was one I found on code.org – ask the group to add up the numbers 1 to 200 in their heads as quickly as possible, put pressure on them and make them feel stressed. Obviously no one is going to do it, especially if you only give them a few seconds to think about it. Now ask the attendees/students whether anyone actually tried it or whether people gave up – make it clear that it’s ok to have given up.

Now, explain that we are going to decompose the problem by breaking it down a bit. You need to write on the board:

1 + 2 + 3 + .... + 198 + 199 + 200

The next thing we want our users to do is to recognise any patterns in the sum we’ve written up – someone will eventually point out that either you can add 200 + 1 to make 201 repeatedly, or you can add 199 + 1 to make 200 repeatedly.

Now we use abstraction to calculate how many times we’ll need to repeat the sum – depending on whether you’re using 200 or 201, you either need to repeat it 100 times or repeat it 100 times and add 100 one at the end – either way you get 20100 and you’re able to write an algorithm for your sum.

20046576_10158967673480024_1061293103771818250_n

What you’ve done is apply computational thinking to a fairly complex sum in order to calculate it quickly and understand that actually, adding all of the numbers up to 200 is pretty easy.

In fact, on the final set of training in João Pessoa, I started thinking about how you could make the problem more complex and it occurred to me that you could apply the exact same method to adding all of the numbers up to 400, which would then give you the sum 401 x 200, or all of the numbers up to 600 (601 x 300). As you can see, my maths brain got really excited by the application of this puzzle.

For the first day of the training, I wanted to separate the ideas of computer science from computational thinking and so we focused on unplugged computing; I spent weeks searching through the excellent resources on CS Unplugged and Barefoot Computing as well as using the ideas we’d written into our scheme of work. I wanted to focus the training on the teachers having fun as I know that from my experience of Picademy, I was much more enthusiastic about applying what I’d learnt because I’d had time to try it out and play with it myself.

In the second half of the first day, I had planned on demonstrating how you can apply computational thinking to a music lesson by asking students to compose a piece of music and then write a pictorial algorithm for playing it back. As it happened, I’d seen some street performers in São Paulo that really impressed me by playing incredible sounds just using every day objects like bottles and pipes so and so I used this as inspiration for the teachers on the course and asked them to use items in the classroom to create pieces of music.

At each of the four sessions, I was continuously amazed with the musical talent of the teachers, but what I liked even more was how much fun they were clearly all having. It felt like a mask dropping down as the teachers realised that it was ok to relax and enjoy the activity.

At the end of the first day, I was really pleased to be able to talk about some of the people who inspire me and I ended up with three whole pages full of inspiring people from Carrie Anne Philbin to Cerys Lock! I also talked about great software and hardware like Code Club and Raspberry Pi. Check out my slides from the session here.

On the second day of training, the focus was more on software, I spent the morning introducing the teachers to Scratch and the afternoon looking at Active Lit and the amazing Sonic Pi – once again, I focused on keeping the training as fun and as interactive as possible and I love the fact that every single time I introduced Scratch, it was hard work trying to convince the teachers to go on their coffee break because they were having too much fun!! Interestingly, in all four of my sessions, only around 5 teachers in total had ever used Scratch so for most attendees, it was completely new.

I had such an amazing time meeting a diverse range of people in Brazil and I’m grateful to Maple Bear for inviting me over – I hope I get to go back as I was so impressed with how well all of the people on the training absorbed information and demonstrated eagerness to use what they learnt in their schools. I’d be really keen to hear about what lessons they have taught using unplugged suggestions or else introducing Scratch, Sonic Pi or Active Lit. I loved that each teacher seemed to take something different away with them, with some immediately planning unplugged activities, while others were thinking carefully about how to integrate Scratch into their lessons.

IMG_2067.JPG

One of the things that really stood out for me whilst doing this training is that most teachers naturally understand computational thinking, in fact, when you think about the day to day life of a teacher, we are using CT skills on a daily basis without even recognising it. This can be a bit of a trap because we may find ourselves thinkings “oh but I do that already” because the point is that we’re all good teachers because we use computational thinking without thinking. It is a skill that we have developed to become successful, but that doesn’t mean that our students know how to use it; it’s time that we made those implicit skills that make us good teachers explicit for our students’ benefit. We need to make it clear how to use decomposition to make a problem easier to solve or pattern recognition in order to spot how to predict outcomes. We need to make sure that children aren’t growing up with the resilience and toolkit needed to solve the most basic problems.

Our students are not mindless machines, they need to be guided and shown how to help themselves – we can no longer just learn by rote because, as we often quote (or misquote) Richard Riley, the former US director of Education “Education should prepare young people for jobs that do not yet exist, using technology that has not yet been invented, to solve problems of which we are not yet aware”.  How can we confidently prepare our learners for both jobs and technology that does not exist – it’s simple, we can’t, but what we can do is prepare them to be able to cope and to develop the critical thinking skills to manage when a situation is new or unfamiliar. As teachers, we must understand that we are no longer omnipotent and all knowing, there will be pupils, even in the primary school classroom, who know more than we do and that’s ok, because what we do know is how to guide and nurture those students to achieve and become the best that they can… and who knows, maybe one of those pupils will be the one who discovers a cure for cancer, or invents a flying car. Isn’t it nice to know that we were part of that journey?

Travelling to Brazil was an amazing experience and, as a country without any computer science curriculum, I felt honoured to be able to introduce a vision of computer science and computational thinking to around 75 teachers over the course of two weeks; I hope I get to back. Talking to all of the teachers that I met in Brazil really reminded me of why I’m doing all of this and why I love computer science as much as I do. I feel clearer in my own mind about what this journey means to me and what an impact we can make on teachers and students by simply talking about computer science and computational thinking. Thank you Maple Bear for giving me such a wonderful opportunity.

Advertisements

Google AIY…

Ok, before I get started, I wanted to offer a huge thank you to Jamie at The Pi Hut for sorting me out with a copy of the MagPi with the AIY kit. You are a star!

Back in May, the Internet exploded with the news that the MagPi magazine was offering a free Google AIY kit to use with Raspberry Pi. Copies sold out in minutes and people hunted across branches of WHSmiths to try and get their hand on one. Shops got new stock that sold out instantly.

The concept? Google, working with Raspberry Pi, have created a simple voice-interaction module so that you can use your Pi like an Amazon Alexa (but powered by Google).

Naturally, the makersphere exploded with excitement and projects began surfacing across the Internet. Copies of the MagPi were selling on eBay for extortionate prices and people were chattering about what they would create.

I’ve had my copy of the Magpi for a few months, but I wanted to wait until my friend Kirk was visiting as I knew he’d enjoy himself helping us with the making.

IMG_2119.JPG

We pulled the kit out of the box, and being the methodical cool kid that I am, I quickly checked the components against the kit I had. This is where we hit the first hurdle – according to the instructions, we had a ’40-pin header’ that was pre-soldered, but the picture showed the 40 single pins that most definitely weren’t pre-soldered. To further add to the confusion, all of the photos of the accessory board within the tutorial appeared to show the 40 single pins soldered on to the board, but the first line of instructions stated that no soldering was necessary – so which was it? Did we need to solder or not?

Further exploration and a brief skim of the instructions made us realise that we didn’t actually need to solder the extra pins on, but we were pretty confused for a while there. Why show them soldered on if we don’t need them!?

Kirk decided to boot up a pi and start writing the code and it was at this point that we realised that we need a special version of OS. Stuart got pretty grumpy at this point because he only knew how to flash SD cards using a command line and he claimed the image file could only be read using a Linux machine – fortunately, I explained about Etcher and we were back on track.IMG_2127.JPG

Before we got any further, we decided to stop for dinner – it had been an hour already and all we’d managed to do was flash an image and get confused about the components.

IMG_2128.JPG

After dinner, Kirk checked the SD card – success!

We knew we had the right image when the AIY background popped up so Kirk made a start on setting up the AIY API (supposedly the hardest part of the task).

This is where we hit on yet another issue – the new OS image was convinced that we were time travellers and that it was actually January 2018 – Kirk spent quite a bit of time fighting with the date and even tried to just ignore it, but Chrome clearly had other ideas.

I’m not sure what Kirk did, but he managed to get it working eventually, however, the pi was renamed as ‘TimePi’ to represent it’s time-travelling capabilities.

While Kirk got on with the software, I was in charge of building the hardware, while Stuart caused problems by putting things together ahead of the instructions! (Kirk also decided that we need to have a paintbrush in all pictures…each to their own).

IMG_2141

The next instruction that made Stuart cross involved using Scotch tape to hold the microphone in place – firstly the microphone didn’t sit flush unless you really rammed it into the cardboard and secondly, Scotch tape did not stick to the cardboard properly and so I had to go and find some masking tape instead.

Meanwhile, Kirk had successfully managed to set up the Google AIY API so that it worked with one of my Gmail accounts – both boys said it was surprisingly easy, considering this was the part that people had warned me about going wrong. Having said that, both Kirk and Stuart are hugely experienced using Google products so they didn’t use the instructions particularly, it was something they already knew how to do.

Kirk wanted me to point out that he found the software set up quite confusing as there were instructions in the magazine as well as completely different instructions online, but he managed to get everything working eventually and when i came in from loading up the dishwasher, the two boys were arguing over whether they were on instruction 9 or 12 depending on whether they were using the online instructions or the magazine instructions.

At this point I realised that there was absolutely no way that I would have been able to get the software side working without the boys and I became confident that this was not a beginners’ project.

I took this opportunity to make some cocktails, while Stuart got excited about there being a slot in the cardboard to easily add the SD card… simple things 😉

We got the light to turn on, but hit on some problems

IMG_2153.JPG

Stuart dialled in using SSH and we realised that the speaker wasn’t working – on closer inspection, one of the cables that I had previously screwed in had come loose and so we had to pull it apart to refit the cable – personally, I think Stuart knocked it out when he was putting things together in the wrong order, but he claims it was my shoddy building skills!

So, we got the AIY working but were slightly disappointed

Without another add on, we weren’t able to ask the AIY to play music – in fact, it didn’t seem to do much, but the boys got excited and started trying to find out what to do next.IMG_2157.JPG

A bit of hunting and I found a great post on the Raspberry Pi forum which explained how to get the AIY to interact with YouTube. Thanks for posting MikeRR

IMG_2155.PNG

It took a while, but Stuart and Kirk were successful and managed to get techno music playing…

The next step was that Stuart wanted to get Radio 6 music playing through the AIY…Things did not quite go as planned, with the AIY mis-hearing Stuart’s instructions a little bit…

IMG_2499

At this point, I was completely oblivious as to what the boys were doing, which once again affirmed that this wasn’t really a project for me, but rather it was better suited to makers and people with greater understanding of both software and hardware. At least they were having fun.

So, in conclusion, I’m not convinced this Raspberry Pi project is one for schools, but in defence of the MagPi, it was never advertised as an educational project, it’s definitely one that’s more for the makers than the educators. The instructions could have done with a bit of polishing, but I suspect most makers wouldn’t have got as confused as I did by something as simple as a pre-soldered header. Basically, this particularly piece was a bit beyond my ability, but the boys had fun, particularly when they got beyond the most basic stage – it was around 11pm when I eventually kicked Kirk out so they must’ve been really enjoying themselves.

The thing is… now what? We have a built AIY unit, but what do we do with it now, other then get it to play Techno Music…