 I'm James, I'm an ex-teacher and I now work for the Raspberry Pi Foundation and I want to talk to you a little bit today about Python UK and in particular the education track that I attended last year. Just before I get started, I'm imagining that the majority of the audience are developers, is that the case, are there any teachers or educators in the room? Awesome, so we've got some educators, awesome. I want to talk a bit about Python UK and to do that, I'm going to just step back a little bit and I will be re-emphasising a few points that Carrie-Anne made in her keynote this morning. But I want to just step back to how I began as a learner. So sometime in the 80s, and we'll keep that vague, I was embarking upon my early education and my mum particularly was very good at supporting me with just exploring the world and finding out things, and she'd often come home and I'd have a theory for about how gravity worked and it was wrong. She'd come home and I'd greet her with a theory. But as kids are, I was keen to investigate, I liked playing with things and so the things that informed my early education were things like LEGO, which I played with for hours on end, followed the manuals, I don't think I had that set, I think I coveted that set, I think I had the smaller version. About the age of eight, I think we got our first family computer, we got the cheaper version of the Commodore 64, this is the Atari 65XE. Technically it was a family computer, but my siblings knew that really it was mine and I made that very abundantly clear. And I began after playing some games, I started using basic and writing some very simple programs. And I was also really into craft, anything, glue, scissors, cardboard, I'd make anything. And I'll come back to this idea in just a second, but I also progressed from basic LEGO, I progressed to technique. A technique I loved and still love. I got technique this year for my birthday and that was the best present that I got, it was awesome. Recently our house has been packed up as it's been doing an extension. My LEGO came out and I was very brilliant, there's my crane thing. But for me the point with LEGO was I didn't just learn about how to connect things, it taught me about mechanical systems. The first kit I got that had a differential gear in, I was like this is amazing, now I understand how a car works, brilliant. And so I learnt so many things from these, again that's the set I coveted and bought when I was 25. So LEGO really informed my early years as well, knitting was something that my mum taught me quite early on. I lost the skill and I've recently almost picked it back up again, I was on a recent trip and I took some knitting with me. As well as starting out with some basic programming, I picked up some of the Osborne books which were fantastic and I specifically remember this book and a battleship style game that I built. And the point I want to make about these educational experiences, these were before school or on top of the stuff I was doing at school is that all of them were playful, all of them I approached in a playful manner. And every single one of them I could put down at any moment, I could make something in LEGO and I'd throw it away. And this comes back when we were talking about ideas during the keynote. One of the things that I really wanted to bring up at that point was that when you've got to use an idea and you've got to make a project, you're committing to making a project. Whereas if you've got this nice boilerplate scratch pad style area, you're playing. You can play as kids do and then just chuck it away. The other thing about these learning experiences was there was purpose. There was something that I wanted to get out, something that meant something to me. It wasn't someone telling me to do something, I wanted to build that airport. I wanted to knit something, I wanted to build the technical thing and I wanted my game to work and was frustrated when it didn't. And the final thing was that there was progression. There was always somewhere for me to go next. So I started out with Print Hello World and I exhausted all the examples in the Atari manual that came with it. But then I found somewhere else to go. LEGO, there's just so many places you can take that and there's so many crafts out there. There's always somewhere new to go. So those three things, playfulness, progression and purpose, are something that I think is really important in educational experiences. And there's a middle section to my life where I went to university, did computer science, lots of interesting anecdotes involving me mainly losing stuff. That doesn't happen anymore, I'm a reformed carat. But then this was me as an educator. So I moved on from being a learner and in 2004 I started a career in teaching. So I started my time as a math teacher and as someone who could use a computer and there was an outgoing head of ICT, picked up this role and really enjoyed doing it. It was a great experience. But I did get quite quickly frustrated with ICT and this again echoes some of the points that Carrie-Anne was making earlier. A lot of ICT was being driven by office app based programming, was limited to Excel, macros and formula. And a lot of the engaging and difficult, also what I would describe as engaging and what a lot of teachers might consider difficult concepts or activities were left to the end of the year. A lot of primary school teachers that I was sort of talking to around the time was, oh yeah, yeah, we do Lego robotics and we program them in the summer term. Sometimes we don't get the full six weeks, sometimes we do a week because it was those things that leave to the end as the fun activity to end the year and then at the end of the year it fell off the end of the year, never mind, we'll do it next year. And those kind of experiences were always being left to the end. So as I started I was really trying to change the way that I was doing things in school. I managed to convince the school to buy some Lego robotics. We started a Lego club, we entered the first Lego league. Games factory, has anyone ever used games factory? It doesn't really exist anymore. But that's where I started. I remember hanging out in a shop in my local town called Microfuture where they had this system called Click and Play. And it was a drag and drop games engine. You put a sprite in, you pressed a button and it pinged around and bounced off walls. And that was your starting point. And they developed it into an education product. And I used that in school. It was really good. Scratch again, lots of scratch stuff, simulating games, those kind of things. And we also tried to do some HTML. There was some HTML before, sorry I keep turning and the microphone keeps losing me. I'm a fidgeter. So HTML was something that the school had previously done through like a front page or a dream weaver or something like that. And I think you start using those big heavy ideas and you start losing the basics of how that works. That's not how I learned HTML. I learned HTML with a notepad in one window, a browser in another window. Save, refresh, save, refresh, save, refresh. So we did some basic HTML stuff. And I moved on. I went to a secondary school. But I began collaborating. And this is the point where I think things changed a lot for me. Because those frustrations that I had in school, being the only teacher who kind of in my mind got it, was really difficult. So starting to connect with other teachers was really important. I joined CAS, which is a group in the UK called Computing at Schools. I started working with local primaries, helping them deliver robotics in their schools. And then, all of a sudden, it was a few years ago, it was possible to teach the GCSE in computer science. So there was a pilot phase and there was a phase where teachers could pick it up. And I was super excited by this. Because this was finally, all these things that I've been banging on about, were going to happen. And I could pick this up. And I was really excited. And then I suddenly realised, oh, actually, how am I going to deliver this? What's my route to deliver this with kids? And the first question was what language? And that, again, like we mentioned earlier on in the keynote, this took me back to my charter experiences using BASIC and Python was really the clear choice for me. And then this whole, oh, how do I teach this? How do I go about sharing this with kids? And I know how to write a loop or write a function or do this and that. But to me, it seems self-evident. How do I break that down and take my understanding and put it, get it across to the kids? And how do I challenge kids? I had a kid in my first GCSE class who had been programming since the age of five and had never stopped. Unlike me, when I was a kid, we didn't have the internet. We were very late giving the internet. Eventually I convinced my dad to buy us a three-month trial of this internet thing. We got on there and suddenly my horizons were expanded. But he'd been learning Python for years and C in Java. At the time he came to my classroom, he was a far better programmer than I think I will ever be. So how do I challenge kids like that to have this experience? Because there is, unlike traditional subjects, there is this difference of experience. We have been doing this for years and years and years and have a wealth of experience. It will just click. And other kids might be aware of it or might have been put off by it in the past. So whereas in other subjects you might have a fairly level playing field, you've got a whole different range of experiences. So the collaboration with other teachers was imperative, was really important and it was around that time that I gave a talk at Raspberry Jam. I met Cary Ann shortly afterwards, went to Pycademy, joined Twitter, went to more CAS conferences and things. And that was the point at which I became aware of Pycon UK. And submitted my application horribly because it was a deadline and if you quit you'll get a free place and they'll fund your cover costs. So great, yeah, I'll do that. So that's how I got to Pycon UK. So Pycon UK was a fantastic experience for me. Last September and particularly the education track, which is where I spent my day. Unfortunately I had just moved house and so I had a wall to go and knock down or something at home. So I could only stay for the Friday. But there was a two day track. The first day, the teacher's day was brilliant and I'll talk a bit more about how these worked in a moment. The second day was a kids day and developers were welcome to come to both of those two days, encouraged to come to both of those two days. In fact there's a picture somewhere of Nick in a minute. The first picture I've got on here, saying, go to the education track. You should be there. And so it was fantastic. It was filled with workshops, demos, training, discussions, quadcopters towards the end of the day and cake. Which is going to get anyone there really. And the cake's here. If they don't wet your appetite, nothing. They're amazing. We were joined by members of the Raspberry Pi team. So Dave is in the bottom right-hand corner. He's not with us today. He's the guy that Ben was previously talking about, who is doing loads of space stuff. We've got Ben, we've got Cary Ann and we've got Alex who's down here with us as well. And there's the cake. So the cake was amazing. So one of our, a teacher that I hadn't met at this point, but I was aware of from Twitter called Cat, she'd been on a following, the pycademy after me. And we'd sort of been chatting a little bit on Twitter and she was like, I'm going to bring cake. She turned up with this cake and it just vanished. I think I saw it in the beginning of the day and then by half way through the day I was like, where's that cake gone? There was one cake left. So it was a fantastic day. The link at the bottom. I've nicked a few things from Nick Tollway's excellent introduction to Pycon UK. If you want to have a more detailed overview of the two days, you can follow that link and that will take you there. And we were also joined by members of the community. I forgot to thank two people at the beginning of the presentation. This is Alan Adamickey, who along with Nick provided last minute a lot of the images that I've used in this presentation because I had some camera failure issues. So, yes, loads of community people that had given up their time to come along to talk about education, how we educate and the projects that we should be focusing on. So this was sort of how the teacher's day was broken down. So, first of all, we had a session on Minecraft Pi and we can see all the teachers worshipping Minecraft there. Or Martin, I'm not entirely sure. So this guy you can see standing at the front there, this is Martin, he's got an excellent website Stuff About Code. And that's how he usually starts his workshop with, okay, please pay your respect to worship that kind of thing. And he gave everyone a little demonstration of how to use the Python library to interface with Minecraft and create amazing things. And if you think back to the first point I made about my early experiences with Lego, Minecraft is often described as digital Lego, okay? This playground, this area where kids can play. I don't see Minecraft. When we talk to teachers, I don't try and put Minecraft across as, oh, here's a game. Minecraft for me in education is a medium. It's a way of expressing things. The idea we talked about earlier on, a game where we've got, you know, it's set on a planet and there's aliens and you shoot them, well, with things like 2D graphics, Pygame, to get kids to make something graphical, I never bothered with my GCSE kids because it was more of an A-level topic anyway, but for the amount of time they had to put in to get something simple graphical on the screen, it just, you know, Pygame wasn't worth playing with at that time. Minecraft, we can build all sorts of things with Minecraft. So we set my kids in school to challenge. We said, go away and I want you to build space invader. And they went away and they did that, they built space invaders, but then they turned those into flashing space invaders, space invaders that chased you, space invaders that dropped things on your head, space invaders that chased you. They hid space invaders around the world and just go and find them. So Minecraft is a medium and this workshop is fantastic. And there are loads of people. It was their first experience of Minecraft, first experience of programming, and they loved that. We then, there was a session we had all about physical computing. So some of the things that Ben's just been talking about in his talk, there was a session flashing LEDs, using motors, we had some spinning flowers and bees, is that right? Yeah, okay. I wasn't in that session. There was a bit of a split at that point. But there was some physical computing. We also had a session with an introduction for secondary teachers, particularly to object orientation. For lots of those teachers, object orientation was something they might encounter with libraries that they're using, but wasn't something they were overly familiar with, or wasn't something that they had used for ever or for a long time. So it was a great introduction or refresher. We also, we had a team brought over some, oh that's gone too far. There's a robot there, it's going to disappear. So the robot there is a little, it's got a now robot, and a team brought those over, they danced, they sang, they did all kinds of clever things, you could take them for walks, and they talked about their programming interface behind that and how schools should be doing more robotics. And then the afternoon session, we had an unconference style session. So we started off with all the teachers and developers together, we pitched some ideas, and then we all broke off into groups and we kind of worked together as teachers and developers to either do some resource development. So I want a resource that helps me teach this concept. Let's go and make it together, brilliant. Or perhaps some coaching. So there was a lady who wanted some help with, I think she was doing some web stuff and she wanted some help with Django, the rings of eight bell. And so she sat down with a developer who helped understand how Django works and write the beginning or the framework for a scheme of work to take it back with her kids. And there was people that were sort of talking about how to make some libraries or some tools. So this screen here, there's a thing for one of the GCSEs. They have to do a project on a little man computer. Are you guys aware of little man computer? It's kind of, I don't teach that spec, partly because I don't like little man computer. But I think it's basically, it's a simulator to help you teach kids machine code type, very low level code stuff. So very basic operations and instructions. And the complaint from one of the teachers was at the moment this doesn't run on the Raspberry Pi and we're using them. So they sat down with some developers and they ported it to the Raspberry Pi. And that was like an afternoon's work for a developer. So this bit, the second part of the day was really, really valuable because it gave the teachers the chance to direct the help, the support they needed. And I think this collaboration is really important. So if we think about the first group of people that are there, the teachers. The teachers, they're really great at delivery. They've got years of experience of doing that. They know how to take a concept, to break it down into parts, to work out how to deliver that, to explain that, to get that idea across. They're also great at that sort of idea of progression. So this is your starting point. We want to teach you this concept, what's the pathway that we're going to take to get that. They're great at assessing, knowing where kids are up to and getting a really good measure of what kids understand, what they haven't grasped and what their next steps are. And they're also good at engaging pupils. It's their job. It's part of what they do. But what I need help with, and this is going back to my experience as a classroom teacher, what we often need help with is our background knowledge. I programmed as a kid. I did bits as I was growing up. I did a computer science degree where I did bits of Java, but it was more systems kind of base. I haven't done programming for a long time. My knowledge is rusty, and some people don't have that background at all. They need more support. They may need some help with exploring possibilities, knowing what is out there that can help them. So they want to solve a particular problem or they wonder if, oh, can I do this with code? You guys, the developers, you're the people to ask. Relevance. A lot of the sort of teaching materials that were out there first of all for teaching computer science was, a little maths game where you guess the number and we're going to use some selection to see if you're right or wrong. Or here's a teacher tool to... We're going to write a piece of code which if you put in a score, it's going to tell you what your grade was. Which students are going to care about that? They're not. It's not particularly relevant to them. But developers, you're out there writing software doing all kinds of cool things on things that kids might be aware of, whether it's robotics or web interfaces or whatever. You've got relevant experience for kids' cool things. And also challenging people. They're 16-year-old that I had that was a far better programme than I. Talking to developers means that I can find ways of extending them, pushing them forward and finding new ways to challenge them. And enabling learners. So this kind of comes down to the barriers point that we talked about a little bit earlier on. As a teacher, there's lots of little frustrations that we have, either to do with network administration, the interface we're using, the libraries. Those problems, it's good for us to be able to air those somewhere and have those conversations. And developers. You guys are great at creating solutions. It's what you do. Here's a problem. Create a solution to solve that. You've got the really in-depth detailed knowledge about how the libraries work, how they interconnect, how we can use them. You're great at writing libraries and tools that teachers can take into their classroom. As I mentioned, you've also got that relevance. That experience which is current, relevant, which is real-world stuff. But perhaps what we can help with as teachers is finding new ways to engage learners. So that idea that you have about how it's a cool thing that we can do, we can maybe work out how to make that more engaging for learners. And making Python more accessible. The reason I chose Python for its simplicity and accessibility, I think that Python should be almost the de facto language, the text-based language that kids are using. In the UK it kind of is. Lots of teachers in the UK have chosen Python based on other teachers' recommendations. Whereas in the States we went over there recently and Python is used a little bit in education but not as much as C and Java and processing and JavaScript, which I find weird because they're just so syntax heavy. So that's what I think those two groups bring to it. So the teachers, we kind of helped sort of sought that progression, the bit I was talking about from the learning experience earlier on, the progression of how we get from A to B. Developers, you're great at bringing the purpose, the projects, those kind of things. But the bit that's missing is the playfulness and that's where day two comes in. So day two was the bit that I missed and I saw pictures the next day of all the stuff that was going on and I really wished I could have been there rather than knocking down a wall or whatever. I just nicked some pictures from Nick's presentation, but you just kind of shows the journey that kids go through. So here's some kids sitting down at a computer they're doing some coding, I've got no idea what it is they're doing, but they're doing some Python. It might be Minecraft, it might be GPO, whatever. And you can see there's a look of anxiety maybe and a couple of that, they're a bit unsure. There's one hand on the keyboard, there's a few little things we can notice there. A few minutes later everyone's trying to get hold of the keyboard, the mouse, they're all having a go. And this comes back to the point that Carrie mentioned to her keynote that kids are inherently sort of investigative and playful and want to learn. And they probably, I mean there is a whole series of, there's like 10 photos in this series and they go through a range of emotions like every human emotion you can almost imagine you know there's despair when it doesn't work and all kinds of things going on. But then we get this moment at the end where they've solved that problem they've got through all those little barriers they've worked out what the problem is, they've solved it and the look of satisfaction on their face is fantastic. And that's why we should be getting together as educationists and developers to support these guys. To make sure that they're having this experience with coding that they very quickly, they don't hit that point, the first picture and stop, they're able to get to this point where they see the value, they get the gratification from coding. I've got no idea how I'm doing for time so I'm probably running a little bit short so I'll move on better. So what's in it for the different groups? So first of all it's fun. Whether you're a teacher, a developer or a kid coming to a Python education event it's tremendous fun, huge fun. We've got a picture up here and the first picture you can't really see it one of the teachers that was on the course Sway is one of her tweets shortly afterwards she tweeted I've just written something in Minecraft I'm having so much fun, yay. Here are some developers who are helping us out on the day. Again, smiling developers having fun, enjoying themselves doing something playful and creative. And here we've got the kids just in awe, probably as Ben I'm not sure what was going on there. Were you talking at that point? I'm not sure. So the teachers, what they get is they get coaching, support, confidence building it's important. So many teachers did not have the background that I had playing with code at a young age and having a little bit of experience of it and that confidence is really important for them. They get ideas for lessons they collaborate with other teachers they collaborate with you guys, they collaborate with the kids which in fairness is actually where some of these ideas should be coming from because I don't want to teach kids how to do something that I want to do because that's my passion, not theirs I don't want them to be leading things so actually getting together with the kids they come up with a good idea, you're like awesome let's make that happen So we might get some new tools or contacts out of that building on network developers you get to adopt a teacher which is awesome, so I had this experience, I sat down with some developers and my project wasn't particularly to do with a scheme of work a learning issue, it was more to do with enabling my use of github in the classroom so I sat down with some developers and I said what I want is I want to be able to push things to github but it'd be private, I want like a local kind of github we found GitLab which we played around with a little bit and then what I want is I want like an automatic backup mechanism from my pies so it pushes there and I've just got a repository that I can comment on and collaborate with the kids for and we started some excellent discussions we played around with some ideas they kind of adopted me for the day and unfortunately shortly after that kind of contact that those conversations very soon disappeared, now it's perfectly understandable developers have day jobs I'm a teacher, I'm back in the classroom and doing things, so it's difficult but if you are going to do this adopting a teacher, it's really fantastic if you can maintain that relationship because it is really beneficial to both and I'll explain why both in just a second so you get to engage teachers and kids with the python community which is a fantastic community and we need to get the teachers and kids engaged within that you get that warm fuzzy feeling which is great but also at this point it reinforces and I'm paraphrasing Nick Tolwell here it reinforces a deeper understanding of your own clarity of thought so just to unpick that a little bit when I was a maths teacher and I said to her kids well I don't know here's this mathematical concept and the kid would say well why, why is that the case and I go well it is it is I don't know how to break that down any further and that was me at the beginning of my teaching career not being able to understand that some things aren't self-evident at that point my knowledge of mathematics was not deep enough that I could explain that concept to a child ok so being able to explain things to people that are non-experts being able to unpick why things are to you maybe self-evident actually gives you a deeper understanding and gives you a better clarity of thought and the kids, what the kids get is they get a safe place to play and learn there's no measuring their progress there's no sort of feeding back of what they're doing apart from in a positive way oh I didn't work, brilliant try this, have a go, ok so they're supported, they're encouraged and so on they get to collaborate with others and that's teachers, that's kids lots of kids don't get a chance to collaborate with adults so that's fantastic lots of kids don't get a chance to collaborate with other groups of kids so bringing them all together on this kind of day means they get that opportunity and they get that sense of pride and achievement I found a photo last night that I couldn't put it back up here there's a picture of Nick standing at the front of a kid and a robot and the kid is just beaming because he's sharing his robot, robotic creation with an audience so they get that sense of I have achieved something I have done something, I am part of something and that's again really powerful to kids and did I mention the cake because that was great so I'm going to just take a brief pause this is another perspective this was a teacher that I'd met on Twitter I met for the first time at Pycon sat down, caught up, chatted with her she sent me this because this was her point of view so I'm going to shut up for a second and just give you a chance to read what her thought was and I think there's a couple of points in there sorry if you're still reading a couple of points in here she regards herself as a relatively knowledgeable computing teacher but really needs that support or values that support from developers what her kids need is something exciting which will inspire them and teachers don't have a huge amount of time the working week is very long so anything that developers can do or other people within the community to say here's this really cool thing by the way when I was at a conference and I was showing here's a library that you can use which if you just run a command it will access the tube times which is not super exciting but it's way more exciting than crunching a few numbers arbitrarily in a fairly trite example so this is really powerful and there's a link there Sway wrote a whole blog post all about her experiences of Pycon I recommend that if you're interested you check that out so how can you help and again I will be reiterating a few points from Careham's talk earlier on so firstly the adopter teacher and that doesn't have to be through a Pycon event or any kind of physical face-to-face meet-up in your local area, wherever you are find out what your teachers are doing in terms of computing programming that kind of side of the curriculum find out if you can support them can you go in and talk about computing in your local school go and talk about the fun bits about your day job go and explain the cool things that you do with code and how it empowers you and what you love about it help develop tools and libraries that support learners and again we've got you've got the homework that Careham set and say we should all be working on that okay run a workshop or a talk for educated and again that could be at an event like Pycon it could be at a local networking meeting it could be if you run like a local python interest group type thing find out what pythons all about have they got questions about python and how to use it in their classroom code club I don't know how many people are aware of code club or how you access them but code club is a great resource it enables a partnering scheme for getting experts to go into schools work with kids, run workshops and that's great because it means that the teacher doesn't have to they can attend and support you but they don't have to be providing all the material you get a chance to network it gives you an in sometimes it can be difficult from the outside to get in with a school going by something like a code club might be the way to do that and there's probably a whole ton of things that we've not thought of amazing things that you could do to help engage kids and teachers a with the python community and with the language itself so if you've got any of the cool ideas come and find anyone from that's applied education team come and chat with us if you've got an idea about something you'd like to do then we're happy to have that conversation and then I've left some time for questions so there we go Thank you Thanks for your talk, it was very interesting I liked the kids day thing Do you know how old the kids were? What was the range of the kids there Nick? and I think that's important as well that it's not limited on age because it means that the older kids can mentor the younger kids and all the younger kids can mentor the older kids and there's lots of great opportunities for those that collaboration Nick, Dawn, you can go on Sorry I've got my hand up, I feel like I'm a child at a primary school so those photos of the children that we saw programming in the series of the longest series of photos actually the kid in the middle at the last one he came along and mentored the other two so they had a problem he came along and there's a picture of him pointing at the screen and then something goes wrong and then altogether they put it right so the other important thing about this slide is that there are no adults involved in this learning as well this is autonomous kids picking up themselves I think that's an important point as well as adults knowing when to step in so in a classroom I would often encourage the kids to make their first few steps by themselves and only ask me for help when they have hit three or four problems because otherwise they feel they have to defer to the adult Alright, thanks very much James Thank you