EduBlocks - Making the transition to Python easier!
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 132 | |
Author | ||
License | CC Attribution - NonCommercial - ShareAlike 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this | |
Identifiers | 10.5446/44936 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
00:00
Interface (computing)UsabilityComplex (psychology)Revision controlDampingStandard deviationCodeBlock (periodic table)Network topologyPerspective (visual)Wave packetPoint (geometry)Type theoryMultiplication signOrder (biology)TwitterBitArchaeological field surveyCodeDrag (physics)Drop (liquid)Computer programmingQuicksortFormal languageNumberRevision controlCASE <Informatik>InternetworkingWordLink (knot theory)Speech synthesisCuboidLine (geometry)Projective planeProgramming languageTouchscreenInterface (computing)Student's t-testMereologyRange (statistics)Tablet computerGame controllerComplex (psychology)NeuroinformatikText editorComputer scienceGame theoryMoving averageDifferent (Kate Ryan album)Online helpUsabilityComputer virusDrum memoryTouch typingComputer animation
07:29
Computing platformComputer programmingBlock (periodic table)CodeView (database)Computer configurationRevision controlCore dumpFaster-than-lightKeyboard shortcutPlastikkarteComputerVideoconferencingComputer programPhysical computingSupersonic speedDemo (music)Interface (computing)Block (periodic table)CodeView (database)Normal (geometry)Physical computingNeuroinformatikPiComputer configurationBitWebsiteLibrary (computing)Computer scienceKey (cryptography)GoogolStandard deviationCuboidSpacetimeWave packetGame controllerComputer programmingType theoryVapor barrierCodierung <Programmierung>ProgrammschleifeTask (computing)Supersonic speedComputing platformMathematical singularityRevision controlProjective planeOnline helpPlastikkarteMusical ensembleComputer fileQuicksortBookmark (World Wide Web)Error messageDemo (music)Text editorCASE <Informatik>DampingRoboticsWordMultiplication signArchaeological field surveyMedical imagingComputer animation
14:58
Demo (music)ACIDCodeMultiplication signRevision controlPiType theoryBlock (periodic table)CuboidStatement (computer science)Letterpress printingDampingVapor barrierComputer programmingPersonal identification numberWhiteboardDifferent (Kate Ryan album)Demo (music)XMLComputer animation
15:56
Compass (drafting)ComputerControl flowPhysical computingPhysical computingNeuroinformatikFreewareInterface (computing)CodeDifferent (Kate Ryan album)BitUniform resource locatorQuicksortView (database)CuboidTouchscreenRevision controlDemo (music)Message passingCASE <Informatik>Block (periodic table)Server (computing)Cheat <Computerspiel>Flash memoryVideoconferencingGoodness of fitLibrary (computing)Greatest elementCompass (drafting)Process (computing)Electronic visual displayMicrocontrollerMultiplication sign2 (number)SineOnline chatWeb 2.0Game theoryComputer animation
19:28
WebsiteProjective planeDifferent (Kate Ryan album)MereologyLibrary (computing)QuicksortVector potentialArithmetic meanPeer-to-peerDemo (music)Wave packetComputing platformRight angleDampingComputer virusVideoconferencingCodeElectronic program guideField (computer science)SpacetimeType theoryBitCASE <Informatik>CodeBlock (periodic table)CuboidDegree (graph theory)Digital electronicsSupersonic speedFreezingComputer animationMeeting/Interview
24:37
CodeBlock (periodic table)Computer fontProjective planeIP addressLibrary (computing)Online helpCuboidBlock (periodic table)Demo (music)Open sourceLevel (video gaming)Connected spaceInternetworkingStandard deviationWindowWhiteboardProcess (computing)Computer programmingElectronic program guideFocus (optics)Multiplication signRing (mathematics)Different (Kate Ryan album)Electronic visual displayQuicksortIntegrated development environmentTwitterComputing platformTouch typingTerm (mathematics)BitSlide ruleFood energyStructural loadTouchscreenGoodness of fitInterface (computing)WebsiteCrash (computing)Computer animation
29:46
Personal identification numberGraph coloringPixelDifferent (Kate Ryan album)ProgrammschleifeQuicksortCodeRing (mathematics)Library (computing)Multiplication signoutputRange (statistics)Letterpress printingText editorComputer animation
30:41
Text editorView (database)Computer animation
31:08
QuicksortDampingLocal ringInheritance (object-oriented programming)WritingBlock (periodic table)Computer animation
31:47
Different (Kate Ryan album)Block (periodic table)DampingSoftware developerCodeBitConnected spaceCuboidWrapper (data mining)Type theoryInterpreter (computing)Revision controlSpacetimeProjective planeCodeOnline helpMachine codeLecture/Conference
33:39
Image resolutionComputer programmingMoore's lawRobotCuboidData structureRoundness (object)Text editorOnline helpOrientation (vector space)QuicksortDifferent (Kate Ryan album)Computer animationLecture/Conference
35:10
Computer animation
Transcript: English(auto-generated)
00:04
Hello. My name is Josh, and today I'm going to be talking about a project that I started when I was 12. I'm going to talk about a problem, and then talk about my solution to this problem. You can find me on the various links on Twitter and on the internet
00:24
if you really want to go that way, and I've won some awards but you don't really need to know about them. Let's do a show of hands. Who's heard of Scratch before? Okay, so most people in the room. Scratch is a drag-and-drop programming language,
00:46
if you've never heard of it before, and it is introduced to year three peoples in England. So that's seven to eight year olds, and it is dependent on reading skills of
01:00
children to kind of get used to how Scratch works. So Scratch, you can do a range of different things, so you can build games, you can write stories, all sorts of things, and I actually gathered a survey on Twitter the other week to see when Scratch has started. So Scratch is introduced at a very young age, so
01:20
Scratch has a version called Scratch Junior, and that is being introduced to four-year-olds. So in England, programming the basics is being introduced to four-year-olds, and then when they get to seven and eight, they learn how to program in a bit more of an advanced way than Scratch Junior. So when do we actually teach Python? So everyone in this room knows
01:45
what Python is, or I'll be quite worried why you're actually here. So Python is introduced to year eight peoples in England, and this is twelve to thirteen year olds, and by this time they've used Scratch for around five years, and I found that they have started to lose interest. So this is
02:06
coming from my perspective of being in school, this isn't kind of a generalized thing. So what I've seen is when we start to do Python, it's kind of year eight in my school. So they've done Scratch for about five years, and we're
02:20
actually told that there's no more to programming than Scratch until year eight. So people lose interest, they don't really want to do it, and then when they're launched with Python, they've not actually been prepared how to do it. So Python is introduced and people don't really want to learn it, they don't really want to do programming, and I see this is a
02:49
problem. So there are three main reasons why this is. So there are a lack of typing skills. So you may think, oh, when you get to year eight, then
03:01
you're really good at typing, you can type 10,000 lines of code in two minutes. That is actually not the case. Children have a lack of typing skills, and this can be for a number of reasons. So we're in the age of tablet devices and touch screens, and I've run multiple workshops around the world, and
03:22
I've actually been asked numerous times what a keyboard and mouse is. So we're in the age of where kids don't actually know what the basic parts of a computer is, so they have the lack of typing skills, and they find it hard because obviously Python is a text-based programming language, whereas Scratch is drag and drop, and you don't really have to do much typing.
03:44
Teacher training is lacking, so I'll go on to this in a minute, but in the UK, a new computing curriculum has been launched, and teacher training was actually lacking at this point. The government said, oh, let's introduce
04:01
computer science for everyone, and then they forgot to actually train the teachers, which is probably quite standard for the UK government, but we'll save that for another talk. So, yeah, so teacher training wasn't there. Before computer science and coding was introduced, they did
04:21
something called IT. So IT was your standard word, PowerPoint, publisher, all that sort of stuff, and the teachers were only trained in that. And then one year, they kind of got landed with computer science teaching Scratch and Python, and there was no actual support from the government and no money for training. So that is a problem too. And this is a common
04:44
one. Python is too scary for younger kids at a younger age. So how can we actually make this easier? So I have developed a solution. So how can we actually solve this? So we need a tool that provides a Scratch Lite
05:00
interface that can help students get into Python with ease, something that requires no training and complex typing skills. This seems like the obvious thing to do, and when I actually developed my solution to this problem, people were like, oh, why has no-one done this before? And people have done it before, but no-one has actually success with it,
05:22
so I tried to develop something. So introducing, this is a big reveal, drum roll, kind of one. So this is the Scratch Lite interface for Python. So you may be thinking, oh, this is really rubbish, this is kind of teaching kids that Python is just one of those drag-and-drop
05:44
program languages, they'll lose interest really quickly, no-one will want to do it. That is not actually the case. So the way that other programs have done it before is you've had drag-and-drop Python, but they've actually missed out a key part which is
06:00
putting the Python code on the blocks. So you can see, instead of Scratch, so it looks like Scratch, but instead of Scratch, you have the actual Python code on the blocks, so as you're dragging and dropping these colourful things and making these programs, you might not know it, but you're actually learning Python at the same time. So it's getting people used to indentation with the different blocks and the different orders,
06:23
and how to type it out. So once you've done entry blocks for a year or so, you'll actually be used to how things work, and you'll know your way around kind of Python. So it's an easy way to learn the Python 3 syntax, so like I said, you have the Python code on the blocks, and you
06:44
also, where it's got that blockly button at the top, if you click that, you can actually go into a Python text editor. So once you've dragged and dropped your code into the interface, you will actually not lose your Python programs. So you can develop it in blocks and then run it in idle or something, whatever you'd like. It's an
07:04
educational tool for younger children, so like I said, it's a nice, colourful interface, and it's familiar to Scratch, so I ran a workshop in France with about 20 non-English speaking kids, and they actually did better than
07:20
English speaking kids, because they'd done Scratch in the school, and they could code in Python by the end of the workshop. So that was quite nice to see that the kind of philosophy of the program works. So yeah, so it's for younger children to kind of get into text-based programming, but in a way that's not really scary by
07:41
having to type and make syntax errors and all that sort of stuff. It's also a platform for educators, so as well as providing tools for children, there's also lesson plans and stuff like that. So it's mainly for educators as well, so I've run teacher trainings, and it's being used in schools across the world. So it's
08:02
kind of proving to be a success. So why does this actually exist? So as I said earlier in the talk, a new computing curriculum was introduced in 2014, and this is a survey by My Kind of Future, which has kind of
08:21
changed its name now, but it was by them. And it was introduced in 2014, so this brought programming with Scratch Junior, Scratch, Python, and Greenfoot, which is a JavaScript platform. And yeah, so the problem with the new computing curriculum is this. So when the new
08:42
computing curriculum was launched, people thought, oh, this isn't going to be a problem, everyone's going to know what they're doing, but actually 74% of teachers in the UK had inadequate training at this time. So as a community, everyone had to come together, so people like Raspberry Pi, which I'll talk about in a minute,
09:02
came together and kind of solved the problem of lack of teacher training. So the goal with edgy blocks is that you don't actually need to be trained in all of this, because there's resources and stuff online that can help you get started. That was kind of a main key when developing the project. So how is it helping others? So like I've said in
09:23
the past, it displays the Python code on the blocks. So as you're dragging and dropping, you might not know that you're actually coding in Python, but you are. So you drag and drop the blocks, snap them together, as would you in Scratch, and then you build up your program and it's nice and simple.
09:42
So it kind of brings down that barrier of having to type it out, but it's also speeding up the way you develop Python as well. As well as displaying the Python code on the blocks, you've also got the option to download the Python file. So you can do whatever you would normally do, as if you were type it. So you can build this thing in blocks and say, look, mom,
10:00
I've coded all this and not actually done it. So yeah. And you can view the pure Python code with click of a button. So all you need to do is click one button and it will automatically give you a text editor. So it's kind of showing what you would have to do to type it. And you can also, yeah, you can develop your code
10:22
further once you get more kind of advanced with it. One question that people ask is, can you type stuff in the Python view and then it translates into blocks? That is not the case because Google Blockly have actually restricted that feature, unfortunately.
10:42
So what does edgy blocks work on? So it doesn't work on PC yet. Well, it does, and it doesn't. I'll come on to that. It works on the Raspberry Pi, which is the first thing we'll look at. So it works on the Raspberry Pi and the BBC mic bits, which you may have heard of if you're in the UK. And you can access that
11:04
all on a nice launcher on the website. So let's talk about the Raspberry Pi. So has anyone heard of the Raspberry Pi before? Most people. So this is Raspberry Pi. This is the latest Raspberry Pi. And it's a credit card size computer.
11:21
So you can see it's very small. And all you have to do is plug it into a keyboard and mouse and you have your own computer and SD card, of course. And it was developed to promote basic computer science in schools and help computing in developing countries.
11:42
So the Raspberry Pi is only $35. So it's very cheap and accessible. So it was made for computer science and third world countries who don't really have access to large pots of money to kind of get access to devices in schools to teach computer science.
12:02
So the problem in schools at the minute is a lack of funding. You might see on the news that schools don't actually have funding to teach certain subjects. So the idea of the Raspberry Pi is to make a cheap device that you can actually do computer science on. It's capable of doing everything that a desktop computer would normally do.
12:23
So as well as using it as an educational device, if you wanted to get a Raspberry Pi and do normal day tasks on there, you can as well. So edge blocks for Raspberry Pi. So let's have a look at the things that you can do. So you can do basic Python programming.
12:41
So like your wild true loops and hello world and stuff like that. You can program with Minecraft, which is every kid's favorite thing to do. As soon as you go into a workshop and say, what do you want to do? And it's instantly like Minecraft. So this is providing a fun way to interact with Minecraft.
13:01
So making it do things that you wouldn't normally do in Minecraft if you didn't program it. And edge blocks provides an easy interface to use the Minecraft Python API. You can do physical computing with GPIO zero. Ben is at the back if you want to know more about that. So that is an easy to use Python GPIO interface
13:24
in which you can use LEDs and buttons to make cool projects. It's Python 3 at its heart. It's 2018, so it's not Python 2. And I don't plan on making a Python 2 version if anyone really wants it.
13:40
So yeah, it's all Python 3. And so there's nothing else. There's no Java and stuff. So let's have a look at the features that the Raspberry Pi version can do. So you have basic Python, GPIO zero, Minecraft, Sonic Pi. So Sonic Pi is making music with code, but there's a Python interface for Sonic Pi.
14:03
So has anyone heard of Sonic Pi before? Yeah, so quite a few people. You have the explorer hat, which is to build robots. So that's another cool thing. So you can put your Raspberry Pi with edge blocks on and make your own robot. The SenSat, so there's two of these
14:20
on the International Space Station, and that was developed by Raspberry Pi to kind of make competitions for schools so that they can run their Python code in space, which is kind of cool. You have the standard requests library, so you can request websites and stuff. And you have BTO,
14:41
which you can actually use the micro bit in conjunction with the Raspberry Pi version. But let's have a look at a demo. So this isn't just some photoshopped image that you can... So this is the edge blocks of Raspberry Pi version.
15:01
So you can see the dragging and dropping of the blocks. So if you've seen Scratch before, you can see it's very similar. And you just drag and drop the blocks of Python code underneath one another. That's a print statement. So you can see that kids won't have been able to type it that quick,
15:20
but they're learning Python at the same time. And they can run it and you have your Python program running that easily. So it's kind of lowering the barrier to entry to Python. So the next demo, this is a Raspberry Pi add-on board called the Blinked. So the cool thing about the Raspberry Pi is it has 40 GPIO pins.
15:43
And different companies have developed add-ons which you can just slot onto the Raspberry Pi and you can do cool things. So this is just a simple flashy light add-on and it goes to the Python piece. So there's the Python view there. And then you run it
16:01
and you can see that the lights turn on, but the camera's not very good. So you can't really see it. Minecraft. So let's play the video for this yet. So this is Minecraft and you can see it follows the same process of dragging and dropping the blocks. So this will import the Minecraft library
16:20
and then post something to the chat. Now you might be able to see if you've got good eyesight, it'll pop up in the corner. This is just a simple hello world demo in Minecraft. So you can see it'll connect to the Minecraft server and then post something to the chat. So it's basically simple things that you can do with Python but kind of providing that simple interface to do them.
16:44
So let's talk about the BBC Micabit. So the BBC Micabit is another pocket-sized computer and it has all sorts of different things like built-in Bluetooth. And the really cool thing about the Micabit is it was given free to every 11 to 12 year olds in 2016,
17:04
I think it was. So year seven kids got one of these free via school. So let's have a look at the features. So you have a five by five display so you can scroll messages and make games.
17:21
You have two buttons, a compass and an accelerometer so you can shake it and it'll do stuff and Bluetooth as well, which is really cool. So let's have a look at what the Micabit does. So you can control the onboard feature of the Micabit. So down the side, you've got all the different commands
17:43
boxes where you can click on them and you'll see the different Python commands for the Micabit. And it's all using MicroPython. So if you've never heard of MicroPython, it's a small version of Python for microcontrollers. And you can build wearable projects. So the really cool thing about the Micabit
18:01
is it has these edge connector ports at the bottom and you can actually sew into these and build your own wearable badge or something. You can again do physical computing with the edge connector. So just like the Raspberry Pi, you can plug in LEDs, buttons and all sorts of different things.
18:21
And it is MicroPython at the heart. So everything's running on MicroPython and you can actually run this locally on your computer or you can go to the web address, which is microbit.edgebox.org. So more demos because we all love demos. So this demo is a scrolling name badge.
18:42
So it works exactly the same, but you're just doing this on your computer. So this will scroll a message on the screen and then sleep for... So it works in milliseconds instead of seconds and you don't need a time library in case you're wondering if I'm going to make a mistake. So it has the same Python view
19:00
as edgebox to the Raspberry Pi does. But instead you actually download the code and upload it to the Microbit and this works just like a flash drive would. So it flashes onto the Microbit. This takes a short while and then you should see a scrolling name badge. So there we go. It's nice and simple to use
19:21
and it's really effective as well. So this is kind of like a cheeky self-promotion, but I also am involved with the Microbit magazine and there's lots of edgebox tutorials and stuff if you want to get started in there. So let's take a look at where edgebox is being used.
19:42
So if you're wondering if I'm just blabbing on and like two friends are using this, that's not the case. This was a Saturday afternoon project because I was bored. So yeah, it's kind of gone a bit immense now. So it's being used in 90 countries, in schools, homes, and maker spaces
20:01
and all sorts of different things. So we're conquering the world with easy to use Python. A really cool thing about edgebox is it has really good documentation. So if you want to get started, you just pick up a Fusor sheet. So I didn't mention that everything is free.
20:22
There's no catches with it. So you just download one of the resource sheets. It guides you through a project and you're ready to go. So that's really cool. All sorts of different people contribute resource sheets. So there's lots of community projects out there as well,
20:40
as I said in like the magazine stuff. So that's free for everyone to download and it's just PDFs on there. Lesson plans. I'm hoping to get a few more of these done so that these are written in conjunction with teachers. This one in particular was actually written by a trainee teacher
21:02
and she used this to pass her kind of like degree, not a degree, but to get into like the course. So it shows that edgebox has potential there. So she wrote a lesson plan and that's been used in schools as well. So I hope to get more of them for teachers to just pick up and you're ready to teach a lesson.
21:23
It's been used in schools worldwide. So as well as schools, there are also makerspaces and teacher CPDs. So I actually go out and train teachers, which is slightly scary for some teachers and having it the reverse way around to what they'd normally be used to. But yeah, so it's been used across the world.
21:44
And yeah, so it's really showing its potential in the different things there. We have a little video from a person who runs a co-club. So hopefully the sound works and- Hello, Josh asked me to talk about edgeblocks to you
22:03
and explain my experience of using it with co-clubs and with outreach. And what I do as part of working with Pomaroni is I go into schools and I try and get children into learning STEM, learning tech, and learning how to code. And one of the main problems I find
22:20
as a former special educational needs teacher is that children don't necessarily grasp the syntax of coding. And although Scratch is useful and some of them have picked it up, a lot of the concepts are very abstract. Whereas with edgeblocks, they're very, very clear as to what they mean.
22:41
I find that edgeblocks is great for Sonic Pi. It's great for Minecraft, which obviously draws children in because all children love Minecraft. It takes out the pain of GPIO 0, which is a great way of controlling things using your Raspberry Pi. But with edgeblocks, it's completely painless.
23:04
Also, I work for Pomaroni, so I'm kind of biased because there are so many libraries for Pomaroni add-ons also within edgeblocks, which is great. You're not just left to fend for yourself either. There's a whole learning portal. So Josh has actually created tutorials
23:21
which guide you through all these new concepts and all these new things. I described it as a work of chuffing genius and I'm not joking. Josh knows, he's tested it in the field. I've seen him deliver excellent coding workshops to his peers and to people way more experienced than him.
23:42
And he knows what it's like to be frustrated to have to wait for all your typing to come true, as it were. And by making edgeblocks, he's made it fundamentally clear, fundamentally easy, and anybody can pick it up. So I would recommend it to anybody.
24:03
Hello. Oh, right. So that was a quick kind of use case for edgeblocks there. So let's talk about what's next and where I would like to head in the future. So a next step for edgeblocks is to, of course, bring it to more platforms.
24:21
So the next platform that it's going to be coming to is the Adafruit Circuit Playground Express, which I'm sure you've heard of before. So Adafruit Circuit Python, which is a fork of MicroPython, that's coming to edgeblocks next. Another cool thing, which I will hope to do a live demo of,
24:41
although it hates doing live demos, is this little board here. So this is the ESP32, and it's running edgeblocks with a little display there and a NeoPixel ring. So, oh, it's crashed. I hope to show you how this works in a minute. And the other next step is to get more learning resources,
25:06
which I will talk about on the next slide, I think it is. No. So edgeblocks is a completely free and open source project. So it's on GitHub, and I urge you to kind of
25:20
contribute to the project and stuff. So you can fork it, submit a pull request, even if it's just a typing mistake on one of the documentation kind of sheets, please do contribute because anything that you can do really helps with the project and propels it forward.
25:41
You can also submit blocks. So I'm working on a feature where you can build your own block libraries. So if you had a library that you really wanted added into edgeblocks, I'm going to create a guide and an easy way to add your own libraries, because I'm in desperate need of that.
26:00
So yeah, have a look at the GitHub, see where you can help out. All help is grateful. Patreon. So running an open source project is of course not free if you do it yourself. So you have all sorts of different things that need to kind of be put into it.
26:22
Patreon is kind of my way of getting people to kind of help out with edgeblocks. So I'm going into year 10 next year, which is GCSEs. So it's an important time for me to kind of focus on school. So hopefully with Patreon, this will help kind of
26:44
outsource the work on edgeblocks to keep it going for the next two years, whilst I don't have as much time as I personally had before. So it also goes towards resources. So getting more resources on the website. So the long-term plan is to have a year's curriculum on there.
27:03
So Patreon is going to help out with that. So all funds via Patreon will go towards the resources. If you'd like to get in touch with me, you can do so on the following platforms. So you can go to the main website, send me an email, or reach out to me via Twitter.
27:24
So let's have a demo at the ESP board now. So if we go into here, and it hopefully wants to work, reset it. So it runs its own Wi-Fi hotspot.
27:41
So that's how you connect to it. Now the battery has actually died. So it is being powered off USB at the minute. So once this is booting up, I'll explain what you can see on the screen. So this is the main interface that you get when you launch the ESP edgeblocks.
28:00
So this is the ESP32 panel. So you have your standard ESP things like connecting it to Wi-Fi and stuff. So if I reboot it again, because it doesn't want to work, because it's stage fright. There we go. So you can click on edge blocks, and hopefully it will launch into the edge blocks environment
28:26
that you will see for Micabit and stuff like that. It never wants to work when it has to. Only when it doesn't have to. Oh, the Wi-Fi's gone off.
28:40
That's good, because I can show you how that works. So it loads up its own Wi-Fi hotspot, which you just connect to. And if Windows wants to do its job correctly, which it doesn't often want to do, it will connect to the Wi-Fi hotspot. And then you can go to the IP address at the board, and it will connect.
29:01
So hopefully, once Windows has figured out that it has no internet connection, it will load up. It does work after a while. There we go. So you can see that you get to the panel, and then you load up edge blocks here.
29:26
So this is kind of like an early release of this. This isn't final or anything. But you can see that you've got all the blocks on the side here. So you've got your standard blocks. And this is all running off the ESP, so there's no installation required.
29:42
You just connect to it over Wi-Fi. And if we open up the program that's running the Neopixels, which is this one here. So you can see that it works kind of the same as the Raspberry Pi. So you define the pin number and set all your loops for the different colors.
30:05
So I'll just explain what this code does. So you import the libraries as standard, so your Neopixel library and the ESP library. And then you tell the ESP how many Neopixels is actually on the ring.
30:23
And then you create different loops for the different colors. So you can see for R in range 24, that will mean that it will do it 24 times to light all the different pixels. And then it will set it to red and then print on the OLED display. So there's all sorts of different things that you can do with it.
30:41
So if we go into the Python view, you can see that this is the Python editor and it works exactly the same as if you were typing it in idle or something. So yeah, this is a very early release and that's all on GitHub and contributions for that as well will really help with that.
31:00
So yeah, has anyone got any questions at all they'd like to ask? Yeah, oh, thank you. Please come and queue up at either of the two mics. You can hear me on here? Okay, this is awesome.
31:21
I'm a parent of a 10-year-old and I'm looking at this. I'm sort of curious, like what tools did you use to write EduBlocks yourself? And also what was your path from learning to code to using those tools? I'm just kind of curious. I am a self-taught coder at the start, but then I've had people help me along the way.
31:40
So I started out with Scratch as most people do my age. And then I went on to learn from others at the local Raspberry Jam. So if you don't know what a Raspberry Jam is, a Raspberry Jam is a meetup for coding enthusiasts and people involved with Raspberry Pi. And the idea of a Raspberry Jam is to kind of connect different people
32:04
who want to learn coding and stuff. So I kind of started out with Scratch, and then I met a developer called Chris Dell, who... Well, I actually started out on EduBlocks two years ago on my own, but then I met a developer called Chris Dell, who helped me develop the project to the second version to make it look a bit nicer.
32:25
So EduBlocks is currently coded mostly in TypeScript, and there's actually zero Python in there, which is kind of weird. But yeah, so it's kind of just a wrapper for Python. And the way it works is you drag and drop the blocks into the main coding space,
32:41
and that actually gets converted into JavaScript. And then there's a Node.js server, which takes that JavaScript and then runs it in a Python interpreter. So that's how it works at the minute. The code is a bit messy, so I hope to kind of refine it a bit. But yeah, it's mainly TypeScript is what it's written in.
33:03
Yeah. Hiya. So you mentioned you requested some contributions. Will you be around for the sprints? Yes, so I'm at the sprints tomorrow, hopefully. So if anyone wants some help with contributing, you can come and find me at the sprints, and I'll be happy to help out there.
33:24
Thank you, Josh. It's always really impressive and great to see this. You've aimed this at young people mainly, but have you wondered about whether you might apply it not just to young people,
33:42
maybe, for example, to people who need to solve programming problems, but have the same lack of experience that children might have, and would benefit from something that gives them the computational power and the structure, but presents it in a way that is maybe less challenging or intimidating to people who,
34:04
just because of their work, perhaps, have got a problem they want to solve, that could be solved with some Python, but need a different way in from the text editors and so on that they use. Maybe there's a different kind of market. So Edubox, as you said, is mainly child-based.
34:23
But yeah, anyone can use it, so it's free to download. I think I should mainly kind of say that it's for everyone, more than just like kids. So maybe a few resources on kind of, we're looking at doing some debugging resources, so as you said, if you've got a problem, ways to kind of use Edubox to learn Python
34:43
and help solve the problems and sort of stuff like that. So yeah, I think I definitely do need to kind of look into making it more adult-orientated as well as child-based, because I think, I mean, it is for everyone to get into Python, but definitely focus more on that.
35:00
Yeah, that'd be a good idea. Thank you. Is that it for questions anymore? Well, if there's no more questions, please give Josh a big round of applause.