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