1 00:00:00,310 --> 00:00:03,450 We're all set to build this tree story prototype. 2 00:00:03,450 --> 00:00:08,760 So to prove this prototype works, let's make a couple line story that prompts for 3 00:00:08,760 --> 00:00:11,270 various different parts of speech. 4 00:00:11,270 --> 00:00:14,790 If you want to, you can press pause now, head over to work spaces and 5 00:00:14,790 --> 00:00:17,360 try to swing it coding this before I do. 6 00:00:17,360 --> 00:00:18,330 All right? 7 00:00:18,330 --> 00:00:18,830 Here we go. 8 00:00:19,980 --> 00:00:22,270 Okay, so let's get started first things first. 9 00:00:22,270 --> 00:00:24,750 Let's get rid of this code that we've been working on here, 10 00:00:24,750 --> 00:00:26,840 and let's talk about what we're gonna do. 11 00:00:26,840 --> 00:00:31,830 Let's build a little thing here that says, name is 12 00:00:31,830 --> 00:00:36,640 a adjective noun. 13 00:00:36,640 --> 00:00:39,050 So those are blanks there. 14 00:00:39,050 --> 00:00:43,541 They are always adverb and 15 00:00:43,541 --> 00:00:47,629 a verb ending in an ing. 16 00:00:47,629 --> 00:00:51,288 All right, so, since we've been working so much on this prompting stuff, 17 00:00:51,288 --> 00:00:53,015 I'm pretty sure you have it by now. 18 00:00:53,015 --> 00:00:54,515 I'm going to go ahead and 19 00:00:54,515 --> 00:00:59,383 paste it on this video, the prompts that you're going to need to fill this out. 20 00:00:59,383 --> 00:01:03,423 So go ahead and copy that, and then you can just come in here and 21 00:01:03,423 --> 00:01:08,423 paste it and you'll see that we have a name, adjective, noun, adverb and verb. 22 00:01:08,423 --> 00:01:14,052 All right so let's print out a little heading to start this off with so 23 00:01:14,052 --> 00:01:18,920 do a console.printf, and we'll say, Your Tree Story. 24 00:01:20,120 --> 00:01:22,560 And let's use the new line escape sequence. 25 00:01:22,560 --> 00:01:27,440 And we'll put a little heading there, and then a new line something, so let's just 26 00:01:27,440 --> 00:01:30,710 draw some dashes underneath and have a couple new lines, make it look clean. 27 00:01:31,880 --> 00:01:34,310 All right, and then we'll end that and 28 00:01:34,310 --> 00:01:38,280 now let's do it let's break it out so console.printf. 29 00:01:38,280 --> 00:01:44,596 So we wanna replace name with %s is a %s, 30 00:01:44,596 --> 00:01:48,566 %s, and so again that's 31 00:01:48,566 --> 00:01:53,560 name is an adjective noun Okay. 32 00:01:53,560 --> 00:01:57,190 And so, we also want to make sure that we put the period, the punctuation here. 33 00:01:57,190 --> 00:01:59,680 We're gonna put a couple spaces, because we don't have a new one at the end. 34 00:01:59,680 --> 00:02:01,690 We want them to join together. 35 00:02:01,690 --> 00:02:03,040 Okay, so let's do the next one. 36 00:02:03,040 --> 00:02:04,320 We'll do console.printf. 37 00:02:04,320 --> 00:02:13,070 And we'll say that they are always adverb, verb, %s. 38 00:02:13,070 --> 00:02:17,210 So that was adverb, comma verb, and I’ll close that up. 39 00:02:17,210 --> 00:02:22,770 Let’s go ahead, and we can put a period and put a new line here. 40 00:02:25,120 --> 00:02:27,740 OK, so I’m going to save. 41 00:02:27,740 --> 00:02:29,189 Let’s take a look and see what happens. 42 00:02:30,370 --> 00:02:34,240 So run, then enter name, I'll use another teacher. 43 00:02:34,240 --> 00:02:38,248 Well he's Kenneth adjective let's say incredible. 44 00:02:38,248 --> 00:02:43,930 Now code quickly and 45 00:02:43,930 --> 00:02:46,870 a verb ending in ing, hacking. 46 00:02:48,140 --> 00:02:50,710 All right here is our tree story, 47 00:02:50,710 --> 00:02:55,660 Kenneth is a incredible coder, they are always quickly hacking. 48 00:02:57,410 --> 00:03:02,250 I see a little bug in our English there, looks like we should remember that one any 49 00:03:02,250 --> 00:03:05,940 time we use an a, we need to remember to put a parenthesis 50 00:03:05,940 --> 00:03:09,495 in next to it in case the word following starts with the vowel, we need to do that. 51 00:03:09,495 --> 00:03:13,250 I wonder what other errors are out there waiting for us to find them. 52 00:03:15,130 --> 00:03:16,530 Great job building the prototype. 53 00:03:16,530 --> 00:03:20,520 We are so close and I think it definitely deserves getting a beta sticker. 54 00:03:21,660 --> 00:03:26,150 We did find an error that was only obvious when we ran it with input from the user. 55 00:03:26,150 --> 00:03:29,440 The Java compiler will do its best at preventing errors, but 56 00:03:29,440 --> 00:03:32,940 there are some that it just can't possibly see without running the program. 57 00:03:34,290 --> 00:03:36,500 While this is only a small flaw in our logic, 58 00:03:36,500 --> 00:03:40,260 there are other types of errors that we can introduce that can be catastrophic. 59 00:03:41,390 --> 00:03:44,730 Since these types of errors can only be found when the program is running, 60 00:03:44,730 --> 00:03:46,260 they are called runtime errors. 61 00:03:47,540 --> 00:03:51,010 So how do we find these errors before we release our software to the public. 62 00:03:52,040 --> 00:03:55,480 There's been numerous approaches to solving this age old problem. 63 00:03:55,480 --> 00:03:59,480 Now most commonly this problem is solved by employing a team of people 64 00:03:59,480 --> 00:04:02,360 that will run your software through rigorous testing. 65 00:04:02,360 --> 00:04:06,090 These people typically hold the title of Q.A. engineers, where Q.A. 66 00:04:06,090 --> 00:04:07,720 stands for quality assurance. 67 00:04:08,980 --> 00:04:11,790 There's a lot of automation that can happen during software testing, 68 00:04:11,790 --> 00:04:14,280 and this field has grown tremendously over time. 69 00:04:15,600 --> 00:04:19,280 Some workspace formations split this out into a separate team, and 70 00:04:19,280 --> 00:04:22,780 others expect the software developer write automated tests for 71 00:04:22,780 --> 00:04:25,590 their code and perform all Q.A. tests. 72 00:04:25,590 --> 00:04:26,440 Neither way is perfect. 73 00:04:27,470 --> 00:04:31,660 Another approach is to release your software to a subset of users known as 74 00:04:31,660 --> 00:04:33,310 beta testers. 75 00:04:33,310 --> 00:04:36,610 You will be absolutely stunned by the creative ways 76 00:04:36,610 --> 00:04:37,680 users will break your product. 77 00:04:38,700 --> 00:04:41,400 By controlling the amount of people using your software, 78 00:04:41,400 --> 00:04:43,780 you can keep frustrations to a minimum, but 79 00:04:43,780 --> 00:04:48,740 still find important errors that you do not want everyone out there to experience. 80 00:04:48,740 --> 00:04:50,510 So what I'll do is this. 81 00:04:50,510 --> 00:04:53,000 I'll send this program out to my fellow teachers and 82 00:04:53,000 --> 00:04:55,860 have them be beta testers of our prototype. 83 00:04:55,860 --> 00:04:56,700 Whatever they find or 84 00:04:56,700 --> 00:05:00,310 bugs that they expose, we'll incorporate into our final product. 85 00:05:00,310 --> 00:05:01,690 Sound good? 86 00:05:01,690 --> 00:05:04,900 Okay, one final prototyping exercise before we get into 87 00:05:04,900 --> 00:05:05,830 iterating on our product.