1 00:00:05,940 --> 00:00:09,798 We've covered quite a lot so far. You've learned about different forms of 2 00:00:09,798 --> 00:00:13,510 primitive data like numbers and strings and images. 3 00:00:13,510 --> 00:00:17,800 You've learned about expressions like if and con, how to define functions and 4 00:00:17,800 --> 00:00:21,650 constants, the rules for evaluating DSL code. 5 00:00:22,770 --> 00:00:26,475 You've also learned the how to design functions recipe, the how to design data 6 00:00:26,475 --> 00:00:30,459 recipe, and how to use the data-driven template rules. 7 00:00:30,459 --> 00:00:35,555 You really learned quite a lot. But you had to be a certain kind of 8 00:00:35,555 --> 00:00:38,365 patient. Because the programs we've written so far 9 00:00:38,365 --> 00:00:42,196 have been kind of boring. A function that consumes a seat number 10 00:00:42,196 --> 00:00:47,360 and tells you whether it's on the aisle might be useful as part of a big system. 11 00:00:47,360 --> 00:00:49,300 But the function itself isn't very exciting. 12 00:00:50,840 --> 00:00:53,876 That's going to change this week. This week we're going to start to get 13 00:00:53,876 --> 00:00:58,105 into interactive programs. So I mean things like animations, and 14 00:00:58,105 --> 00:01:01,240 games, and the kind of desktop applications that you might use every 15 00:01:01,240 --> 00:01:04,645 day. Now, I want to stress something about the 16 00:01:04,645 --> 00:01:09,300 way our programs are going to look. Here for example, is a fireworks program 17 00:01:09,300 --> 00:01:12,648 we might design. And what I'm doing is I'm shooting off a 18 00:01:12,648 --> 00:01:18,090 bunch of fireworks and they rise into the sky and explode beautifully like that. 19 00:01:20,040 --> 00:01:23,480 Now, that graphic quality there isn't fantastic. 20 00:01:23,480 --> 00:01:26,190 It's not Harry Potter Deathly Hallows fantastic. 21 00:01:28,120 --> 00:01:30,910 That's the way our programs are going to look this week. 22 00:01:30,910 --> 00:01:34,210 Because graphic quality is something that requires a great deal of mass 23 00:01:34,210 --> 00:01:38,530 sophistication, and a great deal of programming power. 24 00:01:38,530 --> 00:01:43,152 So we're going to have simple graphics. But the basic structure of our programs, 25 00:01:43,152 --> 00:01:47,511 the basic structure of our animations and games, and desktop applications. 26 00:01:47,511 --> 00:01:50,532 Is really going to be like the same structure of the more sophisticated 27 00:01:50,532 --> 00:01:54,350 versions. So by the end of this week you'll be able 28 00:01:54,350 --> 00:01:57,829 to design interactive programs. And I'll think you'll also have a better 29 00:01:57,829 --> 00:02:01,760 understanding of how some of the programs that you use every day work. 30 00:02:03,350 --> 00:02:07,420 In fact, project one, which you'll start at the end of this week. 31 00:02:07,420 --> 00:02:10,995 Is to complete the design of a simple one line text editor, kind of like the text 32 00:02:10,995 --> 00:02:15,470 editor you use on your phone when you want to send a text message.