WEBVTT 00:00:00.099 --> 00:00:05.060 My name is Jens Bergensten, but I'm better known as Jeb. I'm the lead developer on Minecraft 00:00:05.060 --> 00:00:13.390 here at mojang.com. I think I was 11 or maybe 12 and I started programming because I wanted 00:00:13.390 --> 00:00:17.750 to make games. One of my father's friends told me that in order to make games you need 00:00:17.750 --> 00:00:26.090 to learn how to program. So that's how I got started. I like designing and figuring out 00:00:26.090 --> 00:00:33.329 the architecture of things. That's what I really like about Minecraft. Over the next 00:00:33.329 --> 00:00:39.219 hour you're going to learn the basics of computer science by programming Alex or Steve to move 00:00:39.219 --> 00:00:45.940 through a simulated piece of a Minecraft world. Traditional programming is usually in text, 00:00:45.940 --> 00:00:51.019 but today we'll use blockly: a system which uses blocks that you can drag and drop to 00:00:51.019 --> 00:00:57.620 write programs. Under the hood, you're creating JavaScript code. The concepts that you'll 00:00:57.620 --> 00:01:02.530 be learning are what computer programmers use everyday and are the foundation to computer 00:01:02.530 --> 00:01:09.890 science. Here at Mojang we use these same concepts to make Minecraft work. Before you 00:01:09.890 --> 00:01:15.299 start, you'll pick your character. I'm going to choose Alex. Let's build code for a program 00:01:15.299 --> 00:01:22.810 that will help her move around the screen. Your screen is split into three main parts. 00:01:22.810 --> 00:01:28.579 On the left is the Minecraft play space, where your program will run. The instructions for 00:01:28.579 --> 00:01:34.740 each level are written below. This middle area is the toolbox and each of these blocks 00:01:34.740 --> 00:01:40.899 is a command that directs Alex's actions. The white space on the right is called the 00:01:40.899 --> 00:01:46.920 work space and this is where we'll build our program. If we drag the \"move forward\" block 00:01:46.920 --> 00:01:53.340 to our workspace and then click Run, what happens? Alex moves forward one space on the 00:01:53.340 --> 00:01:59.770 grid. And what if we wanted to do something after she moves forward one space? We can 00:01:59.770 --> 00:02:05.140 add another block to our program. I'm going to choose the \"turn right\"; block, and I'll drag 00:02:05.140 --> 00:02:11.380 it underneath my \"move forward\" block until this orange line appears. Then, I'll drop 00:02:11.380 --> 00:02:17.260 it and the two blocks will snap together. When we press Run again, Alex will perform 00:02:17.260 --> 00:02:22.670 the commands that are stacked from top to bottom in our workspace. And if you ever want 00:02:22.670 --> 00:02:28.700 to delete a block, just drag it from the stack back to the toolbox. To undo your changes 00:02:28.700 --> 00:02:33.790 and to get back to how the level started, use the Start Over button in the top right 00:02:33.790 --> 00:02:41.170 corner of the workspace. One more thing, you see the little triangle on the turn blocks? 00:02:41.170 --> 00:02:46.620 Anytime you see these triangles, it means that you can pick a different option. Let's 00:02:46.620 --> 00:02:48.750 start coding!