 I like getting a round of applause for just saying good afternoon. That's great. Hi, so I'm going to tell you a little bit about me before I get going too far. First of all, I'm going to let you know I'm an imposter. I'm sure you already know that. I can't code very well. I can do a few lines and I can correct code. I'm actually a teacher. In fact, I'm a reformed teacher. I've now escaped from teaching and I travel the world to stand in front of groups of people and extol the virtues of learning to code, all whilst only knowing very basic code myself. So, just so you know, I'm sorry. So, I'm going to tell you a little bit about why we're learning to code in schools now. And then I'm hopefully going to put out a big plea for you guys to jump on board and help. So let's start off with what happened in schools or what happened seven years ago. Some guys called Ian Livingstone and I forgot on the other guy, Alex Hope, wrote a report basically saying that as a country, we were the best at creating computer games and movie effects and cool stuff like that. And now we're down here somewhere because we haven't got the skills. Universities are just teaching children or teenagers how to repeat themselves, how to do the most rudimentary tasks. They've got no understanding of computing, of code, of computational thinking. So as a country, we are failing our younger generations and something needs to be done. And they presented that report to the government. Fortunately, that was the one good thing that Michael Gove did as education minister. He changed things. He changed a lot of things for the worse, but he improved the computer science teaching. And in 2014, we had this... I'm going on to a different thing. We had this wonderful... I'm not used to a clicker, sorry. We had this wonderful change in the curriculum. And I want to tell you a little bit about why we had the change in the curriculum. There's this wonderful quote that we see floating around and it's all paraphrasing. Nobody actually remembers what Richard Riley, the former US Secretary of State for Education, actually said. But this is the most common sort of paraphrase you see everywhere. We are currently preparing students for jobs that don't yet exist using technologies that haven't been invented. In order to solve problems, we don't even know our problems yet. Now, for me as a teacher, that's quite a terrifying concept. I've got to create children that understand how to do stuff that doesn't exist. And I don't know how it exists. And as an adult, they probably know more than me, but I've got to teach them that. That's quite scary and confusing. I'm sure you're aware most of the jobs that are popular that need to be filled right now didn't exist five years ago from social media to Uber. You know, these things are all new. So we have to prepare our children for living in a world where that sort of thing is common, where every few years there are brand new jobs. OK, now I can run to my side. So going back to that next-gen report, they talked about some things that needed to be on the national curriculum. They made all these 10 recommendations, some of which still aren't sorted out. They still are a problem. I'm not going to read them to you. I'm pretty confident that everyone in this room can read, but I'll let you have a quick glance at them. But the basic gist of what the next-gen report said was that computer science should be on the national curriculum as a subject, as a science, not as a thing shoved in the corner, but as a top priority. What we found is actually that's still a problem in a lot of schools. One of the things the report raised was that we need more specialist teachers. That's still a problem seven years later. We need to raise awareness of industry opportunities to make sure that children know what sort of jobs they can get into, because you ask a lot of 10-year-olds what they want to be, they'll answer YouTuber, computer game player, stuff like that. Having an understanding of computer science would be quite useful in those jobs. Admittedly, the chances of them getting to be a YouTuber are somewhat slim, but they could be somebody who works behind the scenes at YouTube. The national curriculum that was brought out in 2014 gave us lots and lots of ideas, but it wasn't very easy because they said, from primary school, we've got to introduce all of this information. From four years old, we're going to be understanding and applying the principles of abstraction, decomposition. You can imagine my face as a teacher when all of this is coming out. We have practical experience of writing computer programmes. Majority of primary school teachers, maybe not me, but majority of them are going, ah, yay. Using technology to analyse problems, all of these really cool things that sound amazing on paper, but nobody bothered to tell the teachers how. The last one is actually something we've been doing for years anyway, competent, confident and creative users of information technology. Now, I have this thing I say a lot in talks to teachers about children and teenagers and adults. They are all consumers of technology. They consume the technology in front of them. They have no understanding of how it works. We want to shift them towards being users of technology that use technology effectively and then we're able to move them into the role of creators of technology. So we need this fundamental shift from consumers to users to creators. Otherwise, we're going to get stuck. And at the moment, I would say that the majority of people are in the consumer category. And if we can start with our young people and move them into the users and creators, then as adults, they're more likely to be inspirational, they're more likely to be aspirational. So, in the classroom, here's what we're faced with. This whole new set of skills that we're teaching to four-year-olds. Go, teacher four-year-old, what an algorithm is. See, the teachers cry in a corner. We've got to teach block-based coding up to 11. We've got to teach text languages from 11 plus and then understand how computers are built, how the worldwide web works, how networks work, and then this scary topic of physical computing. Buttons, buzzers, lights, cool stuff like that. But as a teacher, all of those things are terrifying. Because at what point do they have time to learn about them? We're just told, go, do it, magic, like a fairy, learn it all. Now, there's lots of great resources for teaching these things, but it's very easy to fall into a trap with them of just doing repetitive tasks that don't actually learn those fundamental skills. I've just realised one of my slides might have, you know. So are these useful skills? Yes. If we can understand how a computer works, we can fix it when it breaks. We don't want children who see computers as this magical device on a pedestal. A lot of schools teach computing as this sort of, ah, you're allowed in the computer room one day a week if you're lucky. And then the children don't understand that a computer is a tool that we use for when we need it. So actually being able to say, oh yeah, yeah, just pull it apart, have a look inside, it doesn't matter, it's all cool. Yeah, yeah, play with it, press that button, okay, you've broken it. Oh well, let's just fix it. It's really useful for children. We can look at project-based learning. So instead of just learning this is a bracket, you use it in a sentence, here is a bracket, you use it in a line of code, we can actually base it on real life. We can start saying, okay, we're going to write some code so that you can make some traffic lights. So we're going to get a Raspberry Pi, we're going to plug in some lights and we're going to write that code. Now, you'll be learning about variables while you're doing that or about if statements, if button is pushed. But you're not just learning it for the sake of learning it. You're learning it in a real life context in a much more fun and project-based way. We've got links to real life there. We can say, okay, you know that computer game you played last night, well, let's make our own one in scratch. And then the children are more interested because hang on, that's what I do at home. And now I'm doing it in school, that's cool. And our programming skills are quite cross-curricular when you think about it. One of the things we talk about a lot is computational thinking as well. I'm hoping you guys have heard of the term computational thinking. But the idea is we've got these four skills that we teach children. Decomposition, abstraction, pattern recognition, and algorithms. I do a lot of work telling people about what these words mean and I still get confused with them. But when we put them in a real life context, they sound a bit more interesting. And what we do with this computational thinking actually at primary level is that we don't use computers. We computationally solve problems in the real world. So for example, tidy your room as a concept to a child is overwhelming. I don't want to tidy my room, there's loads of things I need to do. Okay, well let's decompose the problem. Let's break it down into the smaller parts. You have to make the bed, you have to fold your clothes, you have to put your toys away. Okay, that becomes easier. Then we start looking at abstracting the repeated themes here. Okay, I'm finding I'm folding lots of lots of t-shirts and I'm doing folding these and I've got to fold, okay. And then we start looking for patterns. And then we could even in our head write an algorithm. Okay, every time I have to tidy my room I have to do these tasks. I have to do this first, then this first, then this first. When I'm doing this, I do this, this and this. And we're learning to solve problems more logically. Now as adults that's quite easy to get your head round but as children, a lot of times children are overwhelmed by tasks. So if we can use computational thinking we can make life easier. And we can do unplugged activities in the classroom so we solve computer problems but on the playground. Ben, if you've seen the bebot, the little yellow robots children learn to code on age four. So you could act out being a bebot to understand how to make the bebot move around. And we call these activities unplugged to make life a bit more interesting. Going back to cross-curricular, obviously coding links to maths. That's a given. And electronics and DT, for me the thing that got me excited about coding was physical computing. So making circuits. I can now put together a breadboard in seconds. Literacy, they have to learn how to write a sentence. They have to understand capital letters and full stops go in the right place. Well, call me stupid but isn't that exactly what we're doing when we're writing code? Our capital letters have to go in the right place. Our full stops have to go in the right place. Our colons have to go in the right place. With science, you've got sensors. You've got some really exciting things you can do there. And music, if any of you haven't looked at Sonic Pi, I know it's Ruby, but it's worth having a look. Sam Aron has written a piece of music software where you literally code music. I was using it with a bunch of eight-year-olds last week and I've never seen a class so excited to type in play 60. So I would urge you just to have a play with it because it's great fun. And it is intrinsically cross-curricular. And we quite often talk about this idea of steam, science, technology, engineering, arts and maths. We put the arts in there because although it's not a shortage subject, it's part of this combination of subjects that sort of melds together for 21st-century learning. So when we're talking steam, we're not talking about science over here, technology here, engineering, arts and math. No, we're talking about mixing them, doing technology and music, doing engineering and maths, which kind of automatically link, but merging things together, being creative with learning, not taking subjects as separate. So I have a question for you because I like to make people think when I'm talking. How did you learn to code and why? So what was your first experience of coding? And I'm going to make my lovely helper here run round with microphones. So who would like to tell us how they learned to code, what their first experience of coding was as a young person, teenager, adult? You're not going to get in trouble, I promise. Like 286 does. And my older brother said, I don't know how to do this, get games working on it. And it came with this quick basic manual and I followed the instructions and got so excited I could make it print hello and then 10,000 times over and over again. That's how I started. Okay. Next victim. Sorry, anyone else want to volunteer? There's one there and one there. I have similar experience maybe a little bit earlier. So there would be magazines that would come out weekly or monthly and they'd be like a game and you'd type in the code from the magazine and into the computer. A really awful way of learning actually because it was very dry and very long winded. Yep. We've got a gentleman up in the middle there as well. Oh, I used to have an Amiga and I've made this kind of space invaders game with this software that was just for making other games. And that was a fun. Excellent. I feel like this side of the room is being very quiet. There we go. I've got hands on the pot there now. I needed to get Glastonbury tickets and they sell out very quickly. So I wrote an app that monitored the Glastonbury website to see when the tickets came up on sale. I was sitting in a classroom in the university freshman year. Bullied into it almost. Sorry. 1981 in Yugoslavia. Excellent. Yeah. Mainframe with some basic on it and the book. Fair enough. See everyone's warmed up now. You're all willing to share. It's great. As a teenager, my parents bought me a spectrum and I sat down and learnt how to code a for loop. It took me four hours to work it out. Brilliant. I was 11 years old. I got the Commodore 64 without a floppy drive but with the programming manual. Fab. I've got any more before I move on. Oh, a couple, there we go. I love hearing how people learn the case. It was in 2001 and I was doing GCSEs and there was nothing to do in the summer and I just bought basic for dummies and wrote a simple hello world thing. It's like you did but yeah, that's how I learned. I started playing a game called Dwarf Fortress and it was much easier to learn to programme so that I didn't have to play it and actually learn how to win. So there was a mixture of different ways people learnt to code there but what I noticed was a lot of people didn't learn to code because somebody sat and told them to. They learnt to code because there was something they wanted to figure out how to do whether it be get Glastonbury tickets or play a game or create a game. Those people who were forced to learn in a classroom or learnt from a textbook because that's how they did it did you think that was a fun way to learn? Yeah? What about those of you who did it for a project for a fun thing they wanted to achieve? Did you think that was a good way to learn? So when we're talking about children who aren't motivated, they're not gonna sit and read a book, what do you think would be the best method for them? Would it be here's a book, learn it or here's something that we want to achieve? Let's do that together. Where do you think children most likely to learn to code? In the classroom, children are much more motivated if they realise why they're doing things. If we look at different projects, for example I was speaking to someone I tutor maths to and they were saying that maths makes more sense to them now that they can understand how it applies to other subjects. So when they were doing their GTC maths, it's boring. Now they're doing A-level maths, it relates to the physics they're doing and the biology they're doing and they can see now that it makes sense. The same is true of learning computer science. If we understand why we're learning concepts then they make more sense to us. That's just to do with how we learn. So I've touched on this earlier. We have a problem. Teachers aren't trained to teach computing. Very, very few teachers are. In fact in secondary schools from age 11 to 13 the majority of people teaching computer science are subject specialists in other subjects, for example PE or geography and they are being forced to teach computer science to fill a gap. Okay, so that's a big problem. Going on a training course can be time consuming. A lot of schools don't like teachers going on training courses because it costs them money, whether that be a supply teacher to come in and cover them or actually cost 300 pounds, 1000 pounds to send them there. And as I'm sure you've seen on the news schools do not have money to spare nowadays. There are loads of resources on the internet but the majority of them aren't actually that good. I'm in a few Facebook groups and the amount of times I see teachers recommending things that don't teach any actual coding. They just look like they do. It's frightening. Another big problem for teachers is fear. Nobody wants to admit they don't know, especially when they're responsible for children. So they will make stuff up or not try and do it. And to be honest, teachers aren't very confident with not being this omnipotent being. In the past, as a teacher, you know everything and you impart that knowledge. And now we've moved into an age where actually we have to admit that we don't know it. We have to be able to save students. Okay, I don't know that, let's look it up. And a lot of teachers aren't comfortable with that but that's where we need to go as educators. So what we're seeing in schools is that a lot of schools are ignoring it. Computing doesn't exist. Ofsted aren't inspecting for it yet because they don't know how to test for it. They don't know what they're looking for. They're teaching it without any understanding of what they're doing. Just reading off words on a board. I don't really know. The lesson content is really poor or non-existent. Or my favourite one, buying into schemes of work that cost thousands and thousands of pounds per year that don't make any sense because somebody's recommended it. Or the ones that cost thousands and thousands of pounds where the teacher can just go. Off you go. You'll be fine. We see a lot of resources bought and not used as well. So you can help. Ye! You guys are basically the heroes of teachers right now. There's a group called Code Club. Some of you may be familiar with it, pop your hand up if you've heard of Code Club before. Okay, good. Code Club, look for volunteers to go into schools ar 334.30 oedd yn 8am. Felly yna'r ffordd o gael i'r symud o'r Codd Clwp. Rwy'n gwych yn y fwy o'r gwaith. Rwy'n gwybod i'r ceisio ac yw'r bydau'r ceisio ac mae'r ffordd o'r ceisio ar y clwp, a'r ceisio yn y ffordd o'r ceisio, ac mae'r hyn o'r ffordd o'r bodi'n cyd-dwyngau ac mae'n ffordd o'r lleidio i'r rai. Mae'n wedi gweld â'r ffordd o'r Codd Clwp a gweithio cael ei wneud ar gyfer y ffondoriaeth. Felly mae'n fwyaf o'r gwrthodol. Rwy'n gwybod i'n gwneud, mae gennym y gweithio ar gyfer y ffondoriaeth. A gan y dyfodol, y cwmwysau dechrau ymlaen ffondoriaeth erioed i ddweud â gwnaeth CSR, felly mae gweithio gyda'r gwybod i'n gwybod i'n gwneud. ein ffondi'r ddweud yn gwneud ar gyfer y codin gweithio. Felly, mae'r ffordd ymwysig yn Twykenyn, ath gael y gallwn gwneud. Yn ymwneud yma, wrth gwrs, a'r ydych yn ôl, byddwn ni'n cwmhysbeth, yw'r ddych chi'n gweithio'r gweithio, dynnu gwybod i'r gwybod i gwaith arwain, oherwydd o'n gallu chlas o hyn o'r wael gwybod, oherwydd mae'r ddweud yw'r gweithio. Mae'r gweithio'r byddwn ni'n gweithio, oherwydd mae'n gweithio'r gweithio a'r gweithio'r gweithio. Rydyn ni'n gweithio'n gyda chi'n gweithio'r haes. Ychydig. I can do that. There are lots of Twitter chats if you like them. I don't like them much. But if you like jumping on Twitter, lots of teachers are asking questions. There are community events like Raspberry Jams. Right now the all London Raspberry Jam is going on. Not too far from here where they've got kids and adults running workshops, doing show and tell, selling cool kit. Getting involved in community events is really, really powerful and you might meet some nice people. Some of them are really nice, some of them aren't. But everyone's lovely. Sorry, I'm such a child. So yeah, I've mentioned Code Club. I know I'm running out of time. Coding evening is what I run. Please come on Wednesday if you want to. It's great fun. And just want to show you these quotes from some children I used to teach. These are from seven-year-olds who've done Scratch for the first time. And I do particularly love the wonderful spelling of imagination there from Alex. I mean he's got all the sounds in there, isn't he? So these were literally first time just doing really, really simple scratch. And then we moved to the year sixes. So three years older for you. And they were a little bit more confident. And we were doing a bit of Raspberry Pi, a bit of Minecraft hacking with Python, just some simple activities. So it's worth getting involved, trying to support kids, trying to help teachers because they don't know what they're doing half the time. And yeah, tada. Thank you. Please feel free to get in touch at any time. I'm quite happy to chat. Any questions? Really good talk by the way. Thank you for that. So one of the problems that the school curriculum poses is it teaches subjects sort of in a standardised way from ages four to 15, 16. For all subjects to everyone. And it seems like they're taking the same course with computing, so teaching from four. And I think 90% of the people aren't interested in coding. And do you think computing should be taught in that way, introduced early rather than later to more serious students? So the idea of computational thinking I think is really valuable from four years old. I think you could make the same argument for learning or music. 90% of students aren't going to use that, but they are going to use some of those skills at some point in their life, even if they don't realise it. I think it's really important that it's there, but I do agree that we shouldn't be separating subjects. I don't think we should be teaching them in a formal way. I think education does need to become more flexible. Primary schools where they can try and do that. So computers are just a tool that we use. Everything is a bit more fun, but it depends on the school, it depends on the head teacher. It depends on so many different factors. I think the best thing we can do is make sure that there are opportunities for students outside of school as well, so things like jams and code clubs, so that those that become passionate are more able to get involved. Does that make sense? Does that help? Anyone else? One more question? No, lots of questions all of a sudden, and we're running out of time. I just wonder about the approach of teaching computer science to children, really. I mean, I teach computer science to children, and there's a lot of emphasis on fun and creativity, etc. You know, there's no text, proper textbook, there's no exercise book, as such, and I was lucky enough to teach computer science to a secondary school where I was the sole person, seven to thirteen, all age groups, and I taught in a very traditional fashion, like they teach maths with textbook, exercise book, everything. And I have to say the children loved it, their parents loved it, and it was very repetitive, very boring in the beginning, but I told them they have to master these boring concepts before they do more interesting ones, and they were very grateful for this, and they can do lots of things now. So I'm just wondering, using that sort of off-stead method of creativity, fun, etc., project-based, does not lend itself to computer science, and it's kind of detrimental, and you know, you'll never produce anybody of any worth using these methods, and things have to be rethought about the way we approach these subjects. It's an interesting idea, but it does depend on the individual students, and the teacher, it sounds like you are a very good teacher, or are a very good teacher that can inspire students to want to learn, but there are a lot of teachers out there who are just there to deliver information, they don't make the lessons interesting enough, so the students then don't learn. What we want to try and do, what we talk about with this project-based learning, is the idea of making it more interesting so that it's more inclusive, and so that more people can have a go with it. You could argue either way works. I mean, thinking about people around this room, a lot of people here said they didn't learn in a classroom, they didn't learn to code in a classroom, but they're still here at Pycon, sorry, Pylandinium, too many conferences, and they're still working as coders. I could use the example of my partner, he's a school consultant building networks using a lot of command line stuff. He never learned to programme in a classroom, he learnt because he needed to do that for his job. So it does depend on the learner, it depends on the teacher, so I guess it's striking a balance. I agree that we can't go completely project-based and there are definitely skills that we have to just teach in that traditional method, but I think we've got to make sure that we're really making sure people are engaged. OK, just one final question. Hello for me, Nitlo. Hi, I have been teaching computer science myself, and I know that most of computer science lecturers under graduate level doesn't support starting it with scratch dating. We think it's not helping children to start learning programming, but also going from scratch through real programming. What do you think about that? So I think it depends again how it's taught. So a lot of times in primary schools we see scratch being taught just as an animation tool, and that's not what it's there for. It's there to understand how to teach, how to learn, how to write code, how to think computationally. And there is still problems with schools jumping from scratch to Python or whichever text language they want. Actually, I would urge you to look up a guy called Josh Lowe. He's 14 years old, and he's made a piece of software called EduBlocks, which is designed to transition from scratch to Python. He's got EduBlocks working with Minecraft, with Raspberry Pi, with pretty much everything at the age of 14, just to repeat that one. Actually, that's a really nice transition tool because the blocks are now Python text rather than being just arbitrary code-based blocks. Obviously, scratch was created to help teach university students how to think computationally. It's just got to be used properly, and not just repetitive animations. OK, thank you very much. Thank you very much.