 So first I'll talk about the very first thing I used and how well they worked. So I started with these drag and drop blocks languages for kids. The basic concept behind these is you drag blocks of code out of the menu when snapping together to make simple programs. There are a lot of these I've listed some here, but the best ones I use were Alice and Scratch, which I'll talk about in the next few slides. So the first thing I use is called Alice. It's from CMU. It's a free download for Windows and Mac or Linux. I chose it because the 3D animation looked cool and objects in the world have methods and attributes, but partly because of that it turned out to be a bit too complicated. It was the first language and I couldn't really get very far with it. So I never made great flying airplanes because the code was too complicated. Here you've got a screenshot of Alice. In the left you've got the area from which you drag blocks of code in the center of the area to actually snap the blocks together and in the top you've got the display area which can be enlarged when running the program. So another thing I use and the thing I use the most, I use it for a few years, is called Scratch. It's from MIT. E version 1 was a download version 2 of the browser based. It had a 2D world. Each object in the world had one script plus event amblers for keystrokes, etc. And it was a great first language. It was simple, a lot simpler than Alice, and version 2 had a huge community to share a remix and write other people's stuff. I built a ton of things in it, mostly simple games, but I never made great flying airplanes because everything looked a bit cheesy. Here you've got the Scratch 2.0 website, filled up to a game I made. You can click on explore and view other people's projects. You can play them, look at the code and remix them. But just going back to my game. You can play it directly from here, but I'll go inside and here you go. So it's a very simple space invaders theme game where you, I guess you try and stop the presence from breaking. I made it because my dad said no more guns. And therefore, okay, let's wind away around that. There you go. Four objects in it. All of them have very little code except this object here. And even it really doesn't have much code at all. So this demonstrates just how easy it is to write very little Scratch code and have a playable game. Another thing that makes Scratch really easy is it's absolutely impossible to make a syntax error. Things just won't fit where they're not supposed to go. For example, with this if statement and if clause has to be a Boolean operator which have a specific angle shape and won't fit anywhere else and nothing else will fit in the if clause. So since I moved up from the blog's languages several new ones have appeared. One's called Trinket. They've added a lot of new things and in doing so they've lost a bit of the simplicity. And it's cool that it generates Python code based on your blogs but that's not really helpful to beginners. And then there's Tinker which looks cool, capable and simple but it's not free. So next I'll talk briefly about the thing that I used in between the blog's languages in Python and then in more depth about how I learned YouTube programming Python. So in between the blog's languages in Python I used several things. I used Logo but it was a bit boring because it only had telegraphics. I used some robot battle type things but they required things like trigonometry for basic functions such as movement and targeting. So as a seven year old I couldn't really get very far with them. And I just generally needed to understand programming better. So I started with Python when I was eight and a half. I picked Python because my dad recommended a dynamically typed language, whatever that is and it looked like there were lots of courses online. So I started with Python on a 15 hour interactive tutorial from Codecademy. It covered basic Python but the assignments weren't very challenging usually just a few lines of code and there was no graphics at all. So here you've got a screenshot of Codecademy. On the left you've got the instructions in the center you've got the area to write the code and in the top right corner you've got the console. So after Codecademy I used an interactive textbook with exercises from interactivepython.org. It also ran Python in the browser but it was only tourographic so it wasn't bad but it didn't really grab me. So here you've got a screenshot of interactivepython.org. On the left you've got the area to write the code and on the right you've got the... I wanted to make games so my dad installed a local copy of Python with Pygame and we found some online tutorials. There are a lot of them but we couldn't really find a good one because they either didn't have exercises weren't easy to understand or were full of broken links and Pygame was a bit complicated for me at the time. So I needed a proper structured course there were a lot of them the best looking one was an introduction to interactivepython from Rice University on Coursera. It was really good they provided a graphics module called Simplugui that's good enough to write five games they provided an online editor called Coursera.org but you could also download the packages and run them locally on top of Pygame. They had challenging assignments of a few hundred lines of code most of which were fun games and it covered most of basic Python it was two parts, ten hours per week and five weeks for each part and there were two more two-part following courses so about 300 hours of course material in total. Here you've got their online editor Coursera. You've got a built-in debugger a built-in documentation and some demos for playing video games when your data isn't looking. What you've got what I've pulled up here is source code for my Asteroids clone which was the final project of an introduction to interactive programming Python part two it's object oriented and about 400 lines of code I'll just show you. It can run in the browser or locally. Here it is running as an HTML5 game it's quite simple you just use the arrow keys to move up space to fire and I decided to add an inertial movement inertial turning to make it more realistic. So in terms of my next steps I still have the last two of the six parts in the Coursera series to do next I'll pull around some more simply in the download Pygame and I think I'll make some Android apps and KV or as a last resort Java So good playing airplanes I've been at this for five years and I still haven't Thanks for listening to my presentation and if anyone has any questions I'll be happy to answer them