1 00:00:12,516 --> 00:03:34,766 [ Music ] 2 00:03:35,266 --> 00:03:39,426 >> This is CS50 and this is this year's Fall 2010 teaching 3 00:03:39,426 --> 00:03:40,886 fellows and course assistants. 4 00:03:40,886 --> 00:03:42,586 If we could, a big round of applause for them. 5 00:03:43,516 --> 00:03:51,076 [ Applause ] 6 00:03:51,576 --> 00:03:54,406 >> Two of them in particular are graduating this year, 7 00:03:54,406 --> 00:03:56,206 namely the course's head teaching fellows, 8 00:03:56,206 --> 00:03:59,216 Yukhi Yamashita and Cansu Aydede, both of whom have been 9 00:03:59,216 --> 00:04:02,066 with the course for three years now as staff. 10 00:04:02,066 --> 00:04:04,046 In fact, Yukhi didn't start as one 11 00:04:04,046 --> 00:04:05,416 of our head teaching fellows. 12 00:04:05,746 --> 00:04:08,696 He was a teaching fellow in Fall 2008, 13 00:04:08,696 --> 00:04:11,876 having just taken CS50 the year before, and he made the mistake 14 00:04:11,946 --> 00:04:16,216 that fall of being a go-getter and e-mailing me a nice 15 00:04:16,216 --> 00:04:18,686 and polite list of all of the typographical errors 16 00:04:18,686 --> 00:04:19,936 in one of the problem sets. 17 00:04:20,236 --> 00:04:22,826 But I thankfully took this the right way 18 00:04:22,826 --> 00:04:26,706 and immediately promoted him to the position he has now had 19 00:04:26,706 --> 00:04:28,256 with Cansu for a couple of years, 20 00:04:28,256 --> 00:04:30,946 and it is because of Yukhi Yamashita, frankly, 21 00:04:30,946 --> 00:04:34,266 that this course looks as pretty and as sexy as it does, 22 00:04:34,356 --> 00:04:35,726 given that he is our designer. 23 00:04:35,726 --> 00:04:37,856 So for Yukhi in particular, a round of applause. 24 00:04:38,516 --> 00:04:43,546 [ Applause ] 25 00:04:44,046 --> 00:04:47,996 >> So if we do this right, Cansu Aydede is likely to shriek, 26 00:04:47,996 --> 00:04:50,566 because anytime she gets public recognition she seems 27 00:04:50,566 --> 00:04:51,116 to do this. 28 00:04:51,336 --> 00:04:57,266 In fact, when she was herself a freshman in Fall 2007 was 29 00:04:57,266 --> 00:04:58,946 when we first met, and I met her over one 30 00:04:58,946 --> 00:05:00,836 of the Annenberg Student Faculty Dinners. 31 00:05:00,836 --> 00:05:02,886 And we got to chatting and she was self avowed, 32 00:05:03,106 --> 00:05:05,346 one of those less comfortable, dare say one 33 00:05:05,346 --> 00:05:08,256 of those least comfortable, in her own words. 34 00:05:08,256 --> 00:05:12,176 And so for some reason, though, this conversation caught my eye. 35 00:05:12,176 --> 00:05:15,986 She cared about CS50, she loved CS50, and even though she, 36 00:05:15,986 --> 00:05:18,646 like many of you, had stories about working in the basement 37 00:05:18,646 --> 00:05:20,166 of the Science Center 'til all hours, 38 00:05:20,426 --> 00:05:22,466 she nonetheless stuck it through. 39 00:05:22,566 --> 00:05:25,846 And now she is about to graduate as well as a senior, 40 00:05:25,846 --> 00:05:27,946 having been the course's head teaching fellow now 41 00:05:28,186 --> 00:05:32,046 for three years, the first and to my knowledge to have started 42 00:05:32,046 --> 00:05:34,546 that role, as a sophomore at the college, 43 00:05:34,546 --> 00:05:37,136 head of one of the largest college courses here. 44 00:05:37,426 --> 00:05:39,256 And for that and for her leadership 45 00:05:39,256 --> 00:05:41,706 over the past several years am I hugely grateful. 46 00:05:41,706 --> 00:05:42,976 So to Cansu as well. 47 00:05:43,516 --> 00:05:48,046 [ Applause ] 48 00:05:48,546 --> 00:05:51,396 >> So even though it just is me that you tend to see 49 00:05:51,396 --> 00:05:53,056 or not see a couple of times a week, 50 00:05:53,056 --> 00:05:54,466 there are definitely a few other folks we'd 51 00:05:54,466 --> 00:05:57,246 like to thank right here from the get-go, namely the folks 52 00:05:57,246 --> 00:05:58,876 that run this course behind the scenes. 53 00:05:58,876 --> 00:06:01,656 Besides the TFs, besides the CAs, besides myself, 54 00:06:01,836 --> 00:06:02,976 we have two individuals here, 55 00:06:02,976 --> 00:06:04,826 Chris and Hugh running cameras every day. 56 00:06:04,826 --> 00:06:05,836 We have Barry in back. 57 00:06:06,056 --> 00:06:08,126 We have the Memorial Hall team downstairs, 58 00:06:08,126 --> 00:06:10,306 the folks in the classrooms across the university, 59 00:06:10,546 --> 00:06:12,576 and it is by no means an easy feat 60 00:06:12,576 --> 00:06:14,726 to book some 40-plus sections this fall. 61 00:06:14,896 --> 00:06:17,436 So to all of you and to those behind the scenes, 62 00:06:17,436 --> 00:06:18,726 thank you all so very much. 63 00:06:19,516 --> 00:06:22,576 [ Applause ] 64 00:06:23,076 --> 00:06:26,636 >> So, about that quiz. 65 00:06:26,726 --> 00:06:32,126 So it was not the emotional note I really wanted us 66 00:06:32,126 --> 00:06:33,396 as a class to end on. 67 00:06:33,396 --> 00:06:35,706 It was admittedly a bit on the long side. 68 00:06:35,706 --> 00:06:38,856 But realize that as many times as we've said verbally in class 69 00:06:38,856 --> 00:06:40,876 and the syllabus and my e-mail this past week, 70 00:06:41,116 --> 00:06:43,076 it really is one's relative trending 71 00:06:43,076 --> 00:06:44,306 in the course that we look to. 72 00:06:44,506 --> 00:06:46,216 And even though your percentage on something 73 00:06:46,216 --> 00:06:48,006 like this might not be as high as you would have liked, 74 00:06:48,006 --> 00:06:50,096 maybe not even as high as it was on the first quiz, 75 00:06:50,286 --> 00:06:52,946 that really is sort of immaterial to the progress 76 00:06:52,946 --> 00:06:54,736 that you've made, to the work that you've submitted. 77 00:06:54,736 --> 00:06:57,356 In CS50 we really do pride ourselves 78 00:06:57,356 --> 00:07:00,176 on making it a very much individualistic course 79 00:07:00,216 --> 00:07:01,116 at semester's end. 80 00:07:01,116 --> 00:07:03,306 I really do have this semester, will have, 81 00:07:03,496 --> 00:07:06,326 some 500 conversations over e-mail or in person 82 00:07:06,326 --> 00:07:07,236 with the teaching fellows. 83 00:07:07,476 --> 00:07:09,006 And if you read the Crimson last spring, 84 00:07:09,006 --> 00:07:14,456 frankly if it were entirely by the course's choice, 85 00:07:14,456 --> 00:07:17,016 we would do away with grades altogether, 86 00:07:17,016 --> 00:07:19,256 since I think it's very easy to lose sight 87 00:07:19,256 --> 00:07:20,466 of what's really important in here. 88 00:07:20,466 --> 00:07:23,136 And so hopefully today as we conclude this course and you see 89 00:07:23,136 --> 00:07:25,956 where you began and where you're ending up and just a couple 90 00:07:25,956 --> 00:07:27,846 of week's hence where you'll finish the course 91 00:07:27,846 --> 00:07:31,276 as CS50 graduates, hopefully you'll really feel that delta 92 00:07:31,276 --> 00:07:33,696 between week 0 and week 12. 93 00:07:33,816 --> 00:07:37,526 So with that said, let us forge ahead with today. 94 00:07:37,746 --> 00:07:41,166 You recall from week 0 if you shopped us that we served 95 00:07:41,166 --> 00:07:42,556 up a little cake like this. 96 00:07:42,846 --> 00:07:44,486 Back in the days when you were all newbs, 97 00:07:44,486 --> 00:07:45,826 so to speak in week 0. 98 00:07:46,076 --> 00:07:48,886 We went through our problem set 0 submissions. 99 00:07:48,886 --> 00:07:50,526 Recall we did scratch back then. 100 00:07:50,526 --> 00:07:54,646 And one of our shoppers actually submitted this story of sorts, 101 00:07:54,646 --> 00:07:58,256 which we thought we would begin today's retrospective with. 102 00:07:58,306 --> 00:08:07,866 So this is by a former CS50 student, Damen, and here we go. 103 00:08:08,516 --> 00:09:22,786 [ Music ] 104 00:09:23,286 --> 00:09:24,426 >> Thank you to Damen. 105 00:09:26,806 --> 00:09:28,366 So speaking of phone books, 106 00:09:28,946 --> 00:09:30,816 we do seem to have an infinite supply. 107 00:09:30,816 --> 00:09:32,776 We thought we'd see just how much we've retained 108 00:09:32,776 --> 00:09:33,306 this semester. 109 00:09:33,306 --> 00:09:35,416 If we could get a couple of volunteers up here 110 00:09:35,676 --> 00:09:37,666 to somehow involve these phone books. 111 00:09:38,256 --> 00:09:39,406 Any takers? 112 00:09:39,406 --> 00:09:43,636 Anyone? Yeah, come on down, very excitedly. 113 00:09:43,906 --> 00:09:46,616 What's your name? 114 00:09:46,706 --> 00:09:50,826 Oh. And who will match wits here with the second phone book? 115 00:09:52,026 --> 00:09:53,356 Give me one person. 116 00:09:55,296 --> 00:09:57,896 If we're not going to get anyone, numb up. 117 00:09:57,896 --> 00:09:59,876 Come on, down, right here in front. 118 00:10:00,606 --> 00:10:04,236 Yep, second -- I'll take either of you, whoever is least. 119 00:10:04,236 --> 00:10:04,846 Okay. What's your name? 120 00:10:04,846 --> 00:10:04,913 >> Herb. 121 00:10:04,913 --> 00:10:13,546 >> All right, you of course have 122 00:10:13,696 --> 00:10:15,636 to be comfortable here on camera. 123 00:10:15,636 --> 00:10:16,606 What's your name for the audience? 124 00:10:16,606 --> 00:10:17,286 >> Schwenn. 125 00:10:17,686 --> 00:10:17,986 >> Schwenn? 126 00:10:17,986 --> 00:10:21,356 >> Yeah. 127 00:10:21,496 --> 00:10:24,406 >> Here we have Schwenn and we have Herb. 128 00:10:24,856 --> 00:10:29,336 The goal at hand is to find Mike Smith in this here phone book. 129 00:10:29,636 --> 00:10:33,946 Herb, you've been nominated to use linear search. 130 00:10:35,676 --> 00:10:38,756 Schwenn, you've been nominated to use binary search, 131 00:10:38,906 --> 00:10:42,856 but in order to tear these problems in half in the case 132 00:10:42,856 --> 00:10:44,696 of binary search you must literally tear -- 133 00:10:44,696 --> 00:10:47,836 and even in the case of linear search, as you begin to search 134 00:10:47,836 --> 00:10:52,386 for Mike Smith, must you tear each of your pages out linearly. 135 00:10:52,386 --> 00:10:54,826 Perhaps as a group. 136 00:10:55,126 --> 00:10:57,786 On your marks, get set, go. 137 00:10:58,516 --> 00:11:28,766 [ Background noise ] 138 00:11:29,266 --> 00:11:31,966 >> Oh, I did the yellow pages, oh. 139 00:11:32,516 --> 00:12:05,696 [ Background noise ] 140 00:12:06,196 --> 00:12:06,736 >> The winner! 141 00:12:07,516 --> 00:12:21,546 [ Applause ] 142 00:12:22,046 --> 00:12:24,116 >> So if you didn't notice, cleversteristic though it was 143 00:12:24,116 --> 00:12:25,406 for Herb to start at the end, 144 00:12:25,406 --> 00:12:27,286 the end of the phone book is the yellow pages, 145 00:12:27,286 --> 00:12:28,256 which don't have humans. 146 00:12:28,256 --> 00:12:29,456 It's the beginning, of course, 147 00:12:29,456 --> 00:12:30,806 that starts with the white pages. 148 00:12:31,236 --> 00:12:36,166 But sometimes optimizations do not work out so well. 149 00:12:36,306 --> 00:12:39,976 So we started the semester with some newb cake. 150 00:12:39,976 --> 00:12:44,526 We will end the semester with some leete cake. 151 00:12:44,526 --> 00:12:49,326 In fact, thanks to teaching fellow Rose Cal, who e-mailed me 152 00:12:49,326 --> 00:12:51,766 at like 7 a.m. this morning after having e-mailed me 153 00:12:51,766 --> 00:12:53,956 at like 11 p.m. last night saying she was going 154 00:12:53,956 --> 00:12:56,076 to Maxwell Dworkin to decorate the cakes. 155 00:12:56,366 --> 00:12:59,616 The result is as of a few minutes ago, not just this cake 156 00:12:59,996 --> 00:13:03,616 but this cake, and also this cake here. 157 00:13:05,856 --> 00:13:09,556 Unfortunately these have now been cut into 450 pieces, 158 00:13:09,556 --> 00:13:12,046 so that's the last you'll see of the design, 159 00:13:12,046 --> 00:13:14,556 but there's a little frosting for each of you. 160 00:13:14,556 --> 00:13:16,686 Also being handed out after today, 161 00:13:16,686 --> 00:13:19,936 so there will indeed be cake in a little bit of time downstairs 162 00:13:19,936 --> 00:13:22,526 in the pub as you guys exit today, but also being handed 163 00:13:22,526 --> 00:13:24,146 out if you didn't request one already, 164 00:13:24,396 --> 00:13:27,166 are these so-called shuttle boy cards, our sort of throw-back 165 00:13:27,166 --> 00:13:29,946 to old school technology, namely a piece of plastic card 166 00:13:30,246 --> 00:13:31,366 that you can put in your wallet. 167 00:13:31,366 --> 00:13:34,476 Now, it wasn't really the plan to hand these out, 168 00:13:34,966 --> 00:13:36,756 useful as they are for the calendar year 169 00:13:36,756 --> 00:13:38,056 at the end of the semester. 170 00:13:38,156 --> 00:13:41,296 This was the result of some production delays, 171 00:13:41,296 --> 00:13:43,016 whereby we were trying to save some money. 172 00:13:43,216 --> 00:13:45,506 We outsourced the project to a company in China. 173 00:13:45,746 --> 00:13:47,536 Unfortunately I don't speak Chinese, 174 00:13:47,866 --> 00:13:51,496 so ordering generally amounted to my emailing Yuhki, who does. 175 00:13:51,566 --> 00:13:53,886 Yuhki would translate to Chinese, email China, 176 00:13:53,886 --> 00:13:56,526 China would reply, Yuhki would translate back. 177 00:13:56,526 --> 00:13:59,146 I would actually leave it in my inbox for two weeks 178 00:13:59,146 --> 00:14:01,376 and then reply again, and then finally, 179 00:14:01,376 --> 00:14:04,826 did our several thousand shuttle boy cards come, finally. 180 00:14:04,826 --> 00:14:08,526 So if you already filled out the form a few months ago, 181 00:14:08,946 --> 00:14:11,056 they went out by mail already, but the TFs 182 00:14:11,056 --> 00:14:13,996 and CAs will also have them downstairs. 183 00:14:13,996 --> 00:14:17,506 So now we have a little something special. 184 00:14:17,506 --> 00:14:20,146 You've actually seen now this gentleman before, 185 00:14:20,146 --> 00:14:22,076 so you can now put a face to the name. 186 00:14:22,396 --> 00:14:24,966 But this is a first. 187 00:14:25,156 --> 00:14:26,916 Just late last night, one 188 00:14:26,916 --> 00:14:30,436 of our teaching fellows received a submission via one 189 00:14:30,436 --> 00:14:34,136 of your classmates under a pseudonym announcing 190 00:14:34,136 --> 00:14:39,616 that he had just printed his own CS50 song. 191 00:14:39,956 --> 00:14:44,466 Let me go ahead and introduce this by saying in a moment, 192 00:14:44,786 --> 00:14:50,406 you are about to hear Pranksta a/k/a CS50 song by Shwyntax, 193 00:14:50,776 --> 00:14:55,306 and Shwyntax is releasing is debut mixed tape tomorrow, 194 00:14:55,306 --> 00:14:57,876 11:23 to the Internet called Cointoss. 195 00:14:57,926 --> 00:15:00,396 Check him out on Facebook or Soundclad.com, 196 00:15:00,786 --> 00:15:02,676 to download some free music. 197 00:15:02,756 --> 00:15:05,416 So I give you one of your very own classmates, 198 00:15:05,936 --> 00:15:08,676 Shwyntax, and his take on CS50. 199 00:15:08,846 --> 00:15:11,286 Listen close here to the lyrics. 200 00:15:12,516 --> 00:15:16,566 [ Music ] 201 00:15:17,066 --> 00:15:24,846 >> It's cs 50 AKA computer science 50, let's break it down. 202 00:15:24,846 --> 00:15:28,196 I got a lot of codin to do before tonight, 203 00:15:28,226 --> 00:15:28,976 and I aint got time to waste. 204 00:15:29,046 --> 00:15:29,746 let's get it. 205 00:15:29,746 --> 00:15:32,236 You say you a hacka but you never crack nothing. 206 00:15:32,506 --> 00:15:37,556 We say you a pranksta and you need to stop frontin. 207 00:15:38,036 --> 00:15:41,776 You just an amateur, sometimes I wonder bruh, 208 00:15:41,806 --> 00:15:42,976 if n 2 is actually ya runtime average huh? 209 00:15:43,276 --> 00:15:44,616 need a debugger man? 210 00:15:44,716 --> 00:15:54,606 you made a bad program I'll be your gdb, jus lemme offer help 211 00:15:56,326 --> 00:15:57,646 for free Your style's so fine, and so is ya design 212 00:15:57,676 --> 00:15:59,266 But the correctness deserves a 1 outta 5 malloc'in every line, 213 00:15:59,296 --> 00:16:00,406 like it's a pastime chock full a Memory leaks, 214 00:16:00,436 --> 00:16:00,976 check with a valgrind 215 00:16:01,406 --> 00:16:03,016 segfault from for loops, I fixed it 216 00:16:03,016 --> 00:16:10,056 for you wanna make a hash function tell me what you 217 00:16:10,056 --> 00:16:10,816 gon do? 218 00:16:11,086 --> 00:16:14,766 I I gotta go home, so try that on ya own To me C is easy, 219 00:16:14,796 --> 00:16:15,876 but to you it's tough, so: You say you a hacka 220 00:16:15,906 --> 00:16:16,566 but you never crack nothing. 221 00:16:16,596 --> 00:16:17,976 We say you a pranksta and you need to stop frontin. 222 00:16:18,706 --> 00:16:21,816 You go on the internet but you neva hack nothing. 223 00:16:22,476 --> 00:16:29,136 We've been programmin a long time and you aint got nothing. 224 00:16:29,166 --> 00:16:30,306 You say you a hacka but you never crack nothing. 225 00:16:30,336 --> 00:16:31,716 We say you a pranksta and you need to stop frontin. 226 00:16:31,746 --> 00:16:32,976 You go on the internet but you neva hack nothing. 227 00:16:33,616 --> 00:16:41,916 We've been programmin a long time and you aint got nothing. 228 00:16:42,246 --> 00:16:47,096 DAAAMN homie, in high school you was the MAAAAN homie, 229 00:16:47,126 --> 00:16:47,726 but what happened to you? 230 00:16:47,756 --> 00:16:49,346 I got the sickest work ethic, when I code I don't sweat it Try 231 00:16:49,376 --> 00:16:49,976 to compete with me ever, 232 00:16:50,006 --> 00:16:51,476 listen you betta forget it Now jus remember that this fall, 233 00:16:51,506 --> 00:16:52,976 told ya that I do it all, PHP and javascript, CSS, mySQL 234 00:16:53,886 --> 00:16:56,816 You must be a pre-med, 235 00:16:57,296 --> 00:17:03,336 always run to the TF Psets come you always cower, that's why you 236 00:17:03,336 --> 00:17:07,836 in office hours Now you think you ready to work wit me 237 00:17:07,866 --> 00:17:09,216 on the final project But we both know that Imma say 238 00:17:09,246 --> 00:17:10,266 "ummm not yet" I know the truth must hurt, 239 00:17:10,296 --> 00:17:11,766 work at ya comfort now otherwise guess what I'll tell ya what's 240 00:17:11,796 --> 00:17:11,976 worse, now: 241 00:17:12,226 --> 00:17:19,526 You say you a hacka but you never crack nothing We say you a 242 00:17:19,696 --> 00:17:28,326 pranksta and you need to stop frontin You go on the internet 243 00:17:28,326 --> 00:17:31,496 but you neva hack nothing We've been programmin a long time 244 00:17:31,526 --> 00:17:32,126 and you aint got nothing. 245 00:17:32,156 --> 00:17:33,626 You say you a hacka but you never crack nothing We say you a 246 00:17:33,656 --> 00:17:35,306 pranksta and you need to stop frontin You go on the internet 247 00:17:35,336 --> 00:17:36,836 but you neva hack nothing We've been programmin a long time 248 00:17:36,866 --> 00:17:37,976 and you aint got nothing HAHA...DAAAMN HOMIE! 249 00:17:38,516 --> 00:17:54,586 [ Inaudible ] 250 00:17:55,086 --> 00:17:55,396 >> Shwyntax! 251 00:17:56,516 --> 00:18:01,916 [ Applause ] 252 00:18:02,416 --> 00:18:04,156 >> The single will be available for download 253 00:18:04,156 --> 00:18:06,666 after today on CS50.net. 254 00:18:07,156 --> 00:18:09,896 So a quick look at what's ahead. 255 00:18:09,896 --> 00:18:12,646 So your feedback throughout this semester, knowing though all 256 00:18:12,646 --> 00:18:13,526 of those surveys are, 257 00:18:13,526 --> 00:18:15,336 do you realize the data is not for naught. 258 00:18:15,336 --> 00:18:17,996 We do absorb all of this data, fine-tune the course 259 00:18:17,996 --> 00:18:19,836 so that your descendants in this course 260 00:18:19,836 --> 00:18:22,196 in Fall 2011 will hopefully benefit 261 00:18:22,196 --> 00:18:24,236 from your experiences both good and bad. 262 00:18:24,236 --> 00:18:27,496 In particular we are going to finally, after 21 years, 263 00:18:27,496 --> 00:18:29,416 exit the basement of the Science Center, 264 00:18:29,416 --> 00:18:32,406 which has never been a terribly fun place to spend the evening 265 00:18:32,406 --> 00:18:34,356 and move ourselves sort of physics style, 266 00:18:34,616 --> 00:18:37,116 to multiple undergraduate houses in the fall. 267 00:18:37,116 --> 00:18:39,146 We will bolster brain break as well, 268 00:18:39,146 --> 00:18:41,986 and so we as CS50 students will come more food 269 00:18:41,986 --> 00:18:43,016 in some of the houses. 270 00:18:43,046 --> 00:18:46,106 So stay tuned for that and we hope that enhanced 271 00:18:46,106 --> 00:18:48,856 with a few workflow improvements, office hours 272 00:18:48,856 --> 00:18:53,186 in future, so where you can now see your successors 273 00:18:53,186 --> 00:18:55,986 in this course, will be all the more an efficient 274 00:18:55,986 --> 00:18:57,826 and all the more a social experience, 275 00:18:57,826 --> 00:18:59,306 much more so than cubicles 276 00:18:59,306 --> 00:19:01,876 under fluorescent lights have ever allowed us. 277 00:19:01,876 --> 00:19:04,566 Recall that last week we took a look at life after 50, 278 00:19:04,566 --> 00:19:06,576 specifically looking at some of these courses here, 279 00:19:06,796 --> 00:19:09,726 every one of which you can advance 280 00:19:09,726 --> 00:19:12,606 to after having only CS50 under your belt. 281 00:19:12,606 --> 00:19:15,706 If you missed any part of that week, realize we've chopped 282 00:19:15,706 --> 00:19:18,716 up that lecture into 10 minute segments so that you can focus 283 00:19:18,716 --> 00:19:20,646 on just one or more of these courses. 284 00:19:20,896 --> 00:19:22,616 Recall, too, from the handout, 285 00:19:22,736 --> 00:19:26,656 CS50.net/guide is the CS50 unofficial guide 286 00:19:26,656 --> 00:19:27,786 to CS at Harvard. 287 00:19:27,786 --> 00:19:29,616 And you'll see this little chart that tries 288 00:19:29,616 --> 00:19:30,676 to help you make sense 289 00:19:30,676 --> 00:19:34,106 of an otherwise unwieldy course catalog and navigate your way. 290 00:19:34,106 --> 00:19:37,056 This is not to say that we expect or are trying 291 00:19:37,056 --> 00:19:39,856 to convert all of you into computer science concentrators. 292 00:19:41,096 --> 00:19:42,766 We are trying to convert most of you 293 00:19:42,766 --> 00:19:45,666 into computer science minors, admittedly, but with that said, 294 00:19:45,666 --> 00:19:49,136 the minor requires just 3 additional courses beyond CS50. 295 00:19:49,136 --> 00:19:51,426 So even if you need a little bit of a breather this spring 296 00:19:51,426 --> 00:19:54,286 if not a senior, do realize that there are 297 00:19:54,286 --> 00:19:56,786 so many different exciting direction to go in. 298 00:19:56,786 --> 00:19:59,726 And that's really what resonated with me after finishing CS50. 299 00:19:59,726 --> 00:20:02,366 It's very easy to sort of get tunnel vision and think, 300 00:20:02,456 --> 00:20:05,176 CS is just about programming, and that can be. 301 00:20:05,176 --> 00:20:07,876 But as we said in week 0, it really is just a tool 302 00:20:07,876 --> 00:20:10,576 that you can use to explore networking and hardware 303 00:20:10,726 --> 00:20:12,006 and visualizations 304 00:20:12,006 --> 00:20:13,646 and programming languages, databases. 305 00:20:13,646 --> 00:20:15,736 There's so many different directions, and especially 306 00:20:15,736 --> 00:20:17,586 for those of you considering a minor, 307 00:20:17,586 --> 00:20:19,606 even if your concentration is in the humanities, 308 00:20:19,866 --> 00:20:22,646 realize you'll still have a chance to get some depth in one 309 00:20:22,646 --> 00:20:24,596 or more areas of interest to you. 310 00:20:24,836 --> 00:20:27,496 So a very common question this year, especially has been, 311 00:20:28,016 --> 00:20:30,796 what did Mark Zuckerberg take CS50? 312 00:20:30,796 --> 00:20:34,876 We thought we would answer this authoritatively with Mark's plan 313 00:20:34,876 --> 00:20:37,136 of study, so far as computer science goes, 314 00:20:37,356 --> 00:20:42,716 before he left this campus -- though he did not. 315 00:20:42,996 --> 00:20:45,776 So we perhaps should have mentioned that if your goal 316 00:20:45,776 --> 00:20:49,276 in here at Harvard is to start the next Facebook.com of sorts, 317 00:20:49,506 --> 00:20:51,926 you really want to start with CS51. 318 00:20:51,926 --> 00:20:55,936 Moving on to CS121 in theory, 124 in data structures, 319 00:20:55,936 --> 00:20:59,986 161 in operating systems, 182 in artificial intelligence, 320 00:20:59,986 --> 00:21:02,056 and 91R is a research-oriented course. 321 00:21:02,056 --> 00:21:03,376 But we went back a bit further. 322 00:21:03,626 --> 00:21:05,246 Turns out that another gentleman 323 00:21:05,246 --> 00:21:08,556 who left Harvard a bit early didn't even take any CS courses. 324 00:21:08,756 --> 00:21:12,466 Admittedly there was no CS department back then. 325 00:21:12,466 --> 00:21:14,626 These are the applied math courses that he took, 326 00:21:14,626 --> 00:21:17,536 specifically Professor Harry Lewis, who you met last week, 327 00:21:17,806 --> 00:21:20,046 who has many fun stories to tell 328 00:21:20,046 --> 00:21:23,126 about Bill Gates' time here at Harvard. 329 00:21:23,126 --> 00:21:24,946 So there are your authoritative answers 330 00:21:24,946 --> 00:21:28,736 as to what those folks took, but now let's focus on you guys. 331 00:21:28,766 --> 00:21:32,916 So for pset 0 recall you submitted a scratch project. 332 00:21:32,916 --> 00:21:35,316 And just for fun, we asked among the staff, 333 00:21:35,316 --> 00:21:38,726 which projects did you find the cutest, the most amazing, 334 00:21:38,726 --> 00:21:41,036 really, and search your own adjective there. 335 00:21:41,036 --> 00:21:42,906 And we did get a number of nominations, 336 00:21:42,906 --> 00:21:45,316 a few of which we wanted to recognize today. 337 00:21:45,546 --> 00:21:49,556 One of the submissions that we will honor today 338 00:21:49,716 --> 00:21:55,366 as the amazingest award, is going to go to the author 339 00:21:55,366 --> 00:21:57,976 of this here Scratch Project. 340 00:21:58,516 --> 00:23:18,616 [ Music ] 341 00:23:19,116 --> 00:23:21,486 >> So if the next time you're at some wedding dancing 342 00:23:21,486 --> 00:23:24,346 to that song, Nicole Bowman will have done her job. 343 00:23:24,346 --> 00:23:26,086 If Nicole is here and would like to come up 344 00:23:26,086 --> 00:23:29,056 and receive her Certificate of Distinction from CS50. 345 00:23:29,236 --> 00:23:29,896 Nicole? 346 00:23:31,516 --> 00:23:38,546 [ Applause ] 347 00:23:39,046 --> 00:23:41,096 >> Congratulations from the CS50 staff. 348 00:23:41,096 --> 00:23:41,656 >> Thank you. 349 00:23:42,026 --> 00:23:45,316 >> So another project that we would like to honor 350 00:23:45,316 --> 00:23:49,216 in the category of cutest is this one here. 351 00:23:49,216 --> 00:23:51,966 This one requires a little bit of interaction. 352 00:23:51,966 --> 00:23:56,146 Could we have a volunteer willing to steer this animation? 353 00:23:56,396 --> 00:23:59,926 Anyone staring at me. 354 00:23:59,926 --> 00:24:00,746 Yes? What's your name? 355 00:24:01,376 --> 00:24:01,606 >> Me? 356 00:24:01,606 --> 00:24:03,996 >> Yes. Are you comfortable coming up? 357 00:24:04,056 --> 00:24:06,506 Travis? All right, come on up. 358 00:24:06,866 --> 00:24:10,176 All right, Travis, we have here the handiwork 359 00:24:10,176 --> 00:24:11,576 of one of your classmates. 360 00:24:11,846 --> 00:24:15,246 Directions will appear on the screen in just a moment. 361 00:24:15,966 --> 00:24:17,966 There we go. 362 00:24:18,516 --> 00:24:44,546 [ Music ] 363 00:24:45,046 --> 00:24:47,156 >> Actually I think the only thing you might have 364 00:24:47,156 --> 00:24:48,506 to do is hit the spacebar. 365 00:24:48,506 --> 00:24:48,956 That's okay. 366 00:24:49,516 --> 00:26:10,586 [ Music ] 367 00:26:11,086 --> 00:26:13,876 >> So congratulations to Travis and to Sam Singer. 368 00:26:14,176 --> 00:26:18,036 >> Thank you very much. 369 00:26:18,646 --> 00:26:22,956 >> Sam, are you here as well? 370 00:26:23,246 --> 00:26:25,976 Sam? There we go. 371 00:26:26,516 --> 00:26:31,656 [ Applause ] 372 00:26:32,156 --> 00:26:32,976 >> Congratulations. 373 00:26:33,676 --> 00:26:35,036 There you go. 374 00:26:35,036 --> 00:26:40,876 All right, and lastly, we have a new category, as defined by one 375 00:26:40,876 --> 00:26:41,826 of the teaching fellows. 376 00:26:42,116 --> 00:26:46,906 This one goes in the super awesome category for 2010. 377 00:26:46,906 --> 00:26:49,966 And I give you this project here. 378 00:26:50,516 --> 00:28:40,556 [ Music ] 379 00:28:41,056 --> 00:28:45,036 >> So the super award for 2010 goes to Kristin Logan. 380 00:28:45,036 --> 00:28:45,976 Kristin, if you are here. 381 00:28:46,516 --> 00:28:59,106 [ Applause ] 382 00:28:59,606 --> 00:29:00,826 >> Congratulations from CS50. 383 00:29:00,826 --> 00:29:01,126 >> Thank you. 384 00:29:02,586 --> 00:29:06,356 >> All right, just a couple of more recognitions here. 385 00:29:06,586 --> 00:29:09,846 In problem set 5, recall that you were challenged 386 00:29:09,846 --> 00:29:13,146 with scouring campus for all sorts of computer scientists. 387 00:29:13,376 --> 00:29:16,056 A few of you indeed found a whole lot of them. 388 00:29:16,056 --> 00:29:18,556 We've linked to the galleries on the course's Web site, 389 00:29:18,556 --> 00:29:22,066 but ultimately the two sections that submitted both the most 390 00:29:22,066 --> 00:29:25,246 and the most on time were Matt Chartier 391 00:29:25,296 --> 00:29:27,636 and Yuhki Yamashita's section. 392 00:29:27,636 --> 00:29:29,416 Receiving them on behalf 393 00:29:29,416 --> 00:29:32,396 of those sections here first will be Joseph, 394 00:29:32,456 --> 00:29:33,766 Paul and Kristin. 395 00:29:33,766 --> 00:29:37,916 If any or all of you three are here, this is of course Joseph 396 00:29:37,916 --> 00:29:39,866 with Professor Stu Shieber. 397 00:29:40,296 --> 00:29:41,486 Joseph, Paul? 398 00:29:43,016 --> 00:29:45,796 Anyone? Kristin? 399 00:29:45,796 --> 00:29:46,716 Okay. 400 00:29:47,516 --> 00:29:51,596 [ Applause ] 401 00:29:52,096 --> 00:29:52,696 >> Very nicely done. 402 00:29:52,696 --> 00:29:53,586 There we are, all right. 403 00:29:53,886 --> 00:29:56,426 One, and here you go. 404 00:29:57,916 --> 00:30:01,146 And two. And three. 405 00:30:01,656 --> 00:30:02,626 And congratulations. 406 00:30:03,326 --> 00:30:07,326 And CS50 stress balls is what these are. 407 00:30:07,996 --> 00:30:08,826 All right. 408 00:30:08,826 --> 00:30:11,566 In the other section here, 409 00:30:11,946 --> 00:30:15,686 this fellow pretty much found almost all 410 00:30:15,686 --> 00:30:18,736 of the computer scientists on campus single-handedly, 411 00:30:18,736 --> 00:30:22,266 because I don't know what's with the other students 412 00:30:22,266 --> 00:30:23,376 in this particular section, 413 00:30:23,376 --> 00:30:26,696 but you made poor Zack introduce himself to every TF, 414 00:30:26,696 --> 00:30:30,346 CA and professor on campus. 415 00:30:30,446 --> 00:30:31,546 But Zack, if you are here 416 00:30:31,546 --> 00:30:35,416 to receive your section prize, Zack, come on down. 417 00:30:35,776 --> 00:30:37,726 I will say, while he's up here, 418 00:30:38,016 --> 00:30:41,866 we did have to disqualify a couple of photos, 419 00:30:41,866 --> 00:30:48,916 namely this one was subjected to some staff analysis. 420 00:30:48,916 --> 00:30:49,936 [ Laughing ] 421 00:30:49,936 --> 00:30:55,056 >> We used the enhanced feature and then saw quite a bit 422 00:30:55,056 --> 00:30:56,806 of pixilation there around the edges. 423 00:30:57,426 --> 00:30:59,646 But nonetheless, congratulations to Zack. 424 00:31:00,056 --> 00:31:02,656 >> Thanks a lot. 425 00:31:03,876 --> 00:31:08,976 >> It is. So just two such recognitions to go. 426 00:31:08,976 --> 00:31:12,176 So in Pset 6, this being really the only academic 427 00:31:12,176 --> 00:31:16,296 of these awards here, we had the big board and the speller 428 00:31:16,296 --> 00:31:19,166 and your fastest implementation possible of the dictionary. 429 00:31:19,416 --> 00:31:23,416 It turns out that as of last night, those who ranked the top 430 00:31:23,416 --> 00:31:25,486 of the list were these 10 folks here, 431 00:31:25,486 --> 00:31:27,216 which is a feat unto itself. 432 00:31:27,576 --> 00:31:31,326 I will say here -- this is the first time this has happened -- 433 00:31:31,646 --> 00:31:33,516 finishers number 1 and 2, 434 00:31:33,516 --> 00:31:36,146 it turns out they're not actually CS50 students. 435 00:31:36,146 --> 00:31:37,336 We did some investigation. 436 00:31:37,336 --> 00:31:41,696 It turns out these are some uberzealous undergraduates 437 00:31:41,696 --> 00:31:44,086 who did ask us for Cloud accounts, and we thought, 438 00:31:44,166 --> 00:31:46,716 go get 'em, let's see what you can do with the Cloud. 439 00:31:46,906 --> 00:31:47,836 Turns out, they won. 440 00:31:48,016 --> 00:31:49,436 So we're going to go ahead 441 00:31:49,436 --> 00:31:54,646 and recognize instead our own CS50s, Joseph Rusher. 442 00:31:54,646 --> 00:31:58,726 If Joe, you are here today to accept 1st place on behalf 443 00:31:58,726 --> 00:32:00,146 of CS50 for the big board. 444 00:32:00,146 --> 00:32:01,826 Joe, come on down. 445 00:32:03,516 --> 00:32:13,636 [ Applause ] 446 00:32:14,136 --> 00:32:16,816 >> So that is still linked on the course's Web site 447 00:32:16,816 --> 00:32:18,056 if you would like to play around. 448 00:32:18,056 --> 00:32:19,206 Congratulations, Joe. 449 00:32:19,366 --> 00:32:19,636 >> Thank you. 450 00:32:19,636 --> 00:32:20,386 >> There you are. 451 00:32:20,636 --> 00:32:21,166 All right. 452 00:32:22,926 --> 00:32:26,866 So lest you be feeling a little disappointed 453 00:32:26,866 --> 00:32:29,786 that you didn't make the top 10, realize that I didn't, either. 454 00:32:30,086 --> 00:32:32,856 So I clocked in at 153. 455 00:32:32,856 --> 00:32:34,506 So my try wasn't doing so well. 456 00:32:34,506 --> 00:32:39,746 But thankfully, our own CS50 teaching fellow Ken Parreno set 457 00:32:39,746 --> 00:32:44,676 a nice Omega bound for us all here in 353, using a total 458 00:32:44,676 --> 00:32:49,246 of 5,661 seconds to implement his dictionary. 459 00:32:49,246 --> 00:32:53,716 So congrats to anyone above Ken this semester. 460 00:32:54,986 --> 00:32:58,976 In problem set 7, we had one last big board. 461 00:32:59,386 --> 00:33:03,096 This one, too, we realized there are some opportunities 462 00:33:03,096 --> 00:33:05,896 for exploitation when it comes to trading 463 00:33:05,896 --> 00:33:07,436 or simulating trades thereof. 464 00:33:07,436 --> 00:33:10,996 This is how the big board looked at the close 465 00:33:11,316 --> 00:33:13,156 of markets this past week. 466 00:33:13,586 --> 00:33:21,096 Michael Shen, with $30 billion, completely trouncing Zack. 467 00:33:21,256 --> 00:33:23,076 I mean, we're not even going to give a 2nd place, 468 00:33:23,076 --> 00:33:26,996 given that there's an additional comma in Michael's there. 469 00:33:27,206 --> 00:33:29,366 Michael, you may recall from quiz 1, 470 00:33:29,366 --> 00:33:31,386 as having user name dshen. 471 00:33:31,646 --> 00:33:33,136 So Michael, if you are here, 472 00:33:33,136 --> 00:33:35,616 we have a little certificate for you as well. 473 00:33:35,616 --> 00:33:37,976 Michael? There he is. 474 00:33:38,516 --> 00:33:45,546 [ Applause ] 475 00:33:46,046 --> 00:33:47,156 >> Very well done. 476 00:33:48,416 --> 00:33:51,016 I should share one anecdote, which is I think, 477 00:33:51,296 --> 00:33:52,886 because of a bug in the -- 478 00:33:52,886 --> 00:33:55,786 because of a bug or lack of feature 479 00:33:55,786 --> 00:33:57,966 in the staff's implementation of CS50 Finance, 480 00:33:58,166 --> 00:34:01,606 we made the poor design decision of only using a 32-bit integer, 481 00:34:01,806 --> 00:34:05,106 the result of which is that I received a very nice note 482 00:34:05,106 --> 00:34:07,166 from Michael asking for a refund 483 00:34:07,166 --> 00:34:11,276 of the $20 million my floating point error cost him. 484 00:34:11,566 --> 00:34:14,216 So we did add that back to his cash balance. 485 00:34:14,776 --> 00:34:20,056 Congratulations. 486 00:34:20,056 --> 00:34:20,366 [ Applause ] 487 00:34:20,366 --> 00:34:20,916 >> All right. 488 00:34:21,586 --> 00:34:23,396 So how did we actually get here? 489 00:34:23,466 --> 00:34:27,596 Recall that just 12 or so weeks ago, this is what most 490 00:34:27,596 --> 00:34:29,496 of you were writing for the very first time. 491 00:34:29,496 --> 00:34:31,536 70 percent of you in this class claim 492 00:34:31,536 --> 00:34:33,966 to have never programmed before, and we started 493 00:34:34,006 --> 00:34:36,446 with certainly something relatively simple, 494 00:34:36,446 --> 00:34:38,136 something relatively fun scratch. 495 00:34:38,356 --> 00:34:40,866 But if you now think back to the week after that and the week 496 00:34:40,866 --> 00:34:43,486 after that, realize the trajectory that you've been 497 00:34:43,486 --> 00:34:44,846 on all these many weeks. 498 00:34:44,986 --> 00:34:47,796 This was hard in week 1 of this course. 499 00:34:47,796 --> 00:34:49,576 You may recall having various bugs, 500 00:34:49,576 --> 00:34:51,906 having trouble getting the pound signs to print and such. 501 00:34:52,156 --> 00:34:54,326 And this was problem set 1 where you simply had 502 00:34:54,326 --> 00:34:57,616 to print some ASCII R, which if you now look back at your code, 503 00:34:57,616 --> 00:35:00,056 it's probably longer than the program needs to be, 504 00:35:00,056 --> 00:35:02,066 now that you have some better programming chops. 505 00:35:02,296 --> 00:35:06,286 But it was also the first of several challenges. 506 00:35:06,286 --> 00:35:08,916 And if you haven't already, do take a moment to look back, 507 00:35:08,916 --> 00:35:11,946 even to grimace just a little bit, at the work you first did 508 00:35:11,946 --> 00:35:13,516 in the course, because really, 509 00:35:13,516 --> 00:35:16,176 this is when we were only using four loops, while loops, 510 00:35:16,466 --> 00:35:17,596 variables, and the like. 511 00:35:17,596 --> 00:35:18,876 And the week after that, granted, 512 00:35:18,876 --> 00:35:21,586 we did introduce a sexier domain, that of cryptography, 513 00:35:21,756 --> 00:35:24,126 but at the end of the day the program you submitted still did 514 00:35:24,126 --> 00:35:26,656 something relatively simple, still a blinking cursor, 515 00:35:26,886 --> 00:35:28,376 typing in text at the prompt, 516 00:35:28,506 --> 00:35:31,276 and then getting back some plain text or cipher text 517 00:35:31,276 --> 00:35:33,216 with our Caesar and visionair ciphers. 518 00:35:33,416 --> 00:35:36,756 One week after that we finally started moving into the realm 519 00:35:37,046 --> 00:35:40,006 of modernity and games, and yet we still were limited 520 00:35:40,006 --> 00:35:41,796 by ASCII art, of sorts. 521 00:35:41,796 --> 00:35:43,646 This of course, was the game of 15, 522 00:35:43,826 --> 00:35:47,106 but with problem set 4 did we introduce a library, 523 00:35:47,106 --> 00:35:48,626 the first of several libraries. 524 00:35:49,056 --> 00:35:51,406 Namely this one was ncurses. 525 00:35:51,406 --> 00:35:52,996 And even though you still had to interact 526 00:35:52,996 --> 00:35:55,226 with your programs using but a keyboard and no mouse, 527 00:35:55,526 --> 00:35:58,546 at least now you were starting to find yourself perhaps 528 00:35:58,546 --> 00:36:02,276 in a domain, in a user interface a bit more familiar to you. 529 00:36:02,496 --> 00:36:04,776 Fast forward one week later and you discovered 530 00:36:04,776 --> 00:36:07,466 that it was indeed Professor Plum in the lounge 531 00:36:07,466 --> 00:36:10,376 with the candlestick, and this is very much a real-world 532 00:36:10,376 --> 00:36:12,836 problem, that of forensics and data recovery. 533 00:36:13,096 --> 00:36:15,646 The jpegs you recall were another part 534 00:36:15,646 --> 00:36:17,606 of that piece set, and thereafter. 535 00:36:17,606 --> 00:36:19,356 And this one should give you a bit of pause, 536 00:36:20,006 --> 00:36:23,146 especially if things like this were difficult 537 00:36:23,146 --> 00:36:24,216 at the start of the semester. 538 00:36:24,216 --> 00:36:25,776 Realize that by problem set 6, 539 00:36:26,086 --> 00:36:29,016 you were implementing fairly sophisticated data structures 540 00:36:29,016 --> 00:36:31,946 and memory that are very easy to draw on the screen like this, 541 00:36:32,236 --> 00:36:35,526 but consider how difficult it probably was wiring these data 542 00:36:35,526 --> 00:36:37,786 structures together, getting all these pointers right, 543 00:36:37,916 --> 00:36:40,666 cashing down all of those memory related bugs with bal grids, 544 00:36:40,666 --> 00:36:43,566 whether you did a hashtable like this or a tri like this. 545 00:36:43,646 --> 00:36:45,976 But certainly even if you didn't make the big board, 546 00:36:45,976 --> 00:36:48,586 the fact that you were finally wiring something like this 547 00:36:48,586 --> 00:36:51,796 up in memory, using just numbers at the end of the day 548 00:36:51,796 --> 00:36:53,266 in the most simple of instructions, 549 00:36:53,446 --> 00:36:56,186 is really testament to just how far you've come 550 00:36:56,486 --> 00:36:57,636 over these several weeks. 551 00:36:57,636 --> 00:37:00,956 And then, simply so that we actually end the semester 552 00:37:01,226 --> 00:37:03,316 demonstrating that you've not learned C; 553 00:37:03,316 --> 00:37:05,886 you've learned computer science and you've learned programming, 554 00:37:06,136 --> 00:37:09,126 we introduce of course, PHP and a little bit of HTML, CSS, 555 00:37:09,126 --> 00:37:12,646 JavaScript and SQL, and finally do interact 556 00:37:12,646 --> 00:37:15,656 with a more familiar mechanism, namely a browser. 557 00:37:15,656 --> 00:37:18,776 Finally are you able to go in the 8th problem set 558 00:37:19,076 --> 00:37:22,086 to implementing, my God, a three-dimensional video game 559 00:37:22,086 --> 00:37:24,396 of your very own campus, including some 560 00:37:24,396 --> 00:37:26,086 of your very own friends. 561 00:37:26,086 --> 00:37:29,956 And again, think back to where we began, which was here. 562 00:37:30,016 --> 00:37:33,636 And that is in fact just over 12 weeks' time, all the result 563 00:37:33,806 --> 00:37:35,406 of what you put into this course. 564 00:37:35,406 --> 00:37:36,816 To give you a sense, in fact, 565 00:37:37,026 --> 00:37:40,936 of just how much this latter context, that of the web, HTML, 566 00:37:40,996 --> 00:37:44,126 SQL, JavaScript and like resonates, here is a chart 567 00:37:44,126 --> 00:37:46,386 that depicts exactly what kinds 568 00:37:46,386 --> 00:37:49,876 of projects most students have declared themselves as tackling 569 00:37:49,956 --> 00:37:52,276 for this year's final projects. 570 00:37:52,566 --> 00:37:55,136 Website is up there at the top, Tool, which is sort 571 00:37:55,136 --> 00:37:57,236 of an all-encompassing generic term we use, 572 00:37:57,236 --> 00:38:00,596 IOS for the Apple platform, SMS, Facebook. 573 00:38:00,926 --> 00:38:03,166 Now, I'm being a little disingenuous here, 574 00:38:03,166 --> 00:38:05,536 so you'll recall perhaps that Brian Kernahan a couple 575 00:38:05,536 --> 00:38:09,356 of weeks ago cautioned against lying with statistics. 576 00:38:09,356 --> 00:38:11,236 In fact, I kind of am, 577 00:38:11,236 --> 00:38:13,796 given that I'm using what's called a logarithmic scale. 578 00:38:13,796 --> 00:38:17,706 Using base 10 on the axis there, if we really present this data 579 00:38:17,706 --> 00:38:21,996 as a computer scientist should, you'll see that web, 580 00:38:22,666 --> 00:38:25,666 this world wide web is perhaps here to stay. 581 00:38:25,976 --> 00:38:28,446 A supermajority of you, up from 60 percent 582 00:38:28,446 --> 00:38:30,596 to 80 some odd percent this semester, 583 00:38:30,766 --> 00:38:32,756 are tackling web-based final projects. 584 00:38:32,756 --> 00:38:34,736 But this, too, is really testament to the fact, 585 00:38:34,916 --> 00:38:37,106 especially when you have to respond to friend's questions 586 00:38:37,106 --> 00:38:38,326 as to, what did you learn? 587 00:38:38,326 --> 00:38:39,436 What languages did you learn? 588 00:38:39,686 --> 00:38:41,736 It's sort of an immaterial question. 589 00:38:41,736 --> 00:38:44,276 It ultimately is about the ideas and the fact 590 00:38:44,276 --> 00:38:47,446 that we spent 75 percent of the semester in C 591 00:38:47,446 --> 00:38:50,036 so that you have a foundation now on which to build 592 00:38:50,036 --> 00:38:52,676 with any language in this class or beyond. 593 00:38:52,676 --> 00:38:54,106 In fact, the languages being used 594 00:38:54,106 --> 00:38:56,626 for projects certainly involve some of those web-based ones, 595 00:38:56,826 --> 00:38:59,816 but there are folks using C, a language called Ruby, Java, 596 00:38:59,816 --> 00:39:02,526 Objective C, Python, Actionscript, C plus plus 597 00:39:02,856 --> 00:39:04,416 and a few more down below. 598 00:39:04,416 --> 00:39:07,016 So you will see certainly come to CS50 Fair, 599 00:39:07,186 --> 00:39:08,886 what all of your classmates have done, 600 00:39:09,146 --> 00:39:11,156 especially if it's not a world familiar to you. 601 00:39:11,156 --> 00:39:14,026 Now, with that said, some of you might have seen this in section, 602 00:39:14,276 --> 00:39:16,666 but you can take things too far. 603 00:39:16,666 --> 00:39:19,406 You can take your enthusiasm too far. 604 00:39:19,586 --> 00:39:20,336 Don't do this. 605 00:39:23,656 --> 00:39:25,296 Okay, I wasn't sure that would go over, 606 00:39:25,296 --> 00:39:26,926 a little chuckle, interesting. 607 00:39:27,086 --> 00:39:31,936 So the talking point here for this slide is, 608 00:39:31,936 --> 00:39:34,546 my note to myself is, we will share proposals 609 00:39:34,546 --> 00:39:35,776 on the course's Web site. 610 00:39:35,776 --> 00:39:37,326 This was my visual cue to say that. 611 00:39:37,526 --> 00:39:38,726 So no, in all fairness, 612 00:39:38,726 --> 00:39:41,026 given that there are 400-plus projects, 613 00:39:41,026 --> 00:39:44,086 many of them being implemented by individuals, some by groups, 614 00:39:44,306 --> 00:39:47,106 we will post if you have opted in by your proposal, 615 00:39:47,216 --> 00:39:49,026 all of those proposals online just 616 00:39:49,026 --> 00:39:50,446 so that you can get a sneak teaser 617 00:39:50,446 --> 00:39:52,146 of what your classmates are going to be working 618 00:39:52,146 --> 00:39:53,396 on over the next couple of weeks. 619 00:39:53,436 --> 00:39:57,896 For the first ever CS50 hackathon, we will be heading 620 00:39:57,896 --> 00:39:59,756 down the street to Microsoft. 621 00:39:59,756 --> 00:40:01,506 Some of you who tuned into Office Space 622 00:40:01,506 --> 00:40:04,646 with us might recall that they have a beautiful space there, 623 00:40:04,646 --> 00:40:05,586 very high tech. 624 00:40:05,656 --> 00:40:07,876 Frankly, there's a lot of Xboxes, ping-pong table, 625 00:40:08,076 --> 00:40:10,806 way more toys than we have here in our own building. 626 00:40:10,806 --> 00:40:14,256 So they have a capacity of up to 240, which is good, 627 00:40:14,256 --> 00:40:19,106 because on Thursday, 12/2, that is the last day 628 00:40:19,106 --> 00:40:22,056 of classes overflowing to the first day of reading period. 629 00:40:22,056 --> 00:40:23,896 The plan is to be there around 8 p.m. 630 00:40:24,096 --> 00:40:28,456 to 6 a.m. Food will be served multiple times, and the plan is 631 00:40:28,456 --> 00:40:30,676 to offer you a chance to really dive in by yourself 632 00:40:30,676 --> 00:40:32,746 or with your friends to your final project. 633 00:40:32,746 --> 00:40:34,246 Essentially what we'll do at the start 634 00:40:34,246 --> 00:40:36,726 of the evening is challenge you to decide for yourself 635 00:40:37,046 --> 00:40:40,916 by 6 a.m. what would be a good point to be at, 636 00:40:40,916 --> 00:40:42,816 what would be a better point to be at, 637 00:40:42,816 --> 00:40:44,906 and what would be the best point to be at. 638 00:40:45,196 --> 00:40:47,836 Frankly, if my own experience and your own experience 639 00:40:47,836 --> 00:40:49,196 in the course is any indication, 640 00:40:49,496 --> 00:40:52,156 it's rare that you ever actually accomplish as much 641 00:40:52,156 --> 00:40:53,656 as you want in the allowed time. 642 00:40:53,826 --> 00:40:56,716 So we're all really going to shoot for at least exiting 643 00:40:56,716 --> 00:40:58,576 that morning, stumbling home 644 00:40:58,576 --> 00:41:00,456 with having accomplished something good. 645 00:41:00,456 --> 00:41:04,336 But you'll still have a week after that to continue your work 646 00:41:04,556 --> 00:41:07,466 on the TFs and CAs and I will be there in attendance with you. 647 00:41:07,596 --> 00:41:09,976 And then, of course, the CS50 Fair, a word on this. 648 00:41:10,056 --> 00:41:13,726 So the CS50 Fair, if you haven't been, is a large exhibition 649 00:41:13,726 --> 00:41:16,556 across the streets at Northwest Science Labs. 650 00:41:16,556 --> 00:41:19,126 It will be adorned with plenty of food and music and balloons. 651 00:41:19,326 --> 00:41:22,356 Essentially we'll divide the afternoon into three shifts. 652 00:41:22,356 --> 00:41:23,496 You'll find out in a week 653 00:41:23,496 --> 00:41:26,396 or two's time what shift you're in, 1, 2 or 3. 654 00:41:26,536 --> 00:41:29,286 You'll bring your laptops, you'll set up shop according 655 00:41:29,286 --> 00:41:31,506 to the instructions you'll receive, and then exhibits, 656 00:41:31,506 --> 00:41:33,466 your final projects, the people standing around you, 657 00:41:33,466 --> 00:41:34,606 your friends who have drooped by, 658 00:41:34,606 --> 00:41:35,836 to other folks in attendance. 659 00:41:36,126 --> 00:41:41,016 Last year's was attended by 1,000-plus individuals in total. 660 00:41:41,016 --> 00:41:43,966 This year, and as well as your classmates will we have 661 00:41:43,966 --> 00:41:46,856 recruiters from Google, Facebook, Microsoft, Apple, 662 00:41:46,856 --> 00:41:50,206 Amazon, Disney there to just chat you up, 663 00:41:50,316 --> 00:41:51,956 see if you're interested in internships, 664 00:41:51,956 --> 00:41:53,626 see if you're interested in free stuff 665 00:41:53,626 --> 00:41:55,346 that they have there or full-time jobs. 666 00:41:55,566 --> 00:41:59,266 Also in attendance this year will be President Drew Foust, 667 00:41:59,316 --> 00:42:01,676 Dean Mike Smith, Dean Sherry Murray 668 00:42:01,676 --> 00:42:02,636 and a whole bunch of others. 669 00:42:02,636 --> 00:42:05,066 So not to freak you out, it really is meant 670 00:42:05,066 --> 00:42:07,706 to be a very casual opportunity and a chance to sort 671 00:42:07,706 --> 00:42:09,806 of take pride in what you've accomplished, 672 00:42:10,036 --> 00:42:15,596 but it's also meant to be really the true climax of the semester. 673 00:42:15,596 --> 00:42:18,016 And that said, to incentivize your friends 674 00:42:18,016 --> 00:42:19,926 to actually come see your projects out of more 675 00:42:19,926 --> 00:42:22,456 than just love for you, there will be a raffle 676 00:42:22,456 --> 00:42:25,086 with amazing prizes, which will include such things 677 00:42:25,086 --> 00:42:28,606 as last year's Xbox, Wii, Playstation, 678 00:42:28,816 --> 00:42:29,896 those kinds of things. 679 00:42:29,896 --> 00:42:31,856 So we will -- if your text messages 680 00:42:31,856 --> 00:42:34,496 to them is not enough, the prizes will be. 681 00:42:34,876 --> 00:42:40,536 So now we have an opportunity for one last interaction. 682 00:42:40,786 --> 00:42:43,856 For this we need at least three volunteers from the staff, 683 00:42:44,176 --> 00:42:46,546 three prefabricated volunteers 684 00:42:46,546 --> 00:42:47,926 from the staff, want to come on up? 685 00:42:48,446 --> 00:42:50,286 But we'll need two teams as well 686 00:42:50,286 --> 00:42:51,916 from among the student audiences. 687 00:42:51,916 --> 00:42:53,436 Marta seems to be volunteering. 688 00:42:54,036 --> 00:42:55,936 We need -- yes, you two. 689 00:42:55,936 --> 00:42:58,716 Oh, now you want to participate. 690 00:42:58,716 --> 00:42:59,586 All right. 691 00:42:59,586 --> 00:43:01,556 How about you two here, three, 692 00:43:01,856 --> 00:43:05,496 and your friend is nominating you for six in total, I think. 693 00:43:05,496 --> 00:43:05,996 Come on up. 694 00:43:06,276 --> 00:43:09,056 We'll divide you into two teams. 695 00:43:09,146 --> 00:43:10,766 Friends' nominations are binding. 696 00:43:12,476 --> 00:43:13,146 So come on up. 697 00:43:13,146 --> 00:43:14,836 Hopefully we have enough seats here. 698 00:43:14,966 --> 00:43:22,306 We need a head teaching fellow to run the scoreboard. 699 00:43:23,176 --> 00:43:26,106 Cansu Aydede, very willingly. 700 00:43:26,476 --> 00:43:26,936 All right. 701 00:43:27,376 --> 00:43:32,536 And what is this advanced preparation going on? 702 00:43:32,666 --> 00:43:36,536 Okay, so we're going to have a little three-team thing here 703 00:43:36,536 --> 00:43:38,936 and like two few chairs, it seems. 704 00:43:38,936 --> 00:43:39,736 We'll figure that out. 705 00:43:39,906 --> 00:43:41,466 So let's put the teaching fellows and staff 706 00:43:41,586 --> 00:43:42,816 over here if you could. 707 00:43:43,056 --> 00:43:44,866 Do we need an extra chair or two? 708 00:43:45,656 --> 00:43:46,486 Yep, okay. 709 00:43:48,396 --> 00:43:51,556 Here's one, need one more. 710 00:43:52,346 --> 00:43:53,166 Still one. 711 00:43:54,116 --> 00:43:55,666 It's like musical chairs. 712 00:43:55,666 --> 00:43:57,416 All right, one of you gets the piano bench. 713 00:43:57,646 --> 00:44:00,856 >> There are chairs here. 714 00:44:01,026 --> 00:44:01,876 >> Even better, even better. 715 00:44:02,196 --> 00:44:05,616 All right, so I'm going to go ahead and queue up the screen. 716 00:44:05,616 --> 00:44:09,456 This is a little tradition we have here in CS50. 717 00:44:10,866 --> 00:44:14,146 We kind of make up some rules as we go -- fair notice. 718 00:44:14,676 --> 00:44:19,286 But we made a little Web site using our HTML skills here. 719 00:44:19,606 --> 00:44:22,066 Namely I'm going to go to CS50.net. 720 00:44:23,806 --> 00:44:25,196 All right. 721 00:44:26,046 --> 00:44:29,126 So now, if I have this set, let's try this. 722 00:44:29,906 --> 00:44:31,886 >> This is Jeopardy. 723 00:44:34,196 --> 00:44:35,246 >> All right, very good. 724 00:44:35,246 --> 00:44:38,896 >> And now, here is the host of Jeopardy. 725 00:44:39,896 --> 00:44:40,776 >> Okay, that'll be me. 726 00:44:41,106 --> 00:44:43,966 And here we go into Single Jeopardy. 727 00:44:43,966 --> 00:44:48,656 So the way this is going to work is kind of like Jeopardy, 728 00:44:48,726 --> 00:44:50,896 but again, we're going to make some things up as we go. 729 00:44:50,896 --> 00:44:53,336 We'll have a few rounds of questions and then -- 730 00:44:54,196 --> 00:44:55,746 oh, I guess we have two big teams this year? 731 00:44:55,806 --> 00:44:56,296 That's fine. 732 00:44:57,346 --> 00:44:59,296 Shall we do that? 733 00:44:59,296 --> 00:45:01,396 Okay, so these four staff 734 00:45:01,396 --> 00:45:04,676 against these 2, 4, 6, 7 students. 735 00:45:04,956 --> 00:45:05,716 No, that's good. 736 00:45:06,566 --> 00:45:07,016 That's good. 737 00:45:07,336 --> 00:45:10,846 So, and Yuhki and Cansu are going to be the arbiters here 738 00:45:10,846 --> 00:45:12,566 as to whose hand goes up first. 739 00:45:12,566 --> 00:45:14,856 We only have time for a few questions in each round, 740 00:45:14,856 --> 00:45:16,086 because we do want to get to cake. 741 00:45:16,316 --> 00:45:19,326 But here we have in the coin toss beforehand, 742 00:45:19,326 --> 00:45:21,286 the students won the toss, which means students, 743 00:45:21,636 --> 00:45:23,726 somehow if you don't yet have a leader you're going 744 00:45:23,726 --> 00:45:25,226 to need someone to take direction here, 745 00:45:25,516 --> 00:45:27,976 take the lead here and pick a category. 746 00:45:28,676 --> 00:45:31,686 >> We'll be on week 2 for a thousand. 747 00:45:31,686 --> 00:45:33,346 >> Week 2 for one thousand. 748 00:45:33,346 --> 00:45:33,986 Now, let's -- do you-- 749 00:45:33,986 --> 00:45:35,356 >> Week 2. 750 00:45:35,806 --> 00:45:37,166 >> Week 2 for one thousand. 751 00:45:37,166 --> 00:45:39,516 So lest you all be feeling left out, realize, 752 00:45:39,816 --> 00:45:41,256 these are your questions. 753 00:45:41,256 --> 00:45:44,116 So those quiz review questions Yuhki asked you for, 754 00:45:44,766 --> 00:45:46,676 as you may have noticed, they really make the quiz. 755 00:45:46,676 --> 00:45:48,126 Because a lot of these questions are like, 756 00:45:48,126 --> 00:45:50,746 what's 3 in binary, what's 4 in binary. 757 00:45:51,176 --> 00:45:55,186 So we read some of our own, but we did bring these here today. 758 00:45:55,186 --> 00:45:57,296 So I have here some week 2 questions. 759 00:45:57,296 --> 00:45:58,956 And when you answer, just be sure to speak 760 00:45:58,956 --> 00:46:02,266 into the nearest microphone, for those playing along at home. 761 00:46:02,266 --> 00:46:06,116 So week 2 for one thousand, your question is going to be -- 762 00:46:06,116 --> 00:46:08,826 and again, raise your hand to be called on first. 763 00:46:09,116 --> 00:46:12,946 The question is what will happen 764 00:46:12,946 --> 00:46:15,636 if you access memory outside of your array? 765 00:46:15,876 --> 00:46:16,776 >> We got it. 766 00:46:17,196 --> 00:46:23,996 >> It's not in how many hands to up. 767 00:46:24,056 --> 00:46:26,536 Oh, the staff? 768 00:46:27,076 --> 00:46:28,696 The staff has control. 769 00:46:28,696 --> 00:46:29,026 Marta? 770 00:46:29,736 --> 00:46:30,696 >> You will get a seg fault. 771 00:46:31,056 --> 00:46:32,686 >> You will in fact get a seg fault. 772 00:46:32,686 --> 00:46:34,106 For $1,000. 773 00:46:34,746 --> 00:46:35,376 All right. 774 00:46:37,956 --> 00:46:39,726 Staff are in control here. 775 00:46:39,726 --> 00:46:41,026 What category would you like? 776 00:46:45,896 --> 00:46:47,036 >> Week 2 for 800. 777 00:46:47,496 --> 00:46:49,546 >> Week 2 for 800. 778 00:46:49,546 --> 00:46:54,866 Your question from our students here is going to be, 779 00:46:54,866 --> 00:47:00,996 your question is going to be -- they're all like, what is scope? 780 00:47:01,116 --> 00:47:08,196 What is a global variable? 781 00:47:08,196 --> 00:47:10,246 What's a local variable? 782 00:47:10,386 --> 00:47:15,026 Okay. How about, where does malloc store data? 783 00:47:16,166 --> 00:47:17,026 Students? 784 00:47:18,576 --> 00:47:19,706 >> On the heap. 785 00:47:19,706 --> 00:47:21,596 >> That is correct for $800. 786 00:47:26,356 --> 00:47:28,196 All right, students you have control. 787 00:47:28,456 --> 00:47:29,906 >> Week 4 for a thousand. 788 00:47:29,906 --> 00:47:32,096 >> Week 4 for one thousand. 789 00:47:32,096 --> 00:47:38,976 Your question from week 4 is going to be, what 790 00:47:39,516 --> 00:47:46,076 [ Background noise ] 791 00:47:46,576 --> 00:47:49,486 >> Okay. What are the consequences of a call to malloc 792 00:47:49,486 --> 00:47:51,496 without a later call to free? 793 00:47:52,836 --> 00:47:53,276 Students? 794 00:47:53,276 --> 00:47:55,726 >> What is memory leak? 795 00:47:55,726 --> 00:48:00,516 >> That is true, though this student put you will leak 796 00:48:00,626 --> 00:48:02,466 memory, in quotes for some reason. 797 00:48:02,466 --> 00:48:05,116 So but that is correct for 1,000 in week 4. 798 00:48:05,486 --> 00:48:06,146 Very well done. 799 00:48:06,146 --> 00:48:09,616 All right, what would you like next? 800 00:48:10,516 --> 00:48:11,986 >> 1,000 week 3. 801 00:48:11,986 --> 00:48:12,406 >> What's that? 802 00:48:12,556 --> 00:48:13,526 >> Week 3 for 1,000. 803 00:48:13,526 --> 00:48:15,646 >> Week 3 for 1,000. 804 00:48:15,646 --> 00:48:20,226 So in week 3, your question is going to be 805 00:48:21,586 --> 00:48:26,126 which sort is fastest? 806 00:48:26,126 --> 00:48:29,526 Marta? Wait, wait -- oh, it was students. 807 00:48:29,526 --> 00:48:29,976 Students? 808 00:48:30,516 --> 00:48:36,936 [ Laughing ] 809 00:48:37,436 --> 00:48:37,966 >> Heap sort? 810 00:48:37,966 --> 00:48:40,436 >> I quote, "selection sort I think." 811 00:48:40,986 --> 00:48:48,246 I'm sorry, that -- it's selection sort, 812 00:48:48,246 --> 00:48:49,316 according to the answer key. 813 00:48:49,316 --> 00:48:50,956 So negative 1,000 for students. 814 00:48:50,956 --> 00:48:51,166 >> Oh, no, really? 815 00:48:51,166 --> 00:48:56,726 >> Yes, that's how Jeopardy works. 816 00:48:56,856 --> 00:48:58,596 All right. 817 00:49:00,386 --> 00:49:03,396 So staff has taken the lead by 200. 818 00:49:03,696 --> 00:49:05,756 Students though, you're still in control. 819 00:49:05,936 --> 00:49:09,276 >> Week 0 for 1,000. 820 00:49:09,276 --> 00:49:09,716 >> All right. 821 00:49:09,716 --> 00:49:11,276 We have time for one or two more questions 822 00:49:11,276 --> 00:49:12,696 in Single Jeopardy here. 823 00:49:13,126 --> 00:49:16,106 Week 0 for 1,000. 824 00:49:16,106 --> 00:49:18,886 Week 0 for 1,000. 825 00:49:18,886 --> 00:49:25,546 And your question is going to be, your question is going 826 00:49:25,546 --> 00:49:29,666 to be, what does the work algorithm mean to you? 827 00:49:29,666 --> 00:49:30,366 Students? 828 00:49:30,446 --> 00:49:37,176 >> An algorithm is a way of solving a problem. 829 00:49:37,696 --> 00:49:39,946 >> That's actually pretty close, an algorithm is a process 830 00:49:39,946 --> 00:49:41,436 which you can use to solve a problem. 831 00:49:41,436 --> 00:49:41,976 We'll give it to them. 832 00:49:42,516 --> 00:49:45,626 [ Applause ] 833 00:49:46,126 --> 00:49:48,286 >> All right, last question in Single Jeopardy. 834 00:49:48,286 --> 00:49:49,976 Students, you're still in control and in the lead. 835 00:49:50,516 --> 00:49:55,656 [ Background noise ] 836 00:49:56,156 --> 00:50:00,706 >> You know, I'm doing this randomly, so you could, too. 837 00:50:01,126 --> 00:50:01,366 Week 838 00:50:01,876 --> 00:50:06,016 >> Week 1 for 1,000. 839 00:50:06,546 --> 00:50:08,996 >> Week 1 for 1,000 is what I heard. 840 00:50:08,996 --> 00:50:12,076 All right, so Week 1 for 1,000, your question, 841 00:50:12,076 --> 00:50:17,026 the last in Single Jeopardy here, is going to be -- 842 00:50:17,966 --> 00:50:25,406 What is the standard compiler used by C? 843 00:50:25,406 --> 00:50:25,496 >> GDB. 844 00:50:26,016 --> 00:50:26,086 >> GC 845 00:50:28,336 --> 00:50:28,426 >> GCC. 846 00:50:28,426 --> 00:50:36,036 >> Oh, oh, students minus 1,000 because he said GDB first. 847 00:50:36,036 --> 00:50:41,996 And my team takes the lead again. 848 00:50:42,106 --> 00:50:42,956 All right. 849 00:50:43,136 --> 00:50:50,016 You can play that back again and again on the video. 850 00:50:50,266 --> 00:50:52,626 All right, now we're in Double Jeopardy, 851 00:50:52,626 --> 00:50:54,776 time for just a few questions here. 852 00:50:54,996 --> 00:50:57,976 The weeks have changed from 5 through Rand. 853 00:50:58,526 --> 00:50:59,366 What would you like? 854 00:51:00,006 --> 00:51:00,976 >> Rand for 2,000. 855 00:51:00,976 --> 00:51:02,106 >>? Rand for 2,000. 856 00:51:02,106 --> 00:51:05,256 >> Rand for $2,000, trying to pull ahead. 857 00:51:05,256 --> 00:51:07,486 And your question is going to be what is GDB? 858 00:51:07,486 --> 00:51:07,696 Marta? 859 00:51:07,696 --> 00:51:16,266 >> GDB is a debugger and not a compiler. 860 00:51:16,306 --> 00:51:23,436 >> That is correct for $2,000. 861 00:51:23,436 --> 00:51:25,886 Oh, that did not go over well. 862 00:51:25,886 --> 00:51:27,906 Staff, you're in control. 863 00:51:27,906 --> 00:51:29,496 Time for two more questions. 864 00:51:30,556 --> 00:51:33,736 >> Week 7 2,000. 865 00:51:34,746 --> 00:51:37,636 >> Week 7 for $2,000. 866 00:51:37,636 --> 00:51:42,436 And your question from week 7 is going to be, 867 00:51:42,896 --> 00:51:48,416 your question is going to be, what, what, 868 00:51:48,956 --> 00:51:53,026 what is one advantage of a link list compared to an array? 869 00:51:53,436 --> 00:51:53,716 Marta? 870 00:51:56,606 --> 00:51:59,936 >> You can add elements easier and faster. 871 00:52:00,016 --> 00:52:00,826 >> That is correct. 872 00:52:00,826 --> 00:52:02,656 A link list allows for easier insertion 873 00:52:02,656 --> 00:52:05,246 into the list, for $2,000. 874 00:52:05,616 --> 00:52:09,626 All right, so that's 5,000 to 800. 875 00:52:10,426 --> 00:52:13,546 So let's go with the $2,000 question. 876 00:52:14,976 --> 00:52:18,036 How about week 9 for 2,000. 877 00:52:18,036 --> 00:52:21,966 And let me know, we have like 7 to 10 pages of questions 878 00:52:21,966 --> 00:52:24,686 for every week, except week 9, where you all kind 879 00:52:24,686 --> 00:52:25,646 of petered out, it seems. 880 00:52:26,086 --> 00:52:30,186 So week 9, your question for $2,000 and the last here 881 00:52:30,186 --> 00:52:33,196 in Double Jeopardy before we finish with Final Jeopardy, 882 00:52:33,476 --> 00:52:40,906 is going to be, what does -- students? 883 00:52:41,516 --> 00:52:49,646 [ Background noise ] 884 00:52:50,146 --> 00:52:50,976 >> What is your answers? 885 00:52:50,976 --> 00:52:53,296 >> Hypertext infrastructure. 886 00:52:53,706 --> 00:52:54,136 >> What? 887 00:52:54,136 --> 00:52:54,986 >> What? Whoa. 888 00:52:56,226 --> 00:52:57,096 Try again, keep trying. 889 00:52:57,816 --> 00:52:59,216 >> Hypertext transfer protocol. 890 00:52:59,356 --> 00:53:00,966 >> That's actually the answer of the question. 891 00:53:01,516 --> 00:53:08,996 [ Applause ] 892 00:53:09,496 --> 00:53:12,976 >> The question was indeed, what does http stand for? 893 00:53:13,336 --> 00:53:16,956 So now we have a piece of paper for you each. 894 00:53:16,956 --> 00:53:18,516 Hopefully one of you has a pen. 895 00:53:18,936 --> 00:53:20,956 Staff can wager up to 5,000. 896 00:53:20,956 --> 00:53:23,936 Students can wager up to 2800. 897 00:53:24,166 --> 00:53:26,376 So you do have a fighting chance here. 898 00:53:26,736 --> 00:53:29,596 Go ahead and pick your dollar amount, knowing only 899 00:53:29,596 --> 00:53:31,976 that the category for Final Jeopardy is 900 00:53:32,516 --> 00:53:44,546 [ Laughing ] 901 00:53:45,046 --> 00:53:45,286 >> All right. 902 00:53:45,286 --> 00:53:47,766 So you put your dollar amount down, as have the staff. 903 00:53:47,916 --> 00:53:49,496 Okay, no changing your dollar amount. 904 00:53:49,936 --> 00:53:53,426 Your question is this. 905 00:53:55,516 --> 00:54:24,906 [ Music ] 906 00:54:25,406 --> 00:54:25,996 >> All right. 907 00:54:26,316 --> 00:54:33,206 So students wagered all of it, 2800, which will bring them 908 00:54:33,206 --> 00:54:37,036 to 5600 and the win if the staff do not wager more than that 909 00:54:37,036 --> 00:54:39,706 and get it right, and their ans -- 910 00:54:39,836 --> 00:54:43,346 extra time for the staff apparently. 911 00:54:43,346 --> 00:54:44,486 Should I just read 912 00:54:44,486 --> 00:54:44,686 >> [Inaudible]. 913 00:54:44,686 --> 00:54:49,906 >> No, that is incorrect, 914 00:54:50,126 --> 00:54:53,716 because if the students did get it, 915 00:54:53,716 --> 00:54:57,506 this is of course Rot 13 for, for the win, 916 00:54:57,506 --> 00:54:58,716 and the students have indeed won. 917 00:54:59,516 --> 00:55:06,546 [ Applause ] 918 00:55:07,046 --> 00:55:09,286 >> So go ahead and stay here for just a minute. 919 00:55:09,286 --> 00:55:12,946 We have one more song for you today before cake is served 920 00:55:12,946 --> 00:55:15,536 up in the pub downstairs. 921 00:55:15,536 --> 00:55:18,546 If we could dim the lights for this final moment. 922 00:55:19,676 --> 00:55:23,346 We give you CS -- you never been -- 923 00:55:23,346 --> 00:55:26,566 normally you can't wait to get out of here. 924 00:55:26,826 --> 00:55:29,576 All right, this is CS50. 925 00:55:30,516 --> 00:58:02,716 [ Music ] 926 00:58:03,216 --> 00:58:03,766 >> The end! 927 00:58:04,136 --> 00:58:06,026 Cake is served downstairs! 928 00:58:06,056 --> 00:58:06,906 Thank you to all. 929 00:58:07,516 --> 00:58:14,440 [ Applause ]