Today I went with my STEM Ambassador hat on to a secondary school in Essex, to help out at a lunchtime science club, and to help launch a Raspberry Pi aspect in their existing after school STEM club.
The science teacher had mentioned at an assembly this week that the school were looking into getting some Raspberry Pi computers for use in the after school club, and if anyone was interested, to get in contact. I don’t think she was quite prepared for what was to follow!
She told me that since that assembly announcement, she had queues of kids coming up to her in the corridor asking to join the club, boys and girls, Year 8 to Year 11. She said the interest was huge!
In the lunchtime meet-up today, a lot of them came along, and I had crowds of kids swarming around me as I held up the Raspberry Pi in it’s lovely colourful PiBow box, asking all sorts of questions such as “how much are they”, “where can I buy one”, “what other bits do I need”, “what can I do with it”, and my all time favorite was “did you design it?” – of which I had to reply “no, I didn’t, but I’ve met the man who did, and he’s a very nice man indeed!”
One or two of the kids already had their own Pi’s and brought them in to show the rest of the class, and for me, I think this was a really good way for the others to learn about it – the school has an active and effective student mentoring programme where the older kids help the younger ones, and I could see this shining through here. The older kids were explaining what sorts of things you could use the Pi for, and all the opportunities that it opened up. There were many buzzy conversations going on about ideas of projects they could now do in the club. Minecraft is a huge win with the kids, and when I mentioned this project to them, they started generating all sorts of ideas of projects they could do: Minecraft, Raspberry Pi and PiFace
There was also a huge sense of ownership from the existing STEM club members, and a couple of the younger kids were really laughing at some of the puns you can make with the “Pi” name and started to make a list “as easy as Pi” for example. They then rushed off over to one of the laptops and made a poster with a picture of a Raspberry Pi logo on it and an invite to “join our STEM club”, which was churning out of the printer ready to be posted all over the school walls. Here was that word again – “our” STEM club.
I do have many conversations with people throughout the week about the penetration of the Pi into schools, and one conversation in particular came to mind today as I saw the boundless enthusiasm these kids had about their new addition to the club. “The Raspberry Pi puts computing back into the hands of the kids” – how true. These kids were proud to be a member of “our club” and really excited that they were going to start using the Raspberry Pi and wanted to tell the whole school about it.
I was also encouraged to see some girls turn up at the club, and I had a bit of a crowd of them at one point asking me lots of questions about what you can do with the Pi, how much it costs, and where they can buy one.
Doing something real with it
We hadn’t really planned anything specific to do with the Pi for the after school session, but I borrowed an idea from @teknoteacher and started very simple with a python “type in your name” program.
Some of the Year 7′s came over to me and I showed them a few lines of python, and then let them alter the program themselves. First it was “what is your name” followed by “hello fred” (or whatever they typed in). Soon we progressed to asking for their age, telling the user how old they would be next year, and even putting in a couple of ‘if’ statements to display age related statements – the kids had endless fun with this. But, more importantly, I really could for the first time see at last why Python was the right language choice for the Pi.
I had been a bit skeptical of Python at first, perhaps because I saw it as a geeky scripting language with lots of advanced features and dark areas – and there are many dark corners of Python if you are not careful. It is a very powerful and expressive language with lots of clever short cuts.
However, what was really clear to me today seeing these kids adding to our two line “what is your name” program, was that Python is a great incremental language. By this, I mean that you only need to learn the bit that you need to learn to get the job done. Unlike some other languages I could mention (but won’t, at a risk of offending the evangelists of those languages!), if all you need to do is print something out, that’s all you need to learn.
As a learning tool this is perfect. It means you can introduce new features of the language and new concepts gradually, and you don’t have to explain too much other stuff in order to explain that concept.
Preparing for a Raspberry Pi Club
I’m forming a picture now of this whole Raspberry Pi story, and one of the things that I think is missing (or I haven’t found yet), is we almost need a recipe for “things you need to launch a Pi club”. For the busy classroom teacher, (and my, they are so busy you would not imagine), there is no time to develop resources, especially for after school clubs. There’s a few items that keep popping up that I think if they were well documented, it would be “easy as pi” to launch a Pi club (and I think the kids could do it all themselves).
Basically, this boils down to having a shopping list, and having something small but real to do on day 1.
1. You need a few Raspberry Pi’s – I know this sounds obvious, but expecting kids to bring their own won’t give you enough to use. Many of the new entrants are coming along to see what is going on, but to capture them, you need enough Pi’s around that you have a chance of them having a little play, even for a few minutes, in the first session. For schools experimenting with a new club, this pretty much means that the teacher has to buy a couple to prove the concept, and then later on find funding either within the school or via external means to get more. Even if kids do bring their own, you need a couple spare for new joiners to play with to decide if it is for them or not.
2. Power Supplies – I’ve seen a lot of issues with power supplies that are not up to the job. Anything less than about 500mA and expect problems once you start plugging in wifi, HDMI to VGA adaptors and a PiFace. The usual effect of this is strange crashing or strange resetting, repeating keys on the keyboard, or sometimes the screen flashing on and off. Get a good power supply.
3. A stock of pre-prepared SD cards or images – if you buy one of the bundles (e.g. from Maplin) you’ll get one of these, but otherwise you’ll need to spend some time choosing and downloading an image, getting the image writer installed, and burning some cards. You really don’t want to be downloading a multi-megabyte file and burning cards while you have swarms of kids around you asking countless questions. Get a good card image before you start and keep it locally. You can always use the windows imager program to write more cards, but make sure you are happy with your default image.
4. Internet Access – really this is vital to sort out, and there are a few gotchas to watch out for. First, if you use a WiFi adaptor, you’re more prone to power supply dropout problems. The effect I see mostly is the wifi gui keep connecting and then disconnecting repeatedly. Get a really good power supply if you’re going this route. The other problem with Wifi, in schools in particular, is that schools tend not to give the wireless password to kids because they don’t want all their phones connecting up to the school network and causing distractions and bandwidth sag. So in some ways, WiFi is a bit of a no go area, unless you have a club specific router (see my blog on the Raspberry Pi Club Box for a solution to this though).
I can’t stress how important it is though to have internet access. The python docs linked from Idle are just a link to the web. Unless you’re pre-prepared and have cached this locally, it’s a 60MB download per device, or the alternative – no documentation at all. Not great if you are a busy teacher with limited python experience. The way to keep the kids self sufficient is to get them to learn to read the manual from day 1 (really!)
5. Keyboard and Mouse – pretty obvious, but there are some choices here. You might get a set in the bundle (but these will be really cheap ones and both wired, so you won’t have enough USBs without a hub to use WiFi also). Wireless ones are quite nice and the better ones give you a single USB dongle for both (freeing up one for WiFi), but keep a stock of batteries. Some of the cheaper wireless keyboard/mouse sets don’t come with batteries included.
6. Screens – you need lots of these. If you can get screens with HDMI that’s good because you can plug straight in. But most schools have lots of VGA monitors, and the Pi doesn’t support VGA natively on the hardware so you need an adaptor (and one that doesn’t draw too much power). Today I discovered you can buy a HDMI to VGA adaptor for £7.64 from amazon, so they are pretty affordable now if you shop around.
7. PiFace – if you’re going to do any sort of I/O interfacing, you really need something like the PiFace. The GertBoard is lovely, and great for advanced projects, but there is just too much configuration and jumpering to do. The PiFace is smaller and simpler. But, beware, the python libraries are not built in to the standard distribution images yet. You can get a pre-rolled image from their website, but it’s a multi-megabyte download and you don’t want to be doing that with swarms of kids around you. There is a simpler set of 4 commands you can type in to get all the bits you need into your existing image (which I prefer), but again you’re going to need internet access to get this installed.
Unlike the GertBoard (which works out of the box), the PiFace has a SPI (serial) based I/O extender chip, so you need to enable the SPI support and also download the PiFace python libraries to do anything real with it.
8. Something to do on day 1 – I can’t stress this enough. Even a few little python exercises, simple programs that the kids can add to, is enough to get you going. You’ll need some real projects over the coming weeks, but having something simple from day one gets the kids doing something, and you can then get round them all gradually and ask them what ideas they have (and boy, they all had some pretty fantastic ideas already!) and you can start nudging them in the right general direction.
9. Volunteers – you need more than 1 adult in the club really, on the first few sessions anyway. I have found that school technicians are great to have around because they generally have an interest in this sort of thing. Rope in a few extra teachers, there’s always someone with a little bit of experience. And contact your local STEM contract holder and ask them in advance for a STEM Ambassador with some Raspberry Pi experience to come in on the first couple of sessions to help you get started. Typically it can take 2-3 weeks for their normal request cycle to find someone that can help – so start planning early. If you can get someone to come in prior to the club to help set things up, even better.
Once you get the club running, things will get easier – especially if you have some older kids with a bit of experience – schools that employ a mentoring/buddying scheme will do this naturally, but even if you don’t have a formal system it really does work. The older kids do seem to like helping the younger ones, and the younger ones are just so dead keen to learn anything at all.
Remember, all you’re trying to do here is to create the environment where the kids can start to learn for themselves.