Placeholder Image

Subtitles section Play video

  • >> Hello, everyone. My name is Michael. I'm a 13-year-old boy and I enjoy all things Pokémon,

  • Lego, Star Wars, and now play video games and VR all day if you'll let me!

  • >> My name's Jason, his dad, CEO of a company called Codeup in the States, and we teach

  • adults how to code. I know a little bit about Pokémon, and video games are all right. Before

  • teaching kids to code and giving you tools to go back home? And teach kids to code. , let's

  • talk about why teach kids to code? I think most people in the audience have some opinions

  • about that, but I wanted to find out from a kid. Michael, why do you think kids should

  • code? >> Kids need a better understanding of technology.

  • Most kids think technology is Google, YouTube, and Fornite. There's a not close to the possibilities.

  • Coding makes you creative and makes you want to do amazing stuff, integrate and teach children

  • logic, like if something happens, do something else. You also learn how things work. You

  • can learn how to send an mail, or learn how a computer works. It's cool to build Lego

  • and play games. It's cool and awesome to programme things. It's also really fun. I do on a daily

  • basis. >> Awesome. So before we get into the right

  • way to teach kids how to code, we figured we would go over a few of the things we think

  • are the wrong way to do it, and last summer, Michael was super excited to go to a camp

  • where they were going to teach Minecraft mods learning Java and we learned a few things

  • that are the things to avoid when trying to teach a code.

  • >> First thing to start with is a hard language, Java or C. During that camp, I used Java,

  • and it was not fun. I don't know how it works to date. All I know is like C - I don't know.

  • Make them learn to type. I still use my four fingers, and using complicated tools like

  • Eclipse. I have no idea how to go back to my previous projects. I have no idea how that

  • even works. Vocabulary, like conkat ... >> Concatenation?

  • >> I don't even know what that means. And they need you to learn maths first - a terrible

  • way to start. >> If you want to teach a kid a musical instrument,

  • you would probably teach him a strong before you made them learn music theory or read music.

  • I found as parent once Michael was out creating video games, all of the things in the slide

  • he became more interested in. If this is where we start, then it's really heart to get them

  • excited about writing code. That being side, we want to know what kids want to do?

  • >> This picture definitely shows what I want to do all day, every day.

  • >> All day long if I let him. Michael, what do you think the kids want to do when they

  • are learning to codes? >> They want to see results. They don't want

  • to wait ten seconds - >> You're telling me kids aren't patient?

  • >> I've been waiting for you to say that. And they like to create things that are fun,

  • like game or Lego. They like to create things that they are interested in. And sharing that

  • creation, again back to logo, they love to show it after they build the set, even I do,

  • I like to show it to my parents showing what I'm capable of. To make new graphics, like

  • doing artwork, or fan art, or anything like that, they love to do that, and building things

  • that they love once again, Legos. They love them, but last but not least, they like to

  • play with the results. Guess what? Lego. They love to play with Lego before they put it

  • on the shelf before letting it dust and rot. >> Awesome. So, we've talked a little bit

  • about the wrong way and why kids want to do it, and what kids are into, so we would like

  • to present what we think is a great solution for teaching kids to code, and, in this solution

  • that we want to show you, do you have to learn how to type?

  • >> No, it is drag and drop. >> Took weeks?

  • >> No, it was easy learn, and I learned how make a game in the first day.

  • >> You're only a few of you online doing that? >> There is a ginormous humungous community

  • of users. >> Why don't you write us a piece of software

  • that you think you're being punished? >> Almost fun to use, almost close to video

  • games. >> Was anybody able to help you?

  • >> Yes, it's pretty easy to learn, but if you do need help, anyone can help.

  • >> What about downloading games? Did you have to create special stuff?

  • >> No, I created one in the first hour without downloading.

  • >> What if you want graphics in there? >> Graphic designs are included.

  • >> Awesome. We would like to show you the solution that's worked for us, and that scratch

  • by MIT, it's super cool! Miming, tell us what is Scratch?

  • >> It's a programming language developed by MIT in 2003, it's for ages eight and up. I

  • started around seven or eight. Right now, it has over 22 million users, and roughly

  • around 25,000 new members join every day. >> Wow.

  • >> And guess what? It's in German, it's in Spanish, it's in Japanese. There are over

  • 70 languages it uses. And it only requires internet access, and, because of the recent

  • 3.0 update, no Flash! [Applause]. >> Thank you, JavaScript community for saving

  • us. Awesome. To get Scratch, it's super simple. You point your browser to scratch.mit.edu,

  • and you're created with an IDE that looks like this. In the top-right corner is the

  • stage. >> That's where everything is going to happen

  • where Sprites are going to be moving and changing president they are the objects on the stage

  • that, as I said, they're going to change, move, do something. Those are the backdrops.

  • Those are the stages of the stage - play on words there - and it changes, it can write

  • the code, all that. In the middle, there's the coding area. That's where you're going

  • to be putting your code to make either the Sprites stage change. Next to that are the

  • blocks. Those are the chunks of code that we are going to be sticking together and making

  • your thing work. Above that are the tabs. Pretty simple code. I just told you what that

  • was. Costumes is where either Sprites or backdrops can change, and sounds describes itself.

  • >> So what we would like to do is a typical Hello, World using Scratch. Michael will come

  • over and do live coding for you today in Berlin. Scratch Cat is the Sprite that is default.

  • How about you show us a hello world script. >> First, we go to events and grab the winflag.

  • You need this for every piece of code we do. Then we go to looks. Grab a hell. Make that

  • a simple hello, world. Still using my pointy fingers. Going over to motion with ten steps.

  • >> Let's blow it up and hit play. That kid that you're trying to kitchen to code can

  • have the hello world script not learning how to type or having all of those things that

  • kind of get in the way, so the next what we would like to do is create a game for you

  • live, right here, and Michael already went to the background and used the graphic tools,

  • created all of us own graphics and what we see there is Jeff staying at an airport holding

  • a beer. Tell us the premise of the gale, Michael? >> So Jeff is German dude, and I'm not going

  • to do anything weird. He is there, and he's going to be throwing wiener schnitzel off

  • bearded dads coming off 48 aeroplanes with only three hours of sleep, and he's going

  • to be super angry. He has to throw beers and schnitzel to make him happy. Angry bearded

  • glasses dads.. >> Where did you get this idea?

  • >> With Grey Beard. >> We want Jeff our main character moving

  • around. Show us how we can make Jeff move left when you hit the left arrow button?

  • >> First, of course, we have to go events and grab the click block. Again, you're always

  • going to need this. Go to control and grab a forever and an if. It's forever going to

  • be asking the question: if something happens, then do whatever is in the loop. The thing

  • we are going to be asking is going to be keyspace press, but it's not going to be left, it's

  • going to be left arrow. Go to motion. We are going to point in the direction left, which

  • is negative 90. And then move ten steps. >> All right, so we hit the flag. We hit the

  • left arrow button. >> Wait, wait. There's something wrong.

  • >> Do we have internet? >> Do we have internet?

  • >> Okay. What's going on here? >> I'm on the wrong Sprite.

  • >> Live coding is always fun! Every Sprite is its own object. We headed in the wrong

  • piece of code. Now Jeff moves left! All right, good job! Thank you.

  • >> Thank you very much. >> So now we've got Jeff moving left but I

  • think he needs to move right as well. How do we go in there and make him move right?

  • >> Easy. You right-click and duplicate, something amazing about Scratch. You go right arrow

  • and make that right. >> Perfect.

  • >> Zoom. >> And so we've got moonwalking Jeff.

  • >> Yes, Michael Jefferson! >> Let's make him move in the other direction,

  • pointing in the direction he's supposed to be moving.

  • >> Before that, I would like to show you the costumes. I have a right and a left costume.

  • These will be important to make it move. We go back to code. You go to "looks". We go

  • down here and switch costume to right. Put that there as well, with this left. It's in

  • place. >> So that when he moves left and right, he

  • will be facing that direction. Jeff can't move up and down. How hard would it be to

  • add that? >> Not very. Just expand, and right-click.

  • Boom! There we go. >> Duplicate two more if statements, so four

  • nested if statements in there checking to see if it's going up, down, left, or right.

  • Michael's going to get all of those set up. We will remove the Switch costume for the

  • up and down. Accept the directions to down and up. And when we click Play, we should

  • have a fully moving Jeff. He moves everywhere, even diagonal. Check that out. In a few minutes,

  • you're able to get the basics of a 2D game going but right now, it's just Jeff running

  • around on a stage. Let's bring in one of the aeroplanes and see if we can't get some of

  • the angry dads to come off. >> "Aeroplane Michael coming in for landing".

  • >> All right. Now we have another Sprite, this is the aeroplane Sprite, its own object.

  • Michael will start having angry dads coming off the plane and chase down Jeff trying to

  • get that beer and schnitzel. >> Of course, go over to events, when the

  • flag is clicked. Go to control, do "forever". Wait one second. And so it's going to wait

  • one second and then create a clone of myself. >> That's quick.

  • >> It's a bit too short. >> Let's make that a little more random.

  • >> Let's go to operators, pick random one to ten. Expand. Make it 2, 2, 6.

  • >> Every to two six seconds, this Sprite will create a clone of itself and Michael will

  • show you what we can do with that clone. >> When I start the clone, and you're also

  • going to grab a "repeat until", go to motion, you're going to point towards a Jeff. And

  • move ten steps. There you about. >> So let's see what happens here. And we

  • wait two to six seconds randomly, and angry dad!

  • >> Dad! >> That's another aeroplane! All right. So

  • how can we fix that? Instead of aeroplanes coming out of aeroplanes, we have angry dads.

  • >> First, I like the costumes. There is plain and there is Jason.

  • >> He looks a little familiar. So let's find a way to get him off the plane.

  • >> So go back to code. Go to looks. The plane is not going to be plane.

  • >> Every time a clone is created, it should of angry dad. Jeff's going to run around.

  • Here they come. Angry dads coming off the aeroplane, chasing down Jeff. I have never

  • run that fast in my life? You can't convince me that was based on me.

  • >> Let's make it six, then. >> We will make him run a little slower. When

  • they are catching Jeff, should they not disappear? >> If you want.

  • >> Let's show how we could do that? >> Okay, fine. Go over to sensing and do touching

  • mouse pointer, change that to touching Jeff. >> How we have a until loop like a "do while".

  • Go to ... >> Go to control again. Delete this clone.

  • >> So once that loop completes, the clone will be deleted.

  • >> Yes. So now let's go back in. >> All right, so Jeff's out running around

  • the airport. Every two to six seconds, there comes angry dads off the plane. When they

  • click Jeff, they go away. Wouldn't it be great if we could get them beer and schnitzel before

  • they caught Jeff? >> Indeed. Let's go to food and drink. We

  • have a beer. We have a schnitzel. I like the beer better than the schnitzel!

  • >> When we click on this third Sprite now, we see there's no code there for that object.

  • We say whenever the game starts. >> When the flag is clicked, whenever the

  • game starts, we are going to go to control. Forever. If also grab while we are here. Then

  • we go to our sensing. We keep it there. Go back to control, grab it here.

  • >> We are creating a clone every time the space bar key is pressed.

  • >> Then we go to random position and we go to Jeff, and then - grabbing so much stuff

  • while I was here. "Repeat until", and then we are going to have the motion, move ten

  • steps. There you go. >> So now every time he hit the space bar,

  • a clone should be made of the food object and it should start moving ten steps from

  • where it originates. >> Like CSS you have show and hide for your

  • Sprites. Now we need to show. Perfect. Awesome. Wait! But that's like an endless supply of

  • schnitzel, and they're sticking to the end. Let's make it where you have to let go of

  • the space bar in between? >> I want you -

  • >> Let's clean that up a little bit. >> There come the angry Jasons. Shall we fix

  • first machine-gun? >> Let's make it where you don't have machine-gun

  • schnitzel. >> Okay. So we go over to Control, wait until,

  • putting on the operators. Grab a "not duplicate this" so now it's going to repeat saying if

  • the key space is pressed, make clone but you can't repeat until the key space pressed is

  • not being pressed. >> You've got to let go of the space bar every

  • time. Let's see how that is working? >> I'm holding it.

  • >> Perfect. But they are sticking to the edge of the screen there. We should probably make

  • them disappear when they get to the edge of the stage.

  • >> So we are making it, we are touching the edge. We are going to make it where it deletes

  • the clone. >> So, when it falls out of the repeat loop,

  • the while loop, they won't stick to the sides. That's perfect, but what I what I noticed

  • is when the angry dads come off the aeroplane, they keep coming, so we should make that angry

  • dad disappear as soon as he gets that beer and schnitzel.

  • >> Let's go back to plane one. We're going to operators. Grab an or. Duplicate Jeff.

  • And boop. >> So it's going to repeat until it's either

  • touching the food and drink Sprite or the Jeff Sprite, and then they should disappear,

  • and we should have angry dads coming off, getting ready to get that German beer and

  • schnitzel, and there it is. Able to feed them and make them happy. [Applause].

  • >> But, it's only schnitzel coming out. >> Yes, the game's a little easy right now.

  • You can stand in front of the plane and spam angry dads. What if we had a expected plane?

  • >> Easy. So you cannot just copy code, you can also duplicate Sprites.

  • >> If you notice, when he duplicated the Sprite, all the code duplicated as well. When you

  • hit play, we have a video game that is twice as hard and fast.

  • >> I forgot something: aeroplane Michael coming into landing.

  • >> It's only shooting schnitzels to the left. >> We need a variable. If you don't know what

  • they are, you're at the wrong talk! >> It's going to be our direction variables.

  • It's variables in Scratch or global. Any Variable you create can be accessed from another Sprite.

  • Michael's going to set those variables to whatever Jeff is pointing left or right.

  • >> It's either negative 90 or 90. Right or left.

  • >> You can see for debugging that the variable is visible on the stage but you can uncheck

  • it if you don't want it to be there. >> Real quick drag a dir.

  • >> So we are back on the food and drink Sprite. >> So point direction dir.

  • >> Choosing that variable, whichever way Jeff is pointed, that's the way the schnitzels

  • are coming. I thought we said beer and schnitzels? >> I can fix that. There you go. Now we go

  • on to looks. And do switch costume to beer, and to the beer, we are going to go to the

  • operators, and switch it to pick random one to two. If you look in the costumes, it's

  • numbered one and two, so if I do this, - >> So now randomly shooting beer and schnitzels.

  • They want to get that beer from Jeff but he's able to deliver one for them before they get

  • to him. We have the basics of a 2D video game in about 15 minutes, written by a 13-year-old.

  • This is something you can all go home and do! [Cheering and applause]. Thank you. If

  • you give him 30 or 45 minutes, he can build out a fleshed-out video game. I want now to

  • show you the final version of angry dad and Jeff. On the bottom right-hand corner, it

  • will be the beer mug, the life of Jeff. Let's watch him play around. So it's the same game

  • that you saw, except this time when angry dads come off and they drink Jeff's beer from

  • him, he starts running out, and so we can see that when they do catch him, his life

  • meter goes down - >> But there is a keg which refills your beer

  • meter. >> As long as he is shooting beers at other

  • people, they stay unhappy. They drink all of his beer! Game over!

  • >> It didn't go to End Screen. That's what we were looking for. Thank you.

  • >> We would love you to get in touch with us. You can contact me on Twitter.

  • >> Thank you all for coming to our talk! >> Good job.

  • >> Yes! See you guys later. >> [Cheering and applause].

>> Hello, everyone. My name is Michael. I'm a 13-year-old boy and I enjoy all things Pokémon,

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it