PyConUK is a very unique experience. I must admit, it’s the only programmer conference I have ever been to, but compared to educational conferences that I attend – PyConUK has a very different feel. This year was my third visit to PyCon as a Teacher and I still notice it.
What is PyConUK?
If you’ve never been to PyCon, then it’s hard to explain. As a teacher, when I talk to colleagues, they often imagine a place where they’d feel isolated and stupid as someone who only has limited programming knowledge. They also may look at me and say something like ‘you’re so clever to be able to go somewhere like that’ and actually this shows just how different from expectations PyCon is!
PyCon is an incredibly welcoming place. From the initial, ‘introduction’ explaining the brief purpose of the conference and its origins everyone is welcomed. And everyone is made to feel welcome. Little things like the fact that PyConUK has a Code of Conduct to set its expectations. Everyone at PyCon is incredibly friendly – no matter your level of experience with Python, your job role, your confidence at code – everyone will chat to you.
Why should we go to PyConUK?
Before I go much further, I should probably tackle the question of ‘You’re a Primary School teacher, why would you need to use Python in school?’ This is something that I am frequently asked and the answer is that I don’t have to, however, there are lots of reasons and discussions about why I teach primary school aged children Python and why I think it’s important to understand something like Python even if I don’t teach it! For a more detailed discussion, see this post ‘Why Python?’ and this post ‘Transitioning from block-based programming to text-based programming’.
When writing this, I looked through a previous post I wrote on PyConUK 2014! If you’re interested, check it out here.
What was nicer this time, was that we (meaning the educators and teachers) were in the same building as the main conference, so it was much easier for developers to ‘drop in’ and say hi. This meant that there was much more movement between the groups. It was also a beautiful building:
I started my day with a reminder of how to make games using PyGame Zero – something which I have done before, but haven’t done regularly and wanted the reminder. This was a good session with Dave Ames and involved building a ‘Pacman’ game. Looking through it, I was deciding whether or not PyGame Zero (a simplified version of PyGame) would be appropriate in primary. I came to the conclusion that the code was probably too much for a primary school child to write. However, I could make a dummy Pacman level and get them to go through the code and change it – showing they had some recognition and understanding of the code even if it would take them ages to type it! I didn’t get very far (but I did get a handy worksheet that I took for use with Digital Leaders in the future) because my talk was half way through the session in the other room.
My session was something that started as a discussion at PyConUK 2015. Should we teach primary school children Python? We had a lot of pros and cons about whether it was necessary, whether it was actually detrimental to their understanding and how we teach it. This planted a seed which started to grow as I was reflecting on my decision to teach Python in primary, but also how I make that transition from Scratch to Python. This then turned into my session and more information is here.
After this a few people spoke to me and asked me to share my resources (they are available at the link above too) which was lovely and I was also shown ‘CodeForLife‘, which progresses through from block-based programming controlling a vehicle and into Python later on. It was really nice to see that other people are also thinking about this transition and how best to introduce them to children.
The next two sessions were Hacking Minecraft with Sarah Zaman & Dave Ames and Modules, Functions and Classes with Martin O’Hanlon. Both of these sounded interesting so I planned to dip in and out, but as often happens at a conference I got distracted talking to some other attendees. Primarily, Andrew Mulholland who was telling me about how amazing MozFest is going to be! I am very jealous as unfortunately I am not able to attend this year (but I have told him to put my name down for 2017!).
He started off by showing us ‘Mu’ which is a MicroPython code editor created for new programmers to be super intuitive and easy. I first saw it demoed at the Raspberry Pi Birthday Party 2016 and it really is great. The buttons are clear, the process of writing code is simple – it suggests commands you’re looking for and you can ask it for possible actions. You can run your code straight away without having to download and drag files and makes the whole process much more seamless. Check out the website here.
Nicholas showed us how you could very simply use the LED matrix on the microbit to allow you to draw pixel art. He then showed us a whole bank of designs that had been created and were included in the Python library. Making use of the other functionality on the Microbit, you could use the buttons to change the picture or shake it to get a reaction. Next, he went on to show us how the Microbit can make noise if you connect the audio jack to the Microbit using crocodile clips or special adaptors. The Microbit was able to speak words and phrases (amazing) as well as being able to ‘sing’ words. This immediately screamed ‘Siri’ at me which children will love. Nicholas then showed us how children can compose their own music using notes, but also how you can use the Microbit as its own musical instrument. Using the tilt sensor you can make it so as you tip the Microbit left to right the musical notes change.
On a random note, at lunchtime I was desperately hunting a cup of tea (apparently they only served juice and water with lunch) and went to ask the guys at the front desk if they knew where the nearest coffee shop was. Whilst I was asking, someone overheard and said they also wanted tea and more people heard. In the end, a group of about 7 of us ended to the local Costa to get teas/coffees. This is another example of how friendly PyCon is. We’d not met before, but here we were getting a drink together at lunchtime!
Adopt a Developer
The afternoon is the one of my favourite parts of PyCon as it’s where teachers and developers can work together to make a difference. I didn’t go to PyCon with any specific ‘problems’ that I wanted to talk through, but instead thought I’d see what was suggested – I wasn’t disappointed. I started off talking to Daniel Pope about PyGame Zero following my experiences with it in the session earlier. I asked if he would be able to make projects in Scratch and PyGame so that as a teacher I could model the parallels between the two e.g. these Scratch blocks control the movement, this section of Python controls the movements etc. He and a few others then set to work creating ‘Flappy Bird’ in both to allow the similarities and differences to be discussed!
I then spoke to several people about showing children in year 6 that computers use binary, sent as electrical current, through a circuit by using an LED or two to show on and off. We discussed the potential use of boolean operators to add complexity to the signal. This is an idea I am still pondering at the moment – we will see what comes of it!
I ended the day spending the evening with Nic Hughes and had great fun talking through what we were both up to and the projects we’d been involved in! We even got to share some board game geekiness!
The following PyCon Day is also amazingly fun – kids day. This is where children (of any age) come to PyCon and learn to program in Python. There’s a random assortment of abilities, from those that have worked on lots of projects to those who have done very little and they are all kindly supported by their parents, an array of developers and teachers who have been asked to stay if they can to help out.
Throughout the day there are various workshops for the children from programming Minecraft to using PiCamera to take ‘Snapchats’ as well as workshops using PyGame Zero and Microbits. Everyone else was dipping in and helping the children when they needed it and encouraging them to ‘think big!’
At this point, Nicholas and I were running a session for parents titled – Python for Parents: Because you have no idea what just happened but now your kids are enthusiastic and keep asking questions! This was a great session as there was an interesting mix of people, some were parents who could already program, but wanted to know how best to support their children when learning those skills, others had no idea and just came along because their child wanted to!
We focused our discussion on this:
- What the hell is Python and why is it important?
- Why do you keep mentioning the community?
- How best can I support my child?
- What could go wrong and what should I do if/when it does?
- Where can *I* find out more about Python.
Now I’m not going to go into the ins and outs of all that we discussed, but I think from a supportive standpoint there is a ‘Why Python?’ blogpost brewing in my head…I might also add a section for parents and teaching trying to support the learning of coding too… we’ll see how I get on!
Then I stayed in for the next session, which was Carrie Anne talking about the importance of Digital Making and what Physical Computing is. Her slides are here:
After this session we returned to the children and found that they were about to be given their very own Microbit…to keep! It was very exciting until Nicholas asked for them to get themselves into height order in the middle of a room with lots of tables/bags/people and a very narrow gap between everything! Anyway, credit where credit is due, the children managed it and it wasn’t such a ridiculous thing for Nick to ask!
Once the children had got their Microbits, the room really came alive. This was a tangible piece of technology that they could explore and learn with. Now cam the choice, did they want to learn the basics (perhaps they were new to Python and wanted to just ‘make anything happen’) or did they want to use the Microbit to control Steve in Minecraft? And off they went, connecting the Microbits to their Raspberry Pi, following instructions and making crazy things happen. It was brilliant. The youngest learner I saw was probably around 4/5 – he was there with older siblings, but with a little help due to the volume of typing, he was very pleased with his Minecraft creation.
What I think always stands out at this point is the peer-to-peer relationships. Other than a few groups of siblings, or friends that came with each other, most the children do not know each other. Now my job during these sessions was to walk around and if anyone got stuck help them review and reflect on their code. So one child called me over and I started to look, they explained what it was doing and what they had done just before and then another child sat on the table piped up ‘Mine did that earlier! I had put too many spaces in!’ and that was it, they were off… I had barely opened my mouth in this time! That is the kind of learning relationships we need to see more of!
After lunch on the kids day is very similar to the teachers day. They think of something they want to do or something they want to explore further and they do it. There are plenty of adults around who can offer ideas and support etc. and what they create is always amazing! Here is a snapshot which you can see the show and tell projects some of the children created:
Just to end, it is amazing what children can do when you give them the freedom and the support to make their ideas happen.
I have to add that as I was desperately trying to reach the train station at the end of PyCon UK and ended up being stopped by about a million people who were watching a giant peach breach Cardiff castle’s walls…