 Welcome you to day two of the conference. I hope you all enjoyed day one. So we have an interesting bunch of talks lined up for you today. So to start off, we'll have a keynote by Nicholas Tollerway. So to talk a little bit about Nicholas, he's a software engineer, trained musician, teacher and a writer. He has authored Python in Education and co-authored several books on different topics. Apart from that, he's also a fellow member of the Python Software Foundation and he has recently received an award for his educational efforts. He's also an organizer of the Python UK's educational track and has co-founded London Python Code Dojo. The Python Code Dojo. So I'm very excited to see what he has in store for us. So without further ado, I would like to invite Nicholas for his talk. Thank you. Yes, somebody's got that. Thank you very much. Okay, so essentially he just said what my first slide was going to be. So thank you very much for inviting me to Python India. This is the first time I've been to India and I'm having an awful lot of fun. What an amazing place India is. I especially like your traffic. It's incredible. So my name's Nicholas. I'm a freelance Python software developer and like the introductory speaker said, I used to be a teacher and a musician and education is something that I'm very passionate about still and it's something I try and bring to my work as a software developer as well. And as he also said, I wrote a book for O'Reilly earlier this year called Python Education. It's a free book. You can download it from the O'Reilly website and it should only take you about half an hour to read but I hope you'd find it interesting. And the other thing that I wanted to say to you is that in the UK, there's something happening in computing education and people seem to be rather interested in what we're getting up to over there. So part of my talk is going to be addressing that but essentially, all I'm going to do this morning is to tell you three stories to tell you about what we've been up to. But before I tell you these three stories, these three educational stories, I'm going to make an assumption which I hope we can all agree with. So I'll do a little bit of PowerPoint karaoke here. So I hope you agree with me when I say a good developer is always learning and reevaluating in order to improve. After all, who doesn't want to be a good developer? And also, is anyone so talented that they don't need to reflect or learn from anybody else? I think everybody can pick up new things all the time and learn new things. So I'm kind of reminded of the Greek philosopher Socrates who said, why is this today that no, they know nothing? I think that's a good sort of an attitude to have as a developer because our industry is changing all the time. And for me, that's rather an interesting part of my work as a developer is that I'm always learning new things. It's an exciting world to be in. So the other thing that why is this today that no, they know nothing? It allows you, it gives you an excuse to be able to say I don't know. I don't know. And I need to ask a question about such and such an engineering problem. And the important thing is that following that question is always a statement like, well, it's going to be fun to find out how to fix that, isn't it? So a good developer is always learning and reevaluating in order to improve. So how does that happen? Well, through education. So let me tell my three stories. So the first story is a story of personal education, my personal education. And back in 2008, 2009, 2008, I think it was, I was a dotnet developer. I said it now when you're videoing it. I was a dotnet developer at an investment bank in London. And I had to work with quants who are the mathematical geniuses who are trying to gain the stock exchange, really. And they wanted me to write a tool for them where they could script this tool. And so I looked at Iron Python, which is Python on the dotnet platform. And I realized that Python is actually a really interesting language. But more importantly, it has a really cool community like you guys. And this is somewhere where I wanted to go. So I saved up some money. And just before the financial crash, actually, I handed in my notice, rather lucky there. And so it wasn't my fault. And I started to learn Python. And one of the first things that I did is that I went to Python meetups in London near where I come from. And while I was there, I met two people, one called Jonathan Hartley and the other one called Bruce Dirling. And we were talking over and over a beer about this thing called a code dojo. And we thought, wouldn't it be good if we created a Python code dojo? So what I'm going to tell you is the story of the London Python code dojo. So what is a code dojo? Well, if you look into the history of code dojo, they were invented in France, in Paris. And the philosophy behind it is simply this. Acquiring coding skills should be a continuous process. It's deliberate practice. So it's as if, and this times with me as a musician, it's as if you can sit down at the piano and you practice your scales, for example. So code dojo is where you go to practice your skills as a developer. And the way the Paris dojo suggested you did this, the hints in the name, it's a dojo. So it's a little bit like a martial arts dojo. So how many of you have done any martial arts before? So, okay. So quite a number of you, we're familiar with the concept of a catta, which is a series of repeated steps which give you sort of muscle memory in the same way that we have muscle memory with our code editors. I'm guessing martial artists have muscle memory for blocks and punches and things like that. So the point of a catta in the coding context is that it exercises you in a certain way so that you can practice, you can deliberately practice your skill as a developer. So we did this one evening, about 30 of us turned up, and the way it was supposed to work was that it was supposed to be very serious, and people were supposed to be very quiet and watch as somebody sat at the front and coded a solution to the catta. And there were strict rules about who could interrupt, and you weren't supposed to be breaking this person's train of thought or anything like that. But unfortunately, we ignored all that, and people would start typing, and from the back, Michael Ford, who I believe Keynoted here last year, would shout, you don't want to do it like that, and start correcting them. And then we started having interesting debates because somebody would disagree with him and things like that. And actually we realized that this was a good thing because we were learning from each other. So the other problem that we had with the original way that the dojo worked was only a few people got to code every evening. And actually, everybody wanted to be able to have a practice, have a go at practicing their coding skills. So this is my friend Kieran, doctor Kieran Mooney. Now, he's just starting his PhD when this photo was taken. And he had a really great idea. He said, wouldn't it be great if we split into small groups to code together? And we were trying to work out, well, how could we do this? Because if we worked in small groups, that would mean everybody would get a chance at the keyboard and we could discuss things in small groups and things. How could we get back to work? And after a few months, we came up with a recipe and I'm going to tell you what this recipe is. So part one of our Code Dojo, the London Rules Code Dojo. The first thing that we do is we socialize for about an hour. We try to make this event as welcoming as possible for newcomers. And we get people from all sorts of different levels of programming backgrounds. So sometimes you might have somebody like I was. I was an experienced developer but new to Python. Sometimes you have people who are completely new to programming. And we have core Python developers in the room as well. So we have a huge range of ability and knowledge in the room. But importantly, we make it fun and the socializing aspect of things is to break the ice so people feel comfortable. And while we're having our pizza and beer or whatever the nerd bait is in India, while we're doing that, what we do is we think of some sort of a computing problem that's interesting to us. And we write this on the board. On a board or a flip chart or something like that. This is an example from one of the early Dojos. And what we do after the sort of eating our chips and things, hour is over, we vote on which of these problems looks the most interesting. So for example, one of the famous ones is I think in this one we did the Roman numeral calculator. Then we split up into teams of about five or six. And there are about five or six of these teams. So five or six teams of five or six people. And you're all trying to code on the same problem. We explain that it's important that if you are new to the Dojo or new to programming, you need to ask lots of questions. That's your task. No question is too stupid. Okay, the stupid question is the question that was never asked. Okay, it's important that you ask. And it's more important that the person you're asking explain explains very clearly what the solution or what the answer may be. Okay, which comes around to these the experienced developers in the room. Okay, they are there because they want to be challenged as well. So how do we challenge them? Well, we explain that it's your job to explain things to the new members or the more junior, perhaps coders in your team. And what you need to do is explain things as simply as possible and as clearly as possible. And this is a very good skill to have. Because if you are able to think about why is it I'm doing this as a dictionary rather than making a class and instantiating it, then you're able to justify your thought processes and you're reflecting upon what it is that you're doing. And actually having somebody who's a junior colleague going, Well, why are you doing that anyway? Why am I doing that? Actually, it's a way of prompting you to reflect and learn yourself. Okay, so being able to cope with lots of different abilities in a room that's called differentiation. And this is how we tackle it. So everybody here is having a great time coding. Everybody tends to get at least one turn on the team's laptop. So everybody contributes to the code. It's a lot of fun. And it's high energy. And at the end of this process, after about an hour and a half, we do my favorite part of the evening, which is show and tell. And this is a public code review. How many people here do code reviews? Fantastic. So you will be able to tell the people sat next to you who don't have their hands up that code reviews are a very important part of what we do because it's a way of spreading knowledge. And it's a way of you being able to explain to your colleagues how it is that this block of code works and so on and so forth. And so by doing this in public, you're showing junior colleagues, well, this is how you do a code review. Okay. It's also an opportunity for you to show off the work that you've done with your team for an hour and a half because people like to show off the code, especially if it's a rather cool hack. It's also really interesting because everybody's head is in the same problem space. So sometimes one team will solve the problem one way and another team will solve the problem another way. And you go, oh, yeah, I can see that way is probably better. Or they use that library. I didn't realize they had that sort of a library in the Python Standard Library. I'll remember that next time. So it's all about knowledge transfer here as well. So in the dojo, we learn by doing the deliberate practice. We fail safely with sympathy. So again, another musical analogy. For me, the code dojo is a little bit like a rehearsal. If you're going to cock something up, do it in the dojo or do it in the rehearsal, not in the live performance or in that piece of production code. Okay. So if you're going to try something out, try it out in the dojo. And the other thing, the with sympathy is that when it comes to the show and tell, and this is why it's my favorite aspect of the code dojo, is that often the solutions won't work. And it's a bit of a laugh when you see somebody's code crash and burn and things like that. And they acknowledge that. But because we're all there to help each other, they're failing with sympathy and people will point out, well, perhaps you could have done it this way or that way. Importantly, we teach one another. This is an essential skill for a good developer. Okay. It shows that you've internalized the concept of programming. You understand how to analogize. You understand how to explain things. You understand what the problem is enough so that you know what to leave out in the explanation, rather than trying to fit everything in. So we explain ourselves to our peers. This is the code reviews at the end. And we explore each other's solutions. So this is a way of learning from each other. Because we get into sort of habits of thought and being able to see how other people think is actually quite a good skill. So a good example is when somebody is coding, what we often ask them to do is, well, I don't know, maybe you could tell me. In the UK, when you're learning to drive, one of the things that they ask you to do is you'll be driving along like this. And they'll say, okay, Mr. Sullivan, could you tell me what's going on in your head? And this is so the driving instructor can see that actually you're thinking about things. So I would be going, okay, I can see there's a zebra crossing coming along here. So I'm just going to look into the mirror. I'm going to slow down. Okay, the little old lady's crossed the road. I'm going to speed up and things like that. So people can see how I'm thinking. I have no idea what I'd be thinking if I was doing a driving test in Bangalore. But anyway, that's a completely different story. We ask developers to do the same sort of thing. Okay, I'm here to write an adventure game. That was the problem that we'd set ourselves. So the first thing I'm going to do is I'm going to try and work out how we're going to represent the game world. So upon reflection, I think I might use a dictionary for that. The reason I'm going to use a dictionary is because of blah, blah, blah, blah, blah, blah. Okay, so if people are talking, it also encourages people to ask questions as well. We're trying to get interactivity up here. And most importantly, we try to build our community. Okay, we have the socializing at the beginning, but when you're solving a problem with somebody else and it crashes and burns and then you make it work and you're like high five to each other and all this sort of stuff and you're able to demonstrate it at the end and it's real success. The next time you see that person, you'll have that thing in common and you'll be able to talk about it. You remember that time when we got that adventure game to work. It was really good, wasn't it? Okay, we're building a community. So this is a nice segue on to my second story about community education. So I've been talking to lots of you here in India about how you teach computing and it appears you do it like this, which is how the UK has been doing computing education. It's generally been a glorified how to use Microsoft Office lesson. Okay, it's not very inspiring, it's not really computing. Okay, so there was no actual programming and often the people who were delivering this curriculum, they were business studies teachers rather than computing experts as well. So anyone know who this is? No, it's not the guy off top gear. Who is it? Yeah, it's Abernutten, the guy who started the Raspberry Pi Foundation. He's a professor at Cambridge and he said that he was realizing that the students that were coming along to interview at Cambridge, a lot of them didn't actually have any coding experience and this was a bad thing. So he was, something must be done about this. And so the Raspberry Pi Foundation was set up, they created the Raspberry Pi, here it is, and then things started to take off. So there was an organization in the UK called Computing at School, which was created by teachers who wanted to actually teach computing. There was the Raspberry Pi Foundation and Michael Gove, who was the Minister for Education actually had to listen to a speech given by Eric Schmidt, the chair of Google, who said something along the lines, and I'm paraphrasing here, along the lines of, you know, we're in the land of Babbage, of Turing, of Tim Berners-Lee and look at what a terrible mess you've made of your computing curriculum. So something must be done. And so something was done. A new curriculum was created. So at five years old, children are starting to learn computational thinking. They might not be sat at a computer coding, but what they are actually doing is thinking about loops or iteration or algorithms and things like that. So the Raspberry Pi is interesting because it runs Python 3. And the reason it's called a Raspberry Pi is because, as Evan said in the BBC interview, is because it runs the Python programming language. It's just a shame they can't spell Pi properly. So we have this new computing curriculum. And unfortunately, teachers have a bit of a bad reputation. And I've spoken to several people here as well. It's the same in India. So those who can do, those who can't teach. And that's really unfair. That's really, really unfair because teachers are the single most important part of delivering such change in the curriculum. So it's important for us to support teachers. And this is what Python UK tries to do. As I said, I used to be a teacher. Why is teaching so valuable? Well, it's the one profession that creates all the other professions. You wouldn't be here if it weren't for your teachers. You put in a lot of effort, but it was your teachers who helped you. Teaching is also a calling. You're certainly not going into teaching because you're going to get millions. So it's a calling. And as somebody who has been both a software developer and a teacher, you know that cold sweat feeling you get when the server goes down and your website's offline and the payments aren't going through and something's crashed and things like that. That's nothing compared to some of the challenges that teachers have to deal with every day. Teaching was the most difficult job I ever had to do. Teachers need supporting. And that's what we do at PyCon UK. So as a community, as a Python community, this is a community story, we got together with some teachers and we created our very first education track. And this is a photo from the first one. We had PyCon UK a fortnight ago and we had 50 teachers turn up. So this is a significant minority of our attendees were teachers because they can see that the Python community are coming to the teaching community and offering help and support. And so teachers come to our conference and we give them beginner Python lessons. Teachers who already know how to program Python give them inspirational sort of show and tell. They give them ideas about how they might use Python in their lessons. And also they get to do a sort of a speed dating thing with developers. So teachers will come along and go, I have this problem, there's this thing, it doesn't do that thing. And I've always wanted to know why it doesn't do that thing in the way that I thought it would do. Well, why don't you ask Tim? He's the guy who wrote that thing. And then, and this is the remarkable thing, last year, Tim, Tim Golden is a Python core developer. He was sat with some senior teachers and they were confused because they had an A-level project and they didn't know how to solve it. Okay? How are you supposed to teach an A-level project that you, yourself as a teacher, can't even solve? So Tim sat down and he solved it in front of their eyes for them. And he did that stream of thought thing, you know, driving in Bangalore. He did that sort of thing with the teachers so they could see why he was making the decisions he was making. Okay? So this is a good thing because teachers are becoming part of our community. Kids, kids of the future. Kids are our future colleagues and friends and collaborators and things. And so what we do is we run a kids day at Pycon UK. It's just one day because any more days it's a bit like having a monkey infestation in the conference. Kids everywhere. But they have such a huge amount of energy and enthusiasm for what it is that they're doing. It's hard not to be inspired along with them. And developers and teachers all come along to the kids day and they help out and they teach and the kids take part. So I'm going to show you a series of photos. These are some of my favourite photos from any Pycon ever. And we, there's three children in this and it's a little story encapsulated in about five or six photos. And you will all understand exactly how these kids feel. So we have Amelia and William and Sam whose mouth you can just see. I can tell you it's monkey infestation here. Whose mouth you can just see. So Sam, William and Amelia they are programming Minecraft, you know the game Minecraft which they're all really enthusiastic about. It has a Python API and we use that to help them learn about Python. And they're trying to get something to work. And William and Amelia are typing away they think they've got a really good idea here. But something has obviously gone wrong. Oh dear me, we all know how that feels. But Sam, he spotted the bug, points it out and they've made the change and they've typed Python, whatever their script name is, it's starting, it's starting. Oh, there's no more syntax errors. That's something's going to happen. Yes! The code's running. Fantastic. We all know how that feels, don't we? It happens every day to me anyway. Where's the teacher? There is no teacher. Well, there are there are three teachers there. They were teaching each other, weren't they? Okay, this is important because as a teacher, it's a remarkable job as well because you're trying to do yourself out of the job. You want your students to become autonomous, to learn for themselves. And Sam took on the role of the teacher because he'd had a similar problem five minutes earlier, sort of thing. No adults involved there at all. So this is success. So I think William was about six, Amelia was about seven and Sam was about eight when that was taken. Young kids using Python with Minecraft to solve an interesting problem. So I was in an argument with somebody on Facebook about education and things. And this is something that I wrote. Asking what sort of education and learning our community support is how we decide what sort of community we become. For it is through education and learning that we engage with our future colleagues, friends and supporters. So if we make a bad job of educating these young people, then we only have ourselves to blame if in five or 10 years time, we can't find the people who are going to fulfill these roles. So the future, the future, the kids of the future. So one of my favorite quotes from Alan Kay who invented small talk and created object oriented programming, he said the best way to predict the future is to invent it. And in the UK, there are quite a number of organizations who have started to realize this. So my final story is about a partnership to help kids invent the future. And it's happening in the UK right now. But there's some history to it. Does anyone know what sort of computer this is? No, no, no, no, it's not a ZX spectrum. It's a BBC microcomputer. It's a BBC. So the BBC, the British Broadcasting Corporation, along with Acorn, Acorn eventually became ARM, whose chips you all have in your mobile phones. Every school got one of these in the early 80s when I was very, very small. My dad was a head teacher and at the weekends he would bring home his school's BBCB so that he could learn about computers. Well, you can guess what happened. Me and my brother, we took over the computer and we learned how to program. I can still remember my first BBC basic program. It was this. Can you work out what it does? 10, CLS, that's clear the screen. 20, print, quote, you're an idiot. 30, go to 20. Yes, exactly. You're an idiot, you're an idiot, you're an idiot. And when I did that, I realized, and it's such a simple program, but I realized that I could make this computer do what I wanted it to do. I just needed to work out how to program it. Once I knew that, I could do lots of really, really cool stuff. So there's a reason why lots of people my age are programmers in the UK is because they were inspired by BBC and the BBC Micro. So the BBC again now are creating a successor to this project. This is the BBC Micro bit and it's been created as a partnership. So we have people like Microsoft and ARM and Samsung and others and the Python Software Foundation as a partner. And what we're going to do sometime perhaps in the new year is the nations like every 11 year old, there's about a million of them. So every 11 year old in the UK will get one of these devices. Okay. And there are several ways that you can interact with this device. You could use Microsoft's TouchDevelop, which is an excellent online platform. You access it through your browser. Or, and this is because we're at Pike on India, you can use Python. So this is a BBC Micro bit. Yeah. And there's a project called Micro Python. That's rather extraordinary because it's a full re-implementation of Python 3 for microcontrollers. Okay. Everything that you find in Python 3, you find in Micro Python. It doesn't come with the standard libraries, but all the features of the language are there. And we have Python 3 running on this device here. So what could possibly go wrong? I'm going to show you the device here. Everybody see that? Yeah. Okay. So a guided tour of the BBC Micro bit. So obviously I've got it plugged in via USB cable. So I can connect to it via serial. It has two buttons here and here. Okay. They look a little bit like eyes and this is hair and along the bottom a teeth. They're actually IO pins. Okay. And if you look carefully, you'll be able to see that some of them are bigger than others. So you can attach crocodile clips to them. Okay. And this thing here is an LED matrix, 5 by 5 LED matrix that you can use to display things. On the back, all the components are labeled. You probably can't see them, but there's an accelerometer. There's a compass. This is the processor, the ARM processor. There's Bluetooth here. Reset button. You can attach batteries here. Okay. So it's quite a capable little device. Let me put that there. And let's see. Here's my terminal. Okay. So this is the REPL, the Python shell running on the micro bit. Okay. This isn't my laptop's Python. This is Python on this device. Okay. And micro bit is the module that we use to interact with the device. Because this is Python, I can do fun things like, oh, the keyboard's all weird. Okay. This is standard Python. But what I can also do, micro bit.Display.Scroll. Hello. Whoops. India. Kids love this. It's exactly the same as, you're an idiot, go to line 20. But you can wear it. Oh dear. Right. So most interestingly, you know, for us are the pins across the bottom, the IO pins. This is the last part of my demonstration. So this is perhaps the simplest possible circuit you could have. It looks a little bit like a bomb. It isn't. There's an LED, a red LED. And there's a speaker. And I've just plugged it into a breadboard. There are crocodile clips that come out from the circuit. And I can attach them to the pins underneath. Let me show you what I can do with this. If I remember to plug it in the right way, the silence is astounding. It really is. Okay, let's go back to my repl. So microbit.pin0.write digital on. And hopefully you see the LED. Okay, cool. So I've just reinvented the fire alarm. Okay. I can do some live coding now. This is exploration. This is very educational. This program, as we know this, we can try things out. We can watch it break. And then we can experiment. So let's make a metronome. I was going to say a ticking time bomb. But so I'm going to put it into a loop. And then what I want is microbit.pin0.woops. Other people's keyboards. Right. Digital on. So this will switch the circuit on. Microbit.sleep. 20 milliseconds. So it'll go beep. Then I want it to switch off. And then I want it to sleep. I don't know. For 480 milliseconds. So it's 500 milliseconds in total for a cycle of this loop. So it's going to be going at 120 beats per minute. Will it work? Let me just check. I think that looks good. Let's see. Oh, control C. Takes me out. We've hidden some Easter eggs in there as well. So what we want to do is when kids get hold of this machine, we want them to start to explore and to experiment. And you know what an Easter egg? We want to make sure that those people who are doing this sort of thing are rewarded. So what's going to happen? The Zen of Python. No. It's the Zen of MicroPython. It's what you're going to get. It's rather shorter than the real Zen of Python. Import love. Love.badaboom. We'll repeat it. Okay. That was on the initializer. Okay. So let me go back to my slides. Live demo. It didn't blow up. Fantastic. Okay. So as I said, I used to be a teacher and I have some homework for you. I borrowed this trick from Carrie Ann who's a friend of mine who works for the Raspberry Pi Foundation. So homework. So when you go back to wherever you're from in India and you're thinking, I had a really great time at Pycon India, I wish we could keep doing this sort of a thing and go to your local user group. I went to the community open space yesterday evening and I was floored by how well organized and all the amazing things that you guys get up to in India. I didn't realize this. Okay. But if you're looking for something interesting to do and you're fed up of yet another talks night or something, organize a dojo. It takes pretty much zero effort to organize and it's an awful lot of fun. That's something you as an individual can do. As a community, perhaps you could have a teacher's track or a kid's track at Pycon India. Now wouldn't that be something? And what about an Indian microbit? When these devices get delivered to children? All the software or the schematics or the information that you need to make a microbit will be released as open source. So we have the cream of Python developers in India here. You're good open source developers. You could fork this code. You could fork this device and make it your own. And that's what we hope that people do. So the deadline is due next year. That's it. Thank you very much. We have a question. So here is a question. A little bit different thing. So what do you think about mailing lists and people replying in top post versus bottom post in line reply? So I will preface that answer by saying that I was amazed by Kuchal's efforts with the IRC groups and the meetings and the things that he does to encourage new developers into the Python community here in India. Could you put your hands up if you're a graduate or currently on that program? Wow. I think Kuchal should have a round of applause. I always top post. No, you should bottom. In fact, you should look at the context, but bottom, write your email at the bottom. Any more questions? I'd love more questions. I like answering questions. Here. Hi. Stand up. Yeah. So one question is, why not use devices like phone instead of, you know, device like micro bit? Because phones are accessible. Phones are around with kids all the time. Why not use them directly? Okay. So we could use phones, but Samsung, one of the partners, said that actually the penetration of four eleven-year-olds of phones is not that high in the UK. Secondly, the sort of phone you're going to get is, where's mine? Oh, God. I think it's in my bag. I hope it is. But what you will get is a hermetically sealed device with usually a closed or complicated operating system on it. Okay. So the barrier to entry for actually being able to program the device is quite high in order to make something go, hello world on your phone. You're going to have to learn rather a lot. Whereas as you saw here, it's only a single line of Python. Okay. And the other thing is, is that you can see in the device, you can see what all the different bits and bobs are. Okay. So it's encouraging people. It's it's been designed to encourage eleven-year-olds to explore this. This is what all the partners are trying to get kids to do is explore this technology. So there's somebody else stood up there. And the microphone switched off. Hi. Hi. Can't hear you. The microphone's... Okay. Can you hear me now? I can hear you now. But it's just whenever you ask a question, it goes off. Okay. So I have a follow-up on the same question. Okay. So what if you can actually get Python console on an Android device, just like you did for MicroBit? Okay. So... And you're asking that they are hermetically sealed. Do you have USB-DU serial devices or using which you can actually connect anything you want to a mobile device? Okay. So again, I think that the barrier to entry for programming on a mobile device is still too high, even though you may... And I have seen a Python repel on an Android phone. You could do cool things like that and you're right. There are things you could plug in. But actually, the way you plug things in on the MicroBit is with this thing that looks like teeth, which is going to appeal to an 11-year-old. You can use crocodile clips and kids are used to using makey-makey and things like that in classrooms, which use crocodile clips. So it's because this is a child-focused device that makes it so interesting. Any more questions? We have... Over here. So I... I would like to know... Ah, we've got the same problem. Whenever people ask a question, the microphone cuts out. So what is the manufacturing cost of MicroBit? I don't know. How to order in India? How to order that in India? Ah, the details of the project and the things that you will need will be released when the device is released to children. Okay. No problem. Thank you. Excuse me? Yeah, here. UK also gave us Raspberry Pi. So in many schools across the globe, is Raspberry Pi is distributed. Is there any reason that you recommend MicroBit over Raspberry Pi? Okay. That's an excellent question. So the Raspberry Pi is a phenomenally successful device. I think five and a half million have been sold so far. And the MicroBit is just a first step into computing. What I think will happen, and this is a personal opinion, is that the MicroBit is a stepping stone for the next sort of a device which would be a Raspberry Pi. Interestingly, the version of Python that you use on the MicroBit is the same version of Python you use on the Raspberry Pi. So there's a continuation there. It's also important to note that you can tell kids that, well, you know what? The same version of Python that you're using to write on the MicroBit or the Raspberry Pi is the same version of Python that's used in Instagram or LinkedIn or whoever it is who's using this. So you are learning skills that have actual proper economic value, real economic value. This isn't a toy language just for children. So I guess my point is that there's continuity from such a small, simple device via a Raspberry Pi to huge billion-dollar companies. Any more questions? Wave, where are you? It's me. Okay, stand up. If you're going to ask a question, stand up and wave like this. Is there any portable... How easy to make a portable toy with a MicroBit? A portable toy like a fitness tracker or something like that? Can we make the device portable, is what you're asking? Yes, how easy to... So you can fit a battery into it. The battery goes in there. Yeah. And several of the partners are creating interesting things you can slot the MicroBit into like a little robot, for example, that will bounce against walls and you can program the MicroBit to react in appropriate sorts of ways. Sorry, I can't hit... Screen. Add a screen to it. Okay, so a friend of mine called David Well has created the MegaBit, which is... So you're a teacher and you're trying to demonstrate to children how X, Y or Z works on the MicroBit and you're holding this up. You won't be able to see this, okay? So Dave's MegaBit is a great big thing and you slot your MicroBit into the back and you hold it up and it has a 5x5 light bulb matrix on the front. And people can see it. It's an amazing device, it really is. David is a very talented engineer. Any more questions? Yeah, I have a question. Okay, stand up. Yeah, I've been waiting for a while. So, you know, one practical problem we might face in India, which I have seen is that you give one of these pretty amazing things to a kid and he's playing around with it, he's having fun. Yeah. Then you take this to an Indian classroom, to a typical, what do you call it, Indian teacher with what we yesterday heard from Dr. Rajit as inertia, right? Yeah. He'll be like, yeah, you know, the stuff is good, but this is kid stuff what they're doing. You know, it's not serious. You know, this is the mindset, right? Right. So, you know, they are doing hello well, they are doing some, you know, some games. But you know, we don't ask this kind of things in the exam, you know, we do serious stuff. You know what I'm saying? C and C++. So the question is that, how do you change the mindset of the teachers? You know, do you have any programs there? Do you have this problem? Because this is like a, I think it's a big problem in India. Okay, so, I have a question for you. Then who should be fixing that? You, you, you. This is what we did at Pycon UK. That's intensely annoying. Whoever's that phone is, please switch it off. Hi, I have a question up here. Yeah. Question in two parts, one slightly related, like which version of Python does it run? And second, slightly unrelated, is Python 2.x versus 3.x. Like, okay, I've been working on 2.x, 2.7, to be exact. And move to 3.x, still sounds like, okay, it sounds like all together different world. It's not all that different, you actually dig deeper into it, it's still different. So how exactly do you get kids to start on something which might change further down the line? So what's the best way to get started on to something which will be there in the longer run? Okay, so the seeds of your answer are in the way you asked your question, actually. So Microbit uses Python 3. The Raspberry Pi uses Python 3. So the general advice is use Python 3. And that goes not just for children and teachers, but for all Python programmers now. I think Python 3 is mature enough for people to be able to use this for new projects above and beyond 2.7. Yeah, I've drawn my landline in the sand and stepped over it, there we go. Python 3, it's the future. It is, I'm serious. How are we doing for time? I'll just add one more line. So there will be no new features coming in Python 2.x series. So seriously, no new features. If you want to use the latest language which is there up much better and you want those latest fancy things in the language, you will have to use Python 3.x, that is 3.5 which is already released. So if you're writing, starting a new project, start in Python 3. Yeah, and you get lots of cool stuff like the new async IO, async, away from all this sort of stuff. Yeah, hi, okay. So my question is, which microcontrollers does MicroPython work with? It's an ARM chip. Sorry? It's an ARM chip. I don't know which one. Okay. Thank you. Questions? Yeah. What's the operating system which is running on that? So this is running on bare metal. Okay. The Damian, George, the guy who created MicroPython, again, I'm being videoed while I say this, he's one of the most talented developers that I've ever met. He's done a remarkable job, a busy guy. Questions, anyone? Okay, I think maybe we're done. Yeah. Thank you very much. Thank you, guys, you were great.