0:00:00.260,0:00:05.260 One of the most important concepts in computer[br]science is how to define new commands, how 0:00:05.260,0:00:10.960 to add your own words to a computer language.[br]Most computer languages have only about one 0:00:10.960,0:00:17.289 hundred words or commands. The art and magic[br]is in defining your own new words out of these 0:00:17.289,0:00:23.210 building blocks. We do this all the time in[br]sports. For example, in basketball, you start 0:00:23.210,0:00:28.480 by learning how to dribble, how to do a lay-up,[br]how to rebound. Once you've learned these 0:00:28.480,0:00:33.010 really basic moves, you learn new moves and[br]put together these building blocks, like a 0:00:33.010,0:00:38.440 pick and roll or give and go. You can then[br]go from there to do more complex plays. Once 0:00:38.440,0:00:44.710 you learn that play and give it a name, everybody[br]on the team knows how to do it. Similarly 0:00:44.710,0:00:49.629 once you've taught a computer how to do an[br]action once using these sequences of commands, 0:00:49.629,0:00:55.159 you can make up your own name for that action[br]so it's easy to repeat it later. When you 0:00:55.159,0:01:00.679 define your own command and give it a name,[br]that's called a function. Now we're going 0:01:00.679,0:01:08.070 to use functions to help the bee. In this[br]example, our function is called get 2 nectar, 0:01:08.070,0:01:13.980 this green block right here. We know what[br]get 2 nectar does by looking at this grey 0:01:13.980,0:01:21.360 box which is the function definition. If we[br]look inside there, the get 2 nectar is going 0:01:21.360,0:01:28.230 to get nectar and then get nectar again. Always[br]look at what's inside the grey box so that 0:01:28.230,0:01:31.540 you know what these green function blocks[br]can do.