1 00:00:00,000 --> 00:00:02,994 >> [MUSIC PLAYING] 2 00:00:02,994 --> 00:00:32,934 3 00:00:32,934 --> 00:00:35,429 >> SPEAKER 1: It's CS50, Harvard University. 4 00:00:35,429 --> 00:00:38,423 >> [MUSIC PLAYING] 5 00:00:38,423 --> 00:01:04,819 6 00:01:04,819 --> 00:01:08,027 DAVID J. MALAN: [INAUDIBLE] is probably in the latter half of the phone book, 7 00:01:08,027 --> 00:01:13,751 I can now tear the problem in half. 8 00:01:13,751 --> 00:01:15,610 That was actually real, that struggle. 9 00:01:15,610 --> 00:01:18,514 >> [MUSIC PLAYING] 10 00:01:18,514 --> 00:01:49,200 11 00:01:49,200 --> 00:01:51,080 >> SPEAKER 2: You humans are so easy to beat. 12 00:01:51,080 --> 00:01:54,160 13 00:01:54,160 --> 00:02:01,240 >> DAVID J. MALAN: All right, this is CS50. 14 00:02:01,240 --> 00:02:03,610 This is the start and the end of week 12. 15 00:02:03,610 --> 00:02:05,360 And you may recall that in week zero, this 16 00:02:05,360 --> 00:02:08,443 is the messaging with which we began, that it doesn't matter where you end 17 00:02:08,443 --> 00:02:10,900 up relative to your classmates, but where you today, 18 00:02:10,900 --> 00:02:14,900 and maybe just a few weeks from now, end up relative to yourself some weeks ago. 19 00:02:14,900 --> 00:02:18,360 >> And in fact, we do hope after so many problem sets, and so many hours, 20 00:02:18,360 --> 00:02:20,850 and a couple of quizzes, and still with the final project, 21 00:02:20,850 --> 00:02:24,290 that you do feel particularly proud having come all the way from week 22 00:02:24,290 --> 00:02:27,200 one where this, perhaps, was the earliest of struggles, 23 00:02:27,200 --> 00:02:29,840 whether in the standard edition or the hacker edition thereof. 24 00:02:29,840 --> 00:02:33,880 And I would propose, that at some point in your free time, that you go back 25 00:02:33,880 --> 00:02:36,250 and see your PHP, your JavaScript, and see 26 00:02:36,250 --> 00:02:40,040 if you can't implement this far, far faster and more comfortably 27 00:02:40,040 --> 00:02:42,510 than you once upon a time did ago. 28 00:02:42,510 --> 00:02:46,380 >> Indeed, after this, recall you did cryptography, you did the game of 15, 29 00:02:46,380 --> 00:02:50,350 you did forensics challenges, you did the fastest spell 30 00:02:50,350 --> 00:02:54,140 checker that you could, you did CS50 finance, the CS50 mash-up, 31 00:02:54,140 --> 00:02:56,860 and then now, ultimately, your own final project. 32 00:02:56,860 --> 00:03:00,060 And so today, we try to get closure, and look at where we've come, 33 00:03:00,060 --> 00:03:01,470 and where we're going. 34 00:03:01,470 --> 00:03:04,550 And just to reassure too, that once all of the remaining training wheels 35 00:03:04,550 --> 00:03:06,821 come off, you pretty much have sufficiently many tools 36 00:03:06,821 --> 00:03:08,570 in your tool kit to now go off and do most 37 00:03:08,570 --> 00:03:10,220 anything in the world of programming. 38 00:03:10,220 --> 00:03:13,390 >> Certainly considering taking some higher level course can be of advantage. 39 00:03:13,390 --> 00:03:16,752 But realize too, that even if this is the last CS course you take, realize 40 00:03:16,752 --> 00:03:18,710 that on Mac OS, there's so many different tools 41 00:03:18,710 --> 00:03:22,390 that you can use independent of having to use something like the CS50 IDE. 42 00:03:22,390 --> 00:03:26,050 Nearly the same tools exist for Windows, for Linux, and more. 43 00:03:26,050 --> 00:03:30,180 And indeed, one of the goals CS50 in using this fire hose of languages, C, 44 00:03:30,180 --> 00:03:32,640 and PHP, and Sequel, and JavaScript, and HTML, and CSS, 45 00:03:32,640 --> 00:03:34,890 is to really make sure that you don't exit this course 46 00:03:34,890 --> 00:03:38,385 thinking, I learned c, but rather that you learned how to program, 47 00:03:38,385 --> 00:03:41,110 and that you understand a little something about computer science 48 00:03:41,110 --> 00:03:41,700 itself. 49 00:03:41,700 --> 00:03:44,741 >> In fact, even though we haven't looked at all of the following languages, 50 00:03:44,741 --> 00:03:49,295 it's fun now to enter this community of folks who find geeky humor funny. 51 00:03:49,295 --> 00:03:51,670 And even though some of the languages you're about to see 52 00:03:51,670 --> 00:03:54,190 might not be totally familiar, you'll at least 53 00:03:54,190 --> 00:03:57,080 get a few chuckles from at least one familiar language, JavaScript. 54 00:03:57,080 --> 00:04:00,425 This was a talk by a particularly well-versed programmer 55 00:04:00,425 --> 00:04:03,100 some time ago entitled, Wat. 56 00:04:03,100 --> 00:04:06,460 And we thought we would give you a glimpse at how computer scientists tend 57 00:04:06,460 --> 00:04:08,250 to think, or at least talk. 58 00:04:08,250 --> 00:04:11,184 59 00:04:11,184 --> 00:04:13,140 >> GARY BERNHARDT: All right good. 60 00:04:13,140 --> 00:04:14,570 You guys know what wat means? 61 00:04:14,570 --> 00:04:17,740 62 00:04:17,740 --> 00:04:19,820 Wat. 63 00:04:19,820 --> 00:04:22,540 Exactly, exactly. 64 00:04:22,540 --> 00:04:24,800 Let's talk about Ruby. 65 00:04:24,800 --> 00:04:30,270 In Ruby, if you reference an undefined variable, of course 66 00:04:30,270 --> 00:04:32,470 it NameErrors, as you would expect. 67 00:04:32,470 --> 00:04:37,190 And if you try to assign b to a with them undefined, of course 68 00:04:37,190 --> 00:04:39,060 it NameErrors, as you'd expect. 69 00:04:39,060 --> 00:04:42,673 And what happens if you try to assign a to a, with a undefined? 70 00:04:42,673 --> 00:04:43,660 >> AUDIENCE: Nil. 71 00:04:43,660 --> 00:04:46,910 >> GARY BERNHARDT: Correct, nil. 72 00:04:46,910 --> 00:04:47,495 Wat. 73 00:04:47,495 --> 00:04:53,284 >> [LAUGHTER] 74 00:04:53,284 --> 00:04:54,200 Let's talk about Ruby. 75 00:04:54,200 --> 00:04:57,090 76 00:04:57,090 --> 00:05:00,940 Ruby, unlike some other dynamic languages, does not have bare words. 77 00:05:00,940 --> 00:05:05,730 So you cannot just type words in, and have strings come out unless you define 78 00:05:05,730 --> 00:05:09,070 a particular method_missing that does the right thing. 79 00:05:09,070 --> 00:05:13,010 And then, if you type bare words, suddenly, Ruby supports bare words. 80 00:05:13,010 --> 00:05:17,360 And in fact, it will even support bare words with bangs in them. 81 00:05:17,360 --> 00:05:19,100 And this is not deserving of wat. 82 00:05:19,100 --> 00:05:23,310 This is actually a result of how awesome Ruby is. 83 00:05:23,310 --> 00:05:26,400 But if you ever actually do this, then, wat. 84 00:05:26,400 --> 00:05:31,590 >> [LAUGHTER] 85 00:05:31,590 --> 00:05:33,375 >> Let's talk about JavaScript. 86 00:05:33,375 --> 00:05:37,720 87 00:05:37,720 --> 00:05:41,440 Does anyone know, in JavaScript, what array plus array is? 88 00:05:41,440 --> 00:05:44,913 Well, let me ask you this first, what should array plus array be? 89 00:05:44,913 --> 00:05:45,900 >> AUDIENCE: Empty array. 90 00:05:45,900 --> 00:05:48,430 >> GARY BERNHARDT: Empty array, I would also accept type error. 91 00:05:48,430 --> 00:05:50,830 That is not what array plus array is. 92 00:05:50,830 --> 00:05:55,345 Wrong, wrong, array plus array is empty string. 93 00:05:55,345 --> 00:05:59,330 >> [LAUGHTER] 94 00:05:59,330 --> 00:06:03,040 >> Obviously, I think that's obvious to everyone. 95 00:06:03,040 --> 00:06:04,790 Now what would array plus object be? 96 00:06:04,790 --> 00:06:07,498 This should obviously be type error, because those are completely 97 00:06:07,498 --> 00:06:08,730 disparate types. 98 00:06:08,730 --> 00:06:10,240 Does anyone know what this is? 99 00:06:10,240 --> 00:06:11,900 >> AUDIENCE: False. 100 00:06:11,900 --> 00:06:13,764 >> GARY BERNHARDT: No, close, no, far away. 101 00:06:13,764 --> 00:06:14,680 AUDIENCE: It's object. 102 00:06:14,680 --> 00:06:15,955 GARY BERNHARDT: It's object. 103 00:06:15,955 --> 00:06:17,950 Yeah, right, nicely done. 104 00:06:17,950 --> 00:06:21,740 >> Now, of course, because this is plus, you can flip the operands 105 00:06:21,740 --> 00:06:23,100 and the same thing comes out. 106 00:06:23,100 --> 00:06:25,860 So if we do-- what? 107 00:06:25,860 --> 00:06:27,550 No, that's just an object. 108 00:06:27,550 --> 00:06:30,340 If you do object plus array you should get exactly the same thing. 109 00:06:30,340 --> 00:06:31,865 Which as you can see, you do. 110 00:06:31,865 --> 00:06:36,540 >> [LAUGHTER] 111 00:06:36,540 --> 00:06:39,940 >> And finally, the only one of these that's actually true 112 00:06:39,940 --> 00:06:43,510 is-- because you add arrays and you get empty string, it doesn't make sense. 113 00:06:43,510 --> 00:06:47,334 But an object plus an object is actually not a number, technically. 114 00:06:47,334 --> 00:06:49,150 >> [LAUGHTER] 115 00:06:49,150 --> 00:06:50,450 >> So this one's actually right. 116 00:06:50,450 --> 00:06:53,670 117 00:06:53,670 --> 00:06:57,470 Exactly, right, like what is even going on in this lang-- I just, 118 00:06:57,470 --> 00:07:02,172 I don't even understand what person with a brain in their head 119 00:07:02,172 --> 00:07:04,005 would think that any of this is a good idea. 120 00:07:04,005 --> 00:07:07,690 >> [LAUGHTER] 121 00:07:07,690 --> 00:07:09,859 >> OK, OK, enough making fun of languages that suck. 122 00:07:09,859 --> 00:07:11,025 Let's talk about JavaScript. 123 00:07:11,025 --> 00:07:13,820 >> [LAUGHTER] 124 00:07:13,820 --> 00:07:18,210 >> If I say array dot new 16, or just array(16), 125 00:07:18,210 --> 00:07:20,350 I get an array of 16 things, which it represents 126 00:07:20,350 --> 00:07:24,260 as 16 commas, which is obvious. 127 00:07:24,260 --> 00:07:29,060 If I then join those with a string, then I get the string 16 times. 128 00:07:29,060 --> 00:07:33,527 This is actually the only line in this entire presentation that's reasonable. 129 00:07:33,527 --> 00:07:35,610 Now, if I take that string and then add a 1 to it, 130 00:07:35,610 --> 00:07:39,270 it interprets the 1 as-- casts the 1 to a string, 131 00:07:39,270 --> 00:07:42,270 and then we get wat1 a bunch of times, fine. 132 00:07:42,270 --> 00:07:45,688 Does anyone know what will happen if I subtract 1 from the string? 133 00:07:45,688 --> 00:07:47,680 >> [LAUGHTER] 134 00:07:47,680 --> 00:07:49,030 >> I'm assuming no one does. 135 00:07:49,030 --> 00:07:51,080 Let me-- I'll give you a hint. 136 00:07:51,080 --> 00:07:53,290 Does this help? 137 00:07:53,290 --> 00:07:54,860 Does anyone know? 138 00:07:54,860 --> 00:08:05,162 >> [LAUGHTER] 139 00:08:05,162 --> 00:08:05,662 Watman. 140 00:08:05,662 --> 00:08:14,972 [LAUGHTER] 141 00:08:14,972 --> 00:08:15,680 That's all I got. 142 00:08:15,680 --> 00:08:16,480 Thank you guys. 143 00:08:16,480 --> 00:08:22,244 >> [APPLAUSE] 144 00:08:22,244 --> 00:08:25,410 DAVID J. MALAN: Let's take a quick look at some of the things ahead for you. 145 00:08:25,410 --> 00:08:27,710 So the CS50 Hackathon is this epic all-nighter, 146 00:08:27,710 --> 00:08:30,780 during which you, and your classmates from Yale, will dive into-- 147 00:08:30,780 --> 00:08:33,350 but hopefully not begin-- your final project. 148 00:08:33,350 --> 00:08:34,850 The evening will begin at 7:00 PM. 149 00:08:34,850 --> 00:08:36,580 First dinner will be roughly at 9:00 PM. 150 00:08:36,580 --> 00:08:38,054 Second dinner will be at 1:00 AM. 151 00:08:38,054 --> 00:08:39,929 And then, for those still standing, breakfast 152 00:08:39,929 --> 00:08:42,870 will be served at IHOP at around 5:00 AM. 153 00:08:42,870 --> 00:08:45,180 >> You might see such scenes as this. 154 00:08:45,180 --> 00:08:46,930 As promised, in week zero this year, we'll 155 00:08:46,930 --> 00:08:50,090 have not only food, and dinner, and candy, but also for the second time 156 00:08:50,090 --> 00:08:52,070 in history, vegetables. 157 00:08:52,070 --> 00:08:55,902 But around 3 or 4 AM, scenes like this are not all that uncommon. 158 00:08:55,902 --> 00:08:59,110 Indeed we see our fair share of pillows being brought to the Hackathon, which 159 00:08:59,110 --> 00:09:00,200 is fine as well. 160 00:09:00,200 --> 00:09:02,890 And then the climax of the course is the so-called CS50 fair. 161 00:09:02,890 --> 00:09:05,290 There's one both here, and in New Haven a week after. 162 00:09:05,290 --> 00:09:08,431 The one at Harvard is Monday, December 7, 163 00:09:08,431 --> 00:09:10,180 during the afternoon in Northwest Science. 164 00:09:10,180 --> 00:09:11,710 >> And upon arrival, you will check in. 165 00:09:11,710 --> 00:09:14,380 And you will see such things as popcorn, and balloons, 166 00:09:14,380 --> 00:09:17,180 and ultimately, as of last year, over 2000 people coming 167 00:09:17,180 --> 00:09:20,270 to see your final project, students, staff, and faculty 168 00:09:20,270 --> 00:09:22,630 from across campus and even off-campus. 169 00:09:22,630 --> 00:09:27,250 And if it weren't enough incentive to come see you yourself, 170 00:09:27,250 --> 00:09:29,490 realize that your friends can be encouraged 171 00:09:29,490 --> 00:09:32,534 to come to see Asana, and eBay, and Facebook, and Google, and Microsoft, 172 00:09:32,534 --> 00:09:34,950 and Palantir, and Quora, and others, recruiters and alumni 173 00:09:34,950 --> 00:09:37,699 from these various companies to talk about life in the real world, 174 00:09:37,699 --> 00:09:41,790 opportunities both full time and summertime in the actual industry. 175 00:09:41,790 --> 00:09:44,920 >> And if that weren't reason enough to come see you, 176 00:09:44,920 --> 00:09:49,420 your friends can be encouraged to enter the raffle whereby, upon arrival, 177 00:09:49,420 --> 00:09:52,510 you as students will each be handed a bunch of smiley face stickers. 178 00:09:52,510 --> 00:09:55,500 And attendees, like your friends, will be handled a little raffle card 179 00:09:55,500 --> 00:09:56,260 upon arrival. 180 00:09:56,260 --> 00:09:58,920 And for every person they chat up, they will be 181 00:09:58,920 --> 00:10:01,310 handed, by you, a smiley face sticker. 182 00:10:01,310 --> 00:10:06,270 Each of which represents an entry into a raffle with fabulous prizes, 183 00:10:06,270 --> 00:10:09,155 among them an Xbox, a Wii, and a whole bunch of other fun things, 184 00:10:09,155 --> 00:10:10,780 some of which we've seen here in class. 185 00:10:10,780 --> 00:10:11,780 So stay tuned for that. 186 00:10:11,780 --> 00:10:14,490 >> But ultimately, it's entirely about the accomplishments 187 00:10:14,490 --> 00:10:17,130 this semester, and the expressions, and excitement 188 00:10:17,130 --> 00:10:18,870 that you will stir in those attending. 189 00:10:18,870 --> 00:10:21,660 Where you, ultimately, are wearing your very own-- this, 190 00:10:21,660 --> 00:10:24,330 I took CS50 t-shirts like that here. 191 00:10:24,330 --> 00:10:26,790 So do encourage your friends to head to this URL 192 00:10:26,790 --> 00:10:29,760 here, which will send you to all details therefore. 193 00:10:29,760 --> 00:10:33,080 >> Meanwhile, if you're considering another look at computer science this spring, 194 00:10:33,080 --> 00:10:36,560 or beyond, realize that this is the same handout-- albeit updated since week 195 00:10:36,560 --> 00:10:37,935 zero-- that we handed out. 196 00:10:37,935 --> 00:10:39,810 And if you go to the middle of this booklet-- 197 00:10:39,810 --> 00:10:43,040 there's copies in the transept outside-- realize this shows you 198 00:10:43,040 --> 00:10:45,740 via arrows exactly what courses you can go off 199 00:10:45,740 --> 00:10:49,100 to explore this spring, next fall, summertime, and beyond. 200 00:10:49,100 --> 00:10:51,920 So do take a look at the chart therein to get a sense of things. 201 00:10:51,920 --> 00:10:54,170 And if you'd like to get involved in other capacities, 202 00:10:54,170 --> 00:10:57,520 do know, if you don't already, that the College Board-- which 203 00:10:57,520 --> 00:10:59,880 you may have some not so fond memories of-- 204 00:10:59,880 --> 00:11:03,650 has nonetheless just creating a new curriculum framework called AP Computer 205 00:11:03,650 --> 00:11:04,517 Science Principles. 206 00:11:04,517 --> 00:11:06,850 Something you might have taken, or at least heard about, 207 00:11:06,850 --> 00:11:09,410 an existing CS course at high schools called 208 00:11:09,410 --> 00:11:12,210 APCSA, which is a fairly mundane class that 209 00:11:12,210 --> 00:11:15,920 focuses way too much on the language Java and the mechanics thereof. 210 00:11:15,920 --> 00:11:19,250 >> APCS principles, meanwhile, will be more about ideas, and more 211 00:11:19,250 --> 00:11:20,400 about problem solving. 212 00:11:20,400 --> 00:11:24,530 And toward this end, we, a bunch of our friends at UC Berkeley, at co.org, 213 00:11:24,530 --> 00:11:26,340 and a few other entities around the world 214 00:11:26,340 --> 00:11:29,480 are creating curricula that will satisfy APCS principles. 215 00:11:29,480 --> 00:11:34,170 Which is to say that CS50 AP will be a AP equivalent that students 216 00:11:34,170 --> 00:11:37,470 in various high schools across the world can take starting this coming fall 217 00:11:37,470 --> 00:11:38,214 2016. 218 00:11:38,214 --> 00:11:40,880 And if you'd like to get involved in secondary school education, 219 00:11:40,880 --> 00:11:43,350 and involved in this outreach, do reach out to us there, 220 00:11:43,350 --> 00:11:47,990 whether you're a TF, a CA, or simply interested in education at large. 221 00:11:47,990 --> 00:11:50,400 >> And indeed, if you'd like to join CS50's own team, 222 00:11:50,400 --> 00:11:54,440 realize that as soon as term ends, we'll begin recruiting 223 00:11:54,440 --> 00:11:57,870 for Teaching Fellows, Course Assistants, as well as the many artists that 224 00:11:57,870 --> 00:12:00,740 make this course possible behind the scenes, 225 00:12:00,740 --> 00:12:04,420 creating its online assets, its in-person opportunities, and more. 226 00:12:04,420 --> 00:12:08,540 So if any of these roles here appeal, do let us know at this URL here. 227 00:12:08,540 --> 00:12:12,220 Now in a little while, we'll turn to, just as we did in week zero, some cake. 228 00:12:12,220 --> 00:12:14,280 This time it'll be downstairs in the pub. 229 00:12:14,280 --> 00:12:15,910 So head there later on. 230 00:12:15,910 --> 00:12:20,580 But I did just want to take a moment to recognize really what this cake here 231 00:12:20,580 --> 00:12:24,860 represents, or perhaps more canonically, what this here face-off represents. 232 00:12:24,860 --> 00:12:29,372 >> It has truly been an honor, honestly, to be partnering with our friends 233 00:12:29,372 --> 00:12:31,080 down the road in New Haven this semester. 234 00:12:31,080 --> 00:12:34,170 It's certainly been a strange thing, an unusual thing, 235 00:12:34,170 --> 00:12:36,580 dare say an unprecedented thing for two colleges 236 00:12:36,580 --> 00:12:39,479 to be coming together, offering one course in the same, 237 00:12:39,479 --> 00:12:42,520 on two different campuses and bringing these two student bodies together. 238 00:12:42,520 --> 00:12:44,740 But it's been such an honor to work with Andi, 239 00:12:44,740 --> 00:12:49,146 with Scass, and with Jason in New Haven, and the entirety of our 44 person staff 240 00:12:49,146 --> 00:12:51,020 of Teaching Assistants, and course Assistants 241 00:12:51,020 --> 00:12:55,250 in New Haven, who, for the first time in Yale's history, were mostly themselves 242 00:12:55,250 --> 00:12:56,090 undergraduates. 243 00:12:56,090 --> 00:12:59,720 >> Indeed, until this year, fall 2015, Yale did not actually 244 00:12:59,720 --> 00:13:02,030 have a tradition or an allowance for undergraduates 245 00:13:02,030 --> 00:13:04,524 leading sections and serving as teaching fellows 246 00:13:04,524 --> 00:13:06,690 much like we've enjoyed here within computer science 247 00:13:06,690 --> 00:13:07,920 at Harvard for some time. 248 00:13:07,920 --> 00:13:10,700 And so that alone has been an extraordinary opportunity for us 249 00:13:10,700 --> 00:13:13,100 to partner with them on that initiative, and bring 250 00:13:13,100 --> 00:13:17,069 into the fold such leaders as Andi and other teachers there on campus. 251 00:13:17,069 --> 00:13:20,110 And allow me to draw special attention too, to this fellow in the middle. 252 00:13:20,110 --> 00:13:23,660 Even though he now lives in New Haven-- largely because we sent him 253 00:13:23,660 --> 00:13:27,160 there-- this is all the result of Jason Hirschhorn having been a Teaching 254 00:13:27,160 --> 00:13:29,670 Fellow for CS50 for quite a few years here, 255 00:13:29,670 --> 00:13:32,190 graduated last year, Kirkland House. 256 00:13:32,190 --> 00:13:34,750 And ultimately-- I think got a phone call from me 257 00:13:34,750 --> 00:13:37,140 at one point that pretty much reduced to, hey, 258 00:13:37,140 --> 00:13:40,124 would you mind moving to New Haven after graduation? 259 00:13:40,124 --> 00:13:42,790 This was all because we were trying to stand up this initiative, 260 00:13:42,790 --> 00:13:45,739 and we want to make sure that there was institutional knowledge down 261 00:13:45,739 --> 00:13:48,530 there in New Haven because we were building something from scratch. 262 00:13:48,530 --> 00:13:51,660 And if-- Jason, if you could maybe just come on up awkwardly toward stage, 263 00:13:51,660 --> 00:13:53,909 so we can at least all see Jason Hirschhorn in person. 264 00:13:53,909 --> 00:13:59,350 [APPLAUSE] 265 00:13:59,350 --> 00:14:02,840 >> Surely, without Jason, Yale 50 would not have been possible. 266 00:14:02,840 --> 00:14:04,960 So our thanks to Jason Hirschhorn. 267 00:14:04,960 --> 00:14:10,900 And also, we have a huge staff that we won't draw personal attention 268 00:14:10,900 --> 00:14:13,130 to everyone here, but over 100 individuals 269 00:14:13,130 --> 00:14:15,130 here in New Haven who make this course possible. 270 00:14:15,130 --> 00:14:17,088 And you might just see your own Teaching Fellow 271 00:14:17,088 --> 00:14:18,900 on this list, whether here or a New Haven. 272 00:14:18,900 --> 00:14:21,430 And so if we could, a huge round of applause 273 00:14:21,430 --> 00:14:23,060 for the entirety of the teaching staff. 274 00:14:23,060 --> 00:14:29,200 >> [APPLAUSE] 275 00:14:29,200 --> 00:14:32,190 >> And let me draw some special attention to a few of the folks 276 00:14:32,190 --> 00:14:35,045 here, especially Hannah, and Maria, and Daven, and Rob, who, 277 00:14:35,045 --> 00:14:38,220 as the courses head, make everything run here in Cambridge. 278 00:14:38,220 --> 00:14:41,710 Of course, Colton Ogden, who begins most of our lectures over there on music. 279 00:14:41,710 --> 00:14:46,186 280 00:14:46,186 --> 00:14:51,750 Doug Lloyd, who-- this is CS50 AP, who was leading our AP initiative. 281 00:14:51,750 --> 00:14:55,750 Dan Armendariz, without whom we would not have a CS50 IDE this year. 282 00:14:55,750 --> 00:14:58,430 Aliess, who makes everything possible behind the scenes, 283 00:14:58,430 --> 00:15:01,600 including running the lights as pictured here. 284 00:15:01,600 --> 00:15:04,680 And then last, but not least, CS50's production team. 285 00:15:04,680 --> 00:15:06,970 >> Suffice it to say, it's CS50's production team 286 00:15:06,970 --> 00:15:10,430 that empowers so many of us to sleep in in the afternoons, 287 00:15:10,430 --> 00:15:13,251 and to engage with the course's material really asynchronously. 288 00:15:13,251 --> 00:15:15,750 And this is very much one of the design goals of the course. 289 00:15:15,750 --> 00:15:18,860 As you know, we are-- enjoy right now an opportunity 290 00:15:18,860 --> 00:15:20,272 to allow simultaneous enrollment. 291 00:15:20,272 --> 00:15:22,230 We have an opportunity for students, certainly, 292 00:15:22,230 --> 00:15:24,820 to watch these courses- materials online, 293 00:15:24,820 --> 00:15:27,100 even in real time live right now. 294 00:15:27,100 --> 00:15:30,715 And this is entirely because of the production team that you see, 295 00:15:30,715 --> 00:15:33,060 or even don't see around you, and behind you here. 296 00:15:33,060 --> 00:15:35,910 >> For instance, this was some footage shot by Jordan this past year, 297 00:15:35,910 --> 00:15:38,890 just to speak to the sort of artistry that goes on behind the scenes. 298 00:15:38,890 --> 00:15:40,460 This, of course, is FoHo in the Quad. 299 00:15:40,460 --> 00:15:42,440 And just to give you a look back at week zero, 300 00:15:42,440 --> 00:15:46,340 this was the imagery with which we began the first week. 301 00:15:46,340 --> 00:15:56,320 >> [MUSIC PLAYING] 302 00:15:56,320 --> 00:15:58,350 >> That was from CS50's own Jordan. 303 00:15:58,350 --> 00:16:05,590 And also behind the scenes here today is Ramon, and Ian, and Scully, and Dan 304 00:16:05,590 --> 00:16:06,920 Coffey. 305 00:16:06,920 --> 00:16:12,067 Dan Coffey, who heads CD50's production team. 306 00:16:12,067 --> 00:16:13,900 And truly over the past several years-- this 307 00:16:13,900 --> 00:16:16,340 is my ninth year involved with the course-- really has 308 00:16:16,340 --> 00:16:19,740 Dan Coffey, with the production team, taken CS50 to another level. 309 00:16:19,740 --> 00:16:22,410 Not only do we shoot the course now in 4K, so to speak, 310 00:16:22,410 --> 00:16:25,500 this coming year we'll also be able to shoot it in 6K. 311 00:16:25,500 --> 00:16:31,440 As well as in virtual reality, partly because it's cool-- 312 00:16:31,440 --> 00:16:33,496 partly because it's cool, but also as you know, 313 00:16:33,496 --> 00:16:35,400 we have a very sizable online community. 314 00:16:35,400 --> 00:16:37,977 Folks who, for various reasons, could not travel to, 315 00:16:37,977 --> 00:16:40,060 or could not attend a place like Harvard and Yale. 316 00:16:40,060 --> 00:16:43,420 >> And one of the goals pedagogically is to experiment with new forms of technology 317 00:16:43,420 --> 00:16:46,910 so that we can, through proxy, and through you all, give online students 318 00:16:46,910 --> 00:16:49,660 around the world an opportunity to see, and feel, and hear 319 00:16:49,660 --> 00:16:51,630 what a place like Harvard or Yale feels like. 320 00:16:51,630 --> 00:16:54,290 So coming soon, in fall 2016. 321 00:16:54,290 --> 00:16:58,150 And now to take it down a notch, this is about to be horrifying. 322 00:16:58,150 --> 00:17:01,300 >> But you might recall that most of the lecture videos this year, 323 00:17:01,300 --> 00:17:05,560 or every other, ends with a sort of seemingly strange clip from Seinfeld, 324 00:17:05,560 --> 00:17:09,310 inspired by some actual episode re-implemented by CS50's production 325 00:17:09,310 --> 00:17:11,940 team, who have been incredibly gracious and creative. 326 00:17:11,940 --> 00:17:15,290 And I thought I will show you one of the inspirations, a 30 second clip, 327 00:17:15,290 --> 00:17:17,700 from an actual Seinfeld show that inspired one of this 328 00:17:17,700 --> 00:17:20,060 semester's-- I'm told-- favorite clip. 329 00:17:20,060 --> 00:17:23,981 So first, an actual clip from Seinfeld. 330 00:17:23,981 --> 00:17:25,339 >> ELAINE: C'mon who's dancing? 331 00:17:25,339 --> 00:17:26,963 Want me to-- want me to get it started? 332 00:17:26,963 --> 00:17:29,945 I'll get it started. 333 00:17:29,945 --> 00:17:30,939 All right, woo! 334 00:17:30,939 --> 00:17:35,412 >> [MUSIC PLAYING] 335 00:17:35,412 --> 00:17:41,873 >> [LAUGHTER] 336 00:17:41,873 --> 00:17:43,861 >> Woo! 337 00:17:43,861 --> 00:17:45,352 C'mon guys, what's the hold up? 338 00:17:45,352 --> 00:17:49,328 339 00:17:49,328 --> 00:17:50,595 >> GEORGE: Sweet fancy Moses. 340 00:17:50,595 --> 00:17:52,589 >> [LAUGHTER] 341 00:17:52,589 --> 00:17:54,880 DAVID J. MALAN: So we often talk about pushing students 342 00:17:54,880 --> 00:17:56,400 beyond their own comfort zones. 343 00:17:56,400 --> 00:17:59,850 I, now, am going to crawl up into a ball and sob 344 00:17:59,850 --> 00:18:02,590 as we play for you this re-implementation of this, 345 00:18:02,590 --> 00:18:06,116 thanks to CS50's production team. 346 00:18:06,116 --> 00:18:08,576 >> [SEINFELD THEME SONG] 347 00:18:08,576 --> 00:18:13,004 348 00:18:13,004 --> 00:18:14,480 >> All right, who's dancing? 349 00:18:14,480 --> 00:18:15,956 C'mon, who's dancing? 350 00:18:15,956 --> 00:18:17,432 You want me to get it started? 351 00:18:17,432 --> 00:18:19,392 I'll get it started. 352 00:18:19,392 --> 00:18:19,892 Woo! 353 00:18:19,892 --> 00:18:25,304 >> [MUSIC PLAYING] 354 00:18:25,304 --> 00:18:30,716 355 00:18:30,716 --> 00:18:34,415 >> DOUG LLOYD: Sweet fancy Moses. 356 00:18:34,415 --> 00:18:38,190 >> [APPLAUSE] 357 00:18:38,190 --> 00:18:41,230 >> DAVID J. MALAN: And now some special things for an alumna 358 00:18:41,230 --> 00:18:44,480 who is now doing her PhD just down the road here at Harvard. 359 00:18:44,480 --> 00:18:47,540 And who could most often be seen in this form in office hours, 360 00:18:47,540 --> 00:18:49,140 both in Cambridge, and in New Haven. 361 00:18:49,140 --> 00:18:56,910 In fact, if we enhance-- a big round of applause for CS50's own, Zamyla. 362 00:18:56,910 --> 00:19:00,500 And now, a word from CS50 staff in both locations who would 363 00:19:00,500 --> 00:19:02,569 like to offer some parting words of their own. 364 00:19:02,569 --> 00:19:04,610 ANNALEAH ERNST: There is no other course in which 365 00:19:04,610 --> 00:19:08,430 everyone who works for the course is as excited to be there, and be 366 00:19:08,430 --> 00:19:11,720 involved in it, as CS50. 367 00:19:11,720 --> 00:19:15,860 I don't know, it's like this really important and special responsibility, 368 00:19:15,860 --> 00:19:17,515 and kind of an incredible experience. 369 00:19:17,515 --> 00:19:20,056 And I'm really glad I get to be a part of people's education. 370 00:19:20,056 --> 00:19:22,802 SPEAKER 3: CS50, in my opinion, is amazing. 371 00:19:22,802 --> 00:19:24,170 I love it. 372 00:19:24,170 --> 00:19:25,970 I loved it when I was taking a class. 373 00:19:25,970 --> 00:19:27,392 And I love it even more as a TA. 374 00:19:27,392 --> 00:19:30,100 JORDAN HAYASHI: CFing is a lot of work, but it's really rewarding 375 00:19:30,100 --> 00:19:31,541 because you get to teach so much. 376 00:19:31,541 --> 00:19:33,082 You really get to know your students. 377 00:19:33,082 --> 00:19:35,260 You get to know the material yourself. 378 00:19:35,260 --> 00:19:38,090 And you get to just watch them become computer scientists. 379 00:19:38,090 --> 00:19:41,492 >> SPEAKER 4: My students are the highlight of my semester. 380 00:19:41,492 --> 00:19:44,950 >> [MUSIC PLAYING] 381 00:19:44,950 --> 00:19:57,846 382 00:19:57,846 --> 00:19:59,220 DAVID J. MALAN: And this is CS50. 383 00:19:59,220 --> 00:20:03,220 DAVID MCPEEK: I've just never felt as much as a leader on campus, 384 00:20:03,220 --> 00:20:04,240 as I have this semester. 385 00:20:04,240 --> 00:20:07,510 >> SAM LEVATICH: This is one of the only opportunities on Yale's campus 386 00:20:07,510 --> 00:20:10,520 to really get invested in teaching. 387 00:20:10,520 --> 00:20:13,021 >> SPEAKER 5: It's really cool to see CS50 from the other side. 388 00:20:13,021 --> 00:20:15,770 NICK JOSEPH: I was surprised at how excited all the students were. 389 00:20:15,770 --> 00:20:17,718 ARIANNA BENSON: It's also nice when people 390 00:20:17,718 --> 00:20:20,603 recover a picture of Rick Astley, and are like, who is that? 391 00:20:20,603 --> 00:20:23,394 DAVID ARMENTA: I wanted to give back because I got a lot of support 392 00:20:23,394 --> 00:20:24,269 when I was a student. 393 00:20:24,269 --> 00:20:29,630 MARY FARNER: All you need is enthusiasm and a love of teaching, or CS, 394 00:20:29,630 --> 00:20:32,288 or any of the above, and you'll be able to do it. 395 00:20:32,288 --> 00:20:34,371 SAM LEVATICH: All my students keep Rickrolling me. 396 00:20:34,371 --> 00:20:37,317 [MUSIC PLAYING] 397 00:20:37,317 --> 00:21:01,386 398 00:21:01,386 --> 00:21:04,010 ANNALEAH ERNST: It's been so much fun to teach about this thing 399 00:21:04,010 --> 00:21:06,009 that I really love, and think it's a lot of fun, 400 00:21:06,009 --> 00:21:08,470 and try to other people excited about it as well. 401 00:21:08,470 --> 00:21:10,830 I'm Annaleah Ernst, and this is CS50. 402 00:21:10,830 --> 00:21:15,874 >> [CHEERING] 403 00:21:15,874 --> 00:21:24,085 >> [MUSIC PLAYING] 404 00:21:24,085 --> 00:21:27,210 DAVID J. MALAN: And now, you may recall that we began this semester talking 405 00:21:27,210 --> 00:21:30,390 ultimately about computational thinking in solving problems independent 406 00:21:30,390 --> 00:21:32,160 of actual programming languages. 407 00:21:32,160 --> 00:21:34,330 And we thought we'd see just to what extent 408 00:21:34,330 --> 00:21:37,369 this has sunk in by trying an exercise we didn't do in week zero, 409 00:21:37,369 --> 00:21:39,160 but we thought we'd try a couple times here 410 00:21:39,160 --> 00:21:42,220 in week 12, for which I need a volunteer who 411 00:21:42,220 --> 00:21:44,560 is comfortable coming up here on stage. 412 00:21:44,560 --> 00:21:45,060 >> Come on up. 413 00:21:45,060 --> 00:21:45,855 What's your name? 414 00:21:45,855 --> 00:21:46,480 >> YAHONG: Yahong. 415 00:21:46,480 --> 00:21:48,370 DAVID J. MALAN: Yahong, come on up, this way. 416 00:21:48,370 --> 00:21:50,763 And if you all, if you have a sheet of paper from us 417 00:21:50,763 --> 00:21:53,790 or a blank sheet of paper of your own, go ahead and take that out 418 00:21:53,790 --> 00:21:54,830 at this point. 419 00:21:54,830 --> 00:21:56,380 Nice to meet you. 420 00:21:56,380 --> 00:22:00,490 All right, Yahong's goal here is going to be the following, 421 00:22:00,490 --> 00:22:06,370 I have here a drawing that only she is going to be able to see. 422 00:22:06,370 --> 00:22:08,710 Come on over here in the middle, if you'd like. 423 00:22:08,710 --> 00:22:10,760 And let me give you a microphone here. 424 00:22:10,760 --> 00:22:13,710 And your goal here is going to be to describe, 425 00:22:13,710 --> 00:22:16,440 in as precise detail as possible, what you see. 426 00:22:16,440 --> 00:22:19,380 >> And these folks here, as the sort of computer implementers of this, 427 00:22:19,380 --> 00:22:22,140 need to draw exactly what you say. 428 00:22:22,140 --> 00:22:25,770 And then, what I'll do is grab a few random samples from the audience 429 00:22:25,770 --> 00:22:27,895 and we'll see just how precisely this worked out. 430 00:22:27,895 --> 00:22:29,020 YAHONG: So I describe this. 431 00:22:29,020 --> 00:22:30,478 DAVID J. MALAN: You described this. 432 00:22:30,478 --> 00:22:34,317 You tell your hundreds of classmates here exactly what to draw, go. 433 00:22:34,317 --> 00:22:36,650 YAHONG: OK, so in the very middle of the piece of paper, 434 00:22:36,650 --> 00:22:39,290 there are two shapes, one on top of the other, 435 00:22:39,290 --> 00:22:41,380 but not touching, but almost touching. 436 00:22:41,380 --> 00:22:44,575 So there is a circle on the top, and a square on the bottom, 437 00:22:44,575 --> 00:22:45,950 and they're almost the same size. 438 00:22:45,950 --> 00:22:47,600 They're kind of medium, small. 439 00:22:47,600 --> 00:22:54,810 And within the circle, there are two-- there are three squares. 440 00:22:54,810 --> 00:22:59,460 So there's a little square within a bigger square, within a bigger square. 441 00:22:59,460 --> 00:23:02,660 And within the square on the bottom, there are three circles. 442 00:23:02,660 --> 00:23:05,515 A little circle within a bigger circle, within a bigger circle. 443 00:23:05,515 --> 00:23:06,556 DAVID J. MALAN: Got that? 444 00:23:06,556 --> 00:23:07,719 AUDIENCE: No. 445 00:23:07,719 --> 00:23:10,010 DAVID J. MALAN: So why don't you-- I'll go walk around. 446 00:23:10,010 --> 00:23:13,200 I'll grab a few, and if you want to recap for those who need a second path. 447 00:23:13,200 --> 00:23:15,810 >> YAHONG: OK, do you need me to explain this again? 448 00:23:15,810 --> 00:23:20,630 OK, all right, so in the middle of the sheet of paper there are two shapes. 449 00:23:20,630 --> 00:23:23,710 And one is on top of the other, but they're roughly the same size. 450 00:23:23,710 --> 00:23:29,850 There is a medium small circle on top of a medium small square. 451 00:23:29,850 --> 00:23:33,900 OK, so it's kind of like on top, think about putting it like a snowman, 452 00:23:33,900 --> 00:23:36,720 but with two different shapes instead of two circles. 453 00:23:36,720 --> 00:23:39,100 And then on the-- inside the circle, there 454 00:23:39,100 --> 00:23:44,047 is a small box, inside of another small box, inside of another small box. 455 00:23:44,047 --> 00:23:46,130 And inside of the square, there is a small circle, 456 00:23:46,130 --> 00:23:49,371 inside of another small circle, inside of another small circle. 457 00:23:49,371 --> 00:23:52,306 Did that make sense? 458 00:23:52,306 --> 00:23:53,139 DAVID J. MALAN: Yes. 459 00:23:53,139 --> 00:23:54,405 YAHONG: A lot of pressure. 460 00:23:54,405 --> 00:23:56,800 DAVID J. MALAN: All right, I will be right back. 461 00:23:56,800 --> 00:24:00,580 Going through the audience here, OK, very nice. 462 00:24:00,580 --> 00:24:03,060 Thank you, OK we've got to take that one. 463 00:24:03,060 --> 00:24:05,830 All right, that seems like a good random sample, thank you. 464 00:24:05,830 --> 00:24:06,330 All right. 465 00:24:06,330 --> 00:24:06,996 >> YAHONG: Awesome. 466 00:24:06,996 --> 00:24:08,720 DAVID J. MALAN: So now-- also? 467 00:24:08,720 --> 00:24:09,500 >> YAHONG: Awesome. 468 00:24:09,500 --> 00:24:10,360 >> DAVID J. MALAN: Oh, awesome, OK. 469 00:24:10,360 --> 00:24:11,670 So awesome, stay right there. 470 00:24:11,670 --> 00:24:16,290 I'm going to go ahead and reveal to you what some of your classmates here did. 471 00:24:16,290 --> 00:24:22,260 So here we have this one here. 472 00:24:22,260 --> 00:24:25,410 OK, it sort of just keep going and going. 473 00:24:25,410 --> 00:24:27,920 Here, a little different interpretation. 474 00:24:27,920 --> 00:24:31,020 475 00:24:31,020 --> 00:24:40,370 OK, here, let's see, getting closer, albeit smaller, very nice. 476 00:24:40,370 --> 00:24:42,200 Though, I just had to grab this one. 477 00:24:42,200 --> 00:24:44,680 >> [LAUGHTER] 478 00:24:44,680 --> 00:24:46,500 >> What was the actual answer? 479 00:24:46,500 --> 00:24:48,300 Let's take a look over here. 480 00:24:48,300 --> 00:24:51,600 What she was describing was this image here. 481 00:24:51,600 --> 00:24:54,490 So man-- some of-- many of you up here in the ones I looked, 482 00:24:54,490 --> 00:24:55,570 did get this right. 483 00:24:55,570 --> 00:24:59,470 Let's go ahead and show-- let's call someone else up and see how easily, 484 00:24:59,470 --> 00:25:01,920 or with what level of difficulty they can do it. 485 00:25:01,920 --> 00:25:02,970 Thank you so much. 486 00:25:02,970 --> 00:25:05,460 How about one other volunteer a little farther back. 487 00:25:05,460 --> 00:25:08,820 OK, I saw this hand first, come on up. 488 00:25:08,820 --> 00:25:10,280 What's your name? 489 00:25:10,280 --> 00:25:11,119 Oh, sorry? 490 00:25:11,119 --> 00:25:11,660 MARCY: Marcy. 491 00:25:11,660 --> 00:25:14,976 DAVID J. MALAN: Marcy, come on up, nice to meet you. 492 00:25:14,976 --> 00:25:16,850 All right, here we have a microphone for you. 493 00:25:16,850 --> 00:25:17,940 Let me get a drawing. 494 00:25:17,940 --> 00:25:20,398 And so if you want to just use the flip side of that sheet, 495 00:25:20,398 --> 00:25:23,780 or some other sheet of paper, I'm going to go ahead and give Marcy 496 00:25:23,780 --> 00:25:32,320 a different one here that only she can now see-- that only 497 00:25:32,320 --> 00:25:36,330 she can see opaquely, OK. 498 00:25:36,330 --> 00:25:37,210 >> MARCY: OK. 499 00:25:37,210 --> 00:25:38,001 >> DAVID J. MALAN: Go. 500 00:25:38,001 --> 00:25:40,040 501 00:25:40,040 --> 00:25:45,180 >> MARCY: Draw 16 little dots all in a grid. 502 00:25:45,180 --> 00:25:49,340 So four rows of four dots each. 503 00:25:49,340 --> 00:25:55,376 And the dots are hollow, so they're like tiny little circles. 504 00:25:55,376 --> 00:25:56,770 Oh, there are five of them. 505 00:25:56,770 --> 00:25:59,050 OK, it's five. 506 00:25:59,050 --> 00:26:02,930 It's five rows of black dots. 507 00:26:02,930 --> 00:26:09,290 Five rows of five dots, and then, starting on the top left corner-- OK, 508 00:26:09,290 --> 00:26:12,460 so five rows of five dots, and the dots are hollow, 509 00:26:12,460 --> 00:26:15,630 so they're like tiny little circles actually. 510 00:26:15,630 --> 00:26:17,250 So they're white on the inside. 511 00:26:17,250 --> 00:26:18,540 >> AUDIENCE: OK. 512 00:26:18,540 --> 00:26:21,280 >> MARCY: OK, so five rows of five dots. 513 00:26:21,280 --> 00:26:25,560 And then, you start from the top left dot, 514 00:26:25,560 --> 00:26:28,090 and then draw a line down to the next dot 515 00:26:28,090 --> 00:26:34,290 down, and then draw another line to the one to the right of that one. 516 00:26:34,290 --> 00:26:36,390 So that's two lines so far. 517 00:26:36,390 --> 00:26:41,440 And then draw a line down to the next one down. 518 00:26:41,440 --> 00:26:44,490 OK, so that's three lines, down, right, and then down. 519 00:26:44,490 --> 00:26:46,470 And then left. 520 00:26:46,470 --> 00:26:49,450 And then down. 521 00:26:49,450 --> 00:26:53,940 >> OK, so recap, it's the first one is down-- OK, 522 00:26:53,940 --> 00:26:57,740 you're starting from the top left corner-- and then down, and then right, 523 00:26:57,740 --> 00:27:05,040 and then down, and then left, and then down, and then right, and then right, 524 00:27:05,040 --> 00:27:06,560 and then left. 525 00:27:06,560 --> 00:27:07,980 OK, so we're about half through. 526 00:27:07,980 --> 00:27:10,290 527 00:27:10,290 --> 00:27:12,040 DAVID J. MALAN: You said right, then left. 528 00:27:12,040 --> 00:27:15,960 MARCY: Oh, whoops, OK. 529 00:27:15,960 --> 00:27:17,860 DAVID J. MALAN: It's not easy. 530 00:27:17,860 --> 00:27:19,840 MARCY: Let's start over. 531 00:27:19,840 --> 00:27:21,590 Let's start over from the top left corner. 532 00:27:21,590 --> 00:27:22,840 >> DAVID J. MALAN: One more pass. 533 00:27:22,840 --> 00:27:33,650 MARCY: Yeah, OK, down, right, down, left, down, right, right, down, right, 534 00:27:33,650 --> 00:27:44,520 up, right, up, left, left, up, up, right, down, right, up, and you 535 00:27:44,520 --> 00:27:46,880 should be on the top right corner. 536 00:27:46,880 --> 00:27:47,430 OK. 537 00:27:47,430 --> 00:27:52,010 >> DAVID J. MALAN: All right, and if you did that correctly, you should now 538 00:27:52,010 --> 00:27:57,320 have this on your sheet of paper. 539 00:27:57,320 --> 00:28:01,530 So let me come grab a couple. 540 00:28:01,530 --> 00:28:09,900 OK, thank you, thank you, thank you, OK, I don't think you want that. 541 00:28:09,900 --> 00:28:13,690 OK, oh love this, thank you. 542 00:28:13,690 --> 00:28:18,770 Sorry to reach, wow, aw, OK I'm going to take just that one. 543 00:28:18,770 --> 00:28:22,250 All right, that's good, that's very good. 544 00:28:22,250 --> 00:28:27,920 All right, so let's see what we have here. 545 00:28:27,920 --> 00:28:31,400 >> So notice, try to make a mental imprint of this. 546 00:28:31,400 --> 00:28:33,720 Let me go back to the projection here. 547 00:28:33,720 --> 00:28:38,730 And this is pretty darn good here, very nicely done. 548 00:28:38,730 --> 00:28:42,430 This one, a little smaller, but I think that's on the right track 549 00:28:42,430 --> 00:28:47,040 as well, very nicely done. 550 00:28:47,040 --> 00:28:50,090 OK, this one I feel like I shouldn't put this on the internet, 551 00:28:50,090 --> 00:28:53,365 so let me-- this one has a phone number for some reason. 552 00:28:53,365 --> 00:28:57,460 >> [LAUGHTER] 553 00:28:57,460 --> 00:28:59,680 >> Thank you. 554 00:28:59,680 --> 00:29:03,240 And then, why don't we end with this one and now-- thank you so much-- 555 00:29:03,240 --> 00:29:05,950 we have time for one more example here. 556 00:29:05,950 --> 00:29:08,900 This time, how about on the left there, come on up. 557 00:29:08,900 --> 00:29:10,280 Yup, with your hands, yup. 558 00:29:10,280 --> 00:29:14,200 All right come on up, come on up. 559 00:29:14,200 --> 00:29:19,030 This time though, come on up. 560 00:29:19,030 --> 00:29:19,760 What's your name? 561 00:29:19,760 --> 00:29:20,500 >> DANIEL: Daniel. 562 00:29:20,500 --> 00:29:23,860 >> DAVID J. MALAN: Daniel, this time though, we're 563 00:29:23,860 --> 00:29:26,280 going to spice this up a little bit, and we're 564 00:29:26,280 --> 00:29:28,465 going to have you come over to the touch screen. 565 00:29:28,465 --> 00:29:31,090 So now this time, I'm going to show all of you all the drawing. 566 00:29:31,090 --> 00:29:35,630 And on the honor system, you may not move your eyes ever so slightly up here 567 00:29:35,630 --> 00:29:38,300 to see what the actual image is. 568 00:29:38,300 --> 00:29:40,359 So you just keep a-- just straight ahead. 569 00:29:40,359 --> 00:29:42,400 And then you're going to draw on this screen what 570 00:29:42,400 --> 00:29:43,733 your classmates describe to you. 571 00:29:43,733 --> 00:29:46,590 And I'll try to summarize verbally so it's loud enough. 572 00:29:46,590 --> 00:29:50,925 >> All right, so honor system here, look straight ahead only, 573 00:29:50,925 --> 00:29:54,050 and you all step-by-step-- not unlike the peanut butter and jelly example-- 574 00:29:54,050 --> 00:29:56,550 let's try to describe this. 575 00:29:56,550 --> 00:29:57,810 First instruction please. 576 00:29:57,810 --> 00:29:59,590 >> AUDIENCE: Draw a big circle. 577 00:29:59,590 --> 00:30:01,063 >> DAVID J. MALAN: Draw a big circle. 578 00:30:01,063 --> 00:30:07,220 >> [LAUGHTER] 579 00:30:07,220 --> 00:30:09,327 >> All right, this I'm going to undo. 580 00:30:09,327 --> 00:30:11,589 >> AUDIENCE: Draw a stick figure without arms. 581 00:30:11,589 --> 00:30:14,005 DAVID J. MALAN: I heard, draw a stick figure without arms. 582 00:30:14,005 --> 00:30:17,240 583 00:30:17,240 --> 00:30:18,190 >> [APPLAUSE] 584 00:30:18,190 --> 00:30:22,226 >> OK, all right, second instruction. 585 00:30:22,226 --> 00:30:23,490 >> AUDIENCE: Left arm on hip. 586 00:30:23,490 --> 00:30:27,472 >> DAVID J. MALAN: Left arm on hip. 587 00:30:27,472 --> 00:30:28,940 >> AUDIENCE: Angular, angular. 588 00:30:28,940 --> 00:30:32,530 >> DAVID J. MALAN: Angular, OK, we have to-- let me give you the eraser. 589 00:30:32,530 --> 00:30:33,980 Let's erase. 590 00:30:33,980 --> 00:30:35,852 OK, again. 591 00:30:35,852 --> 00:30:36,810 AUDIENCE: Pointy elbow. 592 00:30:36,810 --> 00:30:39,590 DAVID J. MALAN: Pointy elbow. 593 00:30:39,590 --> 00:30:40,729 Pointy elbow. 594 00:30:40,729 --> 00:30:42,020 AUDIENCE: Slightly acute elbow. 595 00:30:42,020 --> 00:30:43,561 DAVID J. MALAN: Slightly acute elbow. 596 00:30:43,561 --> 00:30:45,169 [APPLAUSE] 597 00:30:45,169 --> 00:30:46,710 DAVID J. MALAN: All right, what else? 598 00:30:46,710 --> 00:30:48,647 Third instruction. 599 00:30:48,647 --> 00:30:49,730 AUDIENCE: Now rotate the-- 600 00:30:49,730 --> 00:30:51,064 DAVID J. MALAN: Now rotate the-- 601 00:30:51,064 --> 00:30:52,355 AUDIENCE: Rotate it 90 degrees. 602 00:30:52,355 --> 00:30:53,950 DAVID J. MALAN: Rotate it 90 degrees. 603 00:30:53,950 --> 00:30:55,846 [LAUGHTER] 604 00:30:55,846 --> 00:30:59,975 [SHOUTING] 605 00:30:59,975 --> 00:31:00,475 What? 606 00:31:00,475 --> 00:31:03,200 607 00:31:03,200 --> 00:31:07,079 Right arm is a v. Right arm is a v. 608 00:31:07,079 --> 00:31:08,045 >> AUDIENCE: There you go. 609 00:31:08,045 --> 00:31:08,920 >> DAVID J. MALAN: Nice. 610 00:31:08,920 --> 00:31:09,830 [CHEERING] 611 00:31:09,830 --> 00:31:13,550 >> All right, and last step, last step. 612 00:31:13,550 --> 00:31:15,070 >> AUDIENCE: Line away from the head. 613 00:31:15,070 --> 00:31:17,880 >> DAVID J. MALAN: A line away from the head. 614 00:31:17,880 --> 00:31:20,267 No top left, yeah. 615 00:31:20,267 --> 00:31:33,470 >> [SHOUTING] 616 00:31:33,470 --> 00:31:34,960 >> AUDIENCE: 45 degree angle. 617 00:31:34,960 --> 00:31:38,416 >> DAVID J. MALAN: 45 degree angle. 618 00:31:38,416 --> 00:31:39,898 Oh, no. 619 00:31:39,898 --> 00:31:43,356 >> [SHOUTING] 620 00:31:43,356 --> 00:31:44,832 >> Yes. 621 00:31:44,832 --> 00:31:45,332 No. 622 00:31:45,332 --> 00:31:48,296 623 00:31:48,296 --> 00:31:50,790 >> AUDIENCE: From the top left of his head. 624 00:31:50,790 --> 00:31:54,554 >> DAVID J. MALAN: From, from the top left of his head-- 625 00:31:54,554 --> 00:31:56,490 >> AUDIENCE: Not connected to his head. 626 00:31:56,490 --> 00:31:58,957 >> DAVID J. MALAN: Not connected to his head. 627 00:31:58,957 --> 00:31:59,457 Yes. 628 00:31:59,457 --> 00:32:04,347 >> [SHOUTING] 629 00:32:04,347 --> 00:32:06,792 >> That's good, that's good. 630 00:32:06,792 --> 00:32:07,980 >> AUDIENCE: Write, Hi. 631 00:32:07,980 --> 00:32:09,900 >> DAVID J. MALAN: Write, Hi. 632 00:32:09,900 --> 00:32:11,385 Write, Hi. 633 00:32:11,385 --> 00:32:12,315 >> AUDIENCE: Higher. 634 00:32:12,315 --> 00:32:14,640 >> DAVID J. MALAN: Higher. 635 00:32:14,640 --> 00:32:16,500 >> AUDIENCE: At the end of the line. 636 00:32:16,500 --> 00:32:19,760 >> DAVID J. MALAN: At the end of the line write-- 637 00:32:19,760 --> 00:32:20,700 >> AUDIENCE: Little i. 638 00:32:20,700 --> 00:32:21,200 No. 639 00:32:21,200 --> 00:32:24,354 >> [SHOUTING] 640 00:32:24,354 --> 00:32:25,520 DAVID J. MALAN: Lowercase i. 641 00:32:25,520 --> 00:32:28,624 642 00:32:28,624 --> 00:32:29,415 I heard, lowercase. 643 00:32:29,415 --> 00:32:33,195 644 00:32:33,195 --> 00:32:33,695 Yes. 645 00:32:33,695 --> 00:32:38,160 >> [APPLAUSE] 646 00:32:38,160 --> 00:32:41,210 >> All right, that was amazing, thank you. 647 00:32:41,210 --> 00:32:49,790 All right, so we have time for just one more exercise. 648 00:32:49,790 --> 00:32:52,240 You might recall the following theme music 649 00:32:52,240 --> 00:32:54,399 which, realize we've taken some liberties 650 00:32:54,399 --> 00:32:57,190 with the rules of the following game, because in problem set eight, 651 00:32:57,190 --> 00:32:58,710 we asked you a bunch of questions that were essentially 652 00:32:58,710 --> 00:32:59,750 in the form of Jeopardy. 653 00:32:59,750 --> 00:33:01,800 And only after p-set eight did we decide, 654 00:33:01,800 --> 00:33:04,050 well, maybe it would actually be a little more 655 00:33:04,050 --> 00:33:08,572 fun to play something else instead. 656 00:33:08,572 --> 00:33:15,850 >> [FAMILY FEUD THEME MUSIC] 657 00:33:15,850 --> 00:33:20,301 >> For this, we're going to need four members of the teaching staff. 658 00:33:20,301 --> 00:33:25,372 Four members of the teaching staff, and four students, how about one, 659 00:33:25,372 --> 00:33:27,555 two, how about three, four. 660 00:33:27,555 --> 00:33:29,446 Come on down, come on down. 661 00:33:29,446 --> 00:33:34,166 662 00:33:34,166 --> 00:33:38,860 All right, We're also going to need-- we're also 663 00:33:38,860 --> 00:33:42,900 going to need one student-- if the staff would like to go here at left, students 664 00:33:42,900 --> 00:33:46,090 over here right-- we need someone who's really good at arithmetic 665 00:33:46,090 --> 00:33:48,990 under pressure. 666 00:33:48,990 --> 00:33:53,460 >> OK, right here be volunteer [INAUDIBLE] come on up. 667 00:33:53,460 --> 00:33:55,110 So you'll use the touch screen here. 668 00:33:55,110 --> 00:33:56,252 What's your name? 669 00:33:56,252 --> 00:33:56,960 MICHAEL: Michael. 670 00:33:56,960 --> 00:33:58,680 DAVID J. MALAN: Michael, come on up. 671 00:33:58,680 --> 00:34:01,080 So we'll give you instructions in just a moment. 672 00:34:01,080 --> 00:34:04,090 But if you want to just write staff on the right and students 673 00:34:04,090 --> 00:34:07,610 on the left for score keeping, let me go ahead and let each of you 674 00:34:07,610 --> 00:34:11,735 introduce yourselves to your class on this last day. 675 00:34:11,735 --> 00:34:13,109 JAMES: I'm James, I'm a freshman. 676 00:34:13,109 --> 00:34:15,670 677 00:34:15,670 --> 00:34:18,720 >> AARON: Hi, I'm Aaron. 678 00:34:18,720 --> 00:34:21,045 >> MAYA: I'm Maya. 679 00:34:21,045 --> 00:34:22,178 >> KATHERINE: I'm Katherine. 680 00:34:22,178 --> 00:34:23,969 DAVID J. MALAN: And now the teaching staff. 681 00:34:23,969 --> 00:34:26,199 JACK: I'm Jack. 682 00:34:26,199 --> 00:34:27,579 ABBY: Abby 683 00:34:27,579 --> 00:34:29,944 TIM: Hi, I'm Tim. 684 00:34:29,944 --> 00:34:30,485 MARIA: Maria. 685 00:34:30,485 --> 00:34:34,260 686 00:34:34,260 --> 00:34:36,960 >> DAVID J. MALAN: So, we have in advance, come up 687 00:34:36,960 --> 00:34:41,540 with a number of questions, some of whose answers we kind of made up, 688 00:34:41,540 --> 00:34:45,440 but others whose answers are based on actual statistics 689 00:34:45,440 --> 00:34:48,889 from your own submissions of problem set eight, and other problem sets. 690 00:34:48,889 --> 00:34:51,989 So in general, each of these answers we'll have surveyed, 691 00:34:51,989 --> 00:34:55,980 let's say 100 people, we will put the top four or five or six answers 692 00:34:55,980 --> 00:34:58,439 on the board, each of which has a score associated with it. 693 00:34:58,439 --> 00:35:00,730 What we're going to do is tweak the rules a little bit. 694 00:35:00,730 --> 00:35:03,000 So rather than give control to one team or another, 695 00:35:03,000 --> 00:35:09,510 we're simply going to use the Staples easy buttons to allow each team 696 00:35:09,510 --> 00:35:11,150 to buzz in the quickest. 697 00:35:11,150 --> 00:35:14,917 And whoever guesses-- hits the button first, and gets a question right, 698 00:35:14,917 --> 00:35:16,500 will potentially get that many points. 699 00:35:16,500 --> 00:35:18,333 We'll keep going, we'll keep going, and then 700 00:35:18,333 --> 00:35:23,065 whichever team finishes the board, will get all of the points tallied thus far. 701 00:35:23,065 --> 00:35:24,940 So what you'll want to do is tally the points 702 00:35:24,940 --> 00:35:26,750 as we go for each question answered right. 703 00:35:26,750 --> 00:35:29,750 And then once the round ends, you're going to put the total either here, 704 00:35:29,750 --> 00:35:30,600 or over here. 705 00:35:30,600 --> 00:35:32,280 >> MICHAEL: So I tally in my head. 706 00:35:32,280 --> 00:35:36,020 >> DAVID J. MALAN: Or on the screen in front of everyone, yes, 707 00:35:36,020 --> 00:35:40,040 or on your phone, which is back there apparently. 708 00:35:40,040 --> 00:35:42,507 All right, so we'll walk you through this. 709 00:35:42,507 --> 00:35:43,840 No need to do anything just yet. 710 00:35:43,840 --> 00:35:46,048 The first thing the students and the staff need to do 711 00:35:46,048 --> 00:35:47,880 is hit their respective buttons the fastest 712 00:35:47,880 --> 00:35:51,040 after I start reading the question and you want to propose an answer. 713 00:35:51,040 --> 00:35:52,130 Make sense? 714 00:35:52,130 --> 00:35:53,710 All right, here we go. 715 00:35:53,710 --> 00:35:55,925 Name a function declared in stdio.h. 716 00:35:55,925 --> 00:36:00,190 717 00:36:00,190 --> 00:36:01,050 Staff. 718 00:36:01,050 --> 00:36:01,950 >> ABBY: Printf. 719 00:36:01,950 --> 00:36:04,550 >> DAVID J. MALAN: Show us printf. 720 00:36:04,550 --> 00:36:06,290 Very nice. 721 00:36:06,290 --> 00:36:10,226 So just write down 68, or keep track in your mind of 68. 722 00:36:10,226 --> 00:36:11,350 Now we're going to move on. 723 00:36:11,350 --> 00:36:13,190 As soon as I'm going to read the question again, 724 00:36:13,190 --> 00:36:15,648 you may not buzz in until after I've repeated the question. 725 00:36:15,648 --> 00:36:17,250 Name a function declared in stdio.h. 726 00:36:17,250 --> 00:36:20,100 727 00:36:20,100 --> 00:36:22,470 Same question 728 00:36:22,470 --> 00:36:23,980 >> JAMES: What is sprintf. 729 00:36:23,980 --> 00:36:25,350 >> DAVID J. MALAN: What is sprintf. 730 00:36:25,350 --> 00:36:28,130 731 00:36:28,130 --> 00:36:30,310 Show us sprintf. 732 00:36:30,310 --> 00:36:33,060 No, I'll read it again. 733 00:36:33,060 --> 00:36:36,280 A function declared in stdio.h. 734 00:36:36,280 --> 00:36:36,780 Staff. 735 00:36:36,780 --> 00:36:37,799 >> TIM: Scanf. 736 00:36:37,799 --> 00:36:39,090 DAVID J. MALAN: Scanf, show us. 737 00:36:39,090 --> 00:36:41,650 738 00:36:41,650 --> 00:36:44,050 Two strikes. 739 00:36:44,050 --> 00:36:46,505 Once more, a function declared in stdio.h. 740 00:36:46,505 --> 00:36:50,380 741 00:36:50,380 --> 00:36:51,496 Students. 742 00:36:51,496 --> 00:36:52,470 >> JAMES: Fopen. 743 00:36:52,470 --> 00:36:57,400 >> DAVID J. MALAN: Fopen, very nice. 744 00:36:57,400 --> 00:37:00,430 I'll just keep repeating the question, a function declared in stdio.h. 745 00:37:00,430 --> 00:37:03,480 746 00:37:03,480 --> 00:37:04,540 Staff. 747 00:37:04,540 --> 00:37:05,270 >> TIM: Fclosed. 748 00:37:05,270 --> 00:37:07,910 >> DAVID J. MALAN: Fclosed, good job. 749 00:37:07,910 --> 00:37:12,010 Nice, we have two answers left on the board, number two and number 5 750 00:37:12,010 --> 00:37:13,100 for this round. 751 00:37:13,100 --> 00:37:16,460 A function declared in stdio.h. 752 00:37:16,460 --> 00:37:18,250 Students. 753 00:37:18,250 --> 00:37:19,210 >> KATHERINE: Fread. 754 00:37:19,210 --> 00:37:21,804 >> DAVID J. MALAN: Show us fread. 755 00:37:21,804 --> 00:37:23,620 Very nice. 756 00:37:23,620 --> 00:37:27,250 Whoever now-- whichever team answers the fifth and last answer, 757 00:37:27,250 --> 00:37:28,680 gets all the points. 758 00:37:28,680 --> 00:37:31,520 So you should be adding all these numbers up, and whoever gets this, 759 00:37:31,520 --> 00:37:34,310 gets that total. 760 00:37:34,310 --> 00:37:35,870 Is there a mistake? 761 00:37:35,870 --> 00:37:37,035 There is no number six. 762 00:37:37,035 --> 00:37:39,890 No number six, unimplemented. 763 00:37:39,890 --> 00:37:43,330 Name a function declared in stdio-- staff. 764 00:37:43,330 --> 00:37:46,432 765 00:37:46,432 --> 00:37:47,520 >> TIM: Fright. 766 00:37:47,520 --> 00:37:48,811 >> DAVID J. MALAN: Show us fright. 767 00:37:48,811 --> 00:37:51,440 768 00:37:51,440 --> 00:37:53,690 >> JACK: That explains so much. 769 00:37:53,690 --> 00:37:55,350 >> DAVID J. MALAN: Let's try once more. 770 00:37:55,350 --> 00:37:59,210 Name one-- name a function declared in stdio.h. 771 00:37:59,210 --> 00:38:00,220 Tim. 772 00:38:00,220 --> 00:38:00,830 >> TIM: Fseek. 773 00:38:00,830 --> 00:38:01,746 >> DAVID J. MALAN: Fseek. 774 00:38:01,746 --> 00:38:04,350 775 00:38:04,350 --> 00:38:08,720 About one more try, name a function declared in f-- in stdio.h. 776 00:38:08,720 --> 00:38:12,011 777 00:38:12,011 --> 00:38:14,220 >> MARIA: fgetc. 778 00:38:14,220 --> 00:38:16,690 >> DAVID J. MALAN: fgetc. 779 00:38:16,690 --> 00:38:18,270 So no one gets the points. 780 00:38:18,270 --> 00:38:20,440 Colton, want to show us what number five was? 781 00:38:20,440 --> 00:38:23,110 782 00:38:23,110 --> 00:38:24,735 OK, Matlock is not in stdio.h. 783 00:38:24,735 --> 00:38:28,586 784 00:38:28,586 --> 00:38:29,710 Jason Hirschhorn everybody. 785 00:38:29,710 --> 00:38:33,252 786 00:38:33,252 --> 00:38:35,210 All right let's move on to the second question. 787 00:38:35,210 --> 00:38:39,900 First person to buzz in here, to this question, a program that you 788 00:38:39,900 --> 00:38:42,560 use while programming. 789 00:38:42,560 --> 00:38:43,473 Staff. 790 00:38:43,473 --> 00:38:44,400 >> TIM: Clang. 791 00:38:44,400 --> 00:38:46,500 >> DAVID J. MALAN: Clang. 792 00:38:46,500 --> 00:38:48,660 Very nice, number two answer. 793 00:38:48,660 --> 00:38:50,836 Again, name a program you use while programming. 794 00:38:50,836 --> 00:38:53,980 795 00:38:53,980 --> 00:38:55,000 Students. 796 00:38:55,000 --> 00:38:55,730 >> JAMES: GDB. 797 00:38:55,730 --> 00:38:56,563 >> DAVID J. MALAN: GDB. 798 00:38:56,563 --> 00:38:59,060 799 00:38:59,060 --> 00:39:02,960 So at this point, 38 would be the total, but no one's gotten any points yet. 800 00:39:02,960 --> 00:39:05,490 All right, name a program used while programming. 801 00:39:05,490 --> 00:39:08,030 802 00:39:08,030 --> 00:39:08,860 >> TIM: Valgrind. 803 00:39:08,860 --> 00:39:09,901 >> DAVID J. MALAN: Valgrind. 804 00:39:09,901 --> 00:39:13,332 805 00:39:13,332 --> 00:39:17,790 All right, name a program you use while programming. 806 00:39:17,790 --> 00:39:19,275 Students. 807 00:39:19,275 --> 00:39:20,480 >> AARON: PHP. 808 00:39:20,480 --> 00:39:26,000 >> DAVID J. MALAN: PHP Name a program you use while programming. 809 00:39:26,000 --> 00:39:27,147 Staff. 810 00:39:27,147 --> 00:39:28,310 >> MARIA: Facebook. 811 00:39:28,310 --> 00:39:32,320 >> DAVID J. MALAN: Show us, show us Facebook. 812 00:39:32,320 --> 00:39:37,810 >> [APPLAUSE] 813 00:39:37,810 --> 00:39:40,297 >> We have top six answers on the board, three to go. 814 00:39:40,297 --> 00:39:42,005 Name a program you use while programming. 815 00:39:42,005 --> 00:39:45,650 816 00:39:45,650 --> 00:39:46,150 Staff. 817 00:39:46,150 --> 00:39:47,310 >> TIM: Google. 818 00:39:47,310 --> 00:39:49,670 >> DAVID J. MALAN: Google. 819 00:39:49,670 --> 00:39:51,470 Brow-- all right. 820 00:39:51,470 --> 00:39:53,845 >> AUDIENCE:Boo. 821 00:39:53,845 --> 00:39:56,220 >> DAVID J. MALAN: Boo. 822 00:39:56,220 --> 00:39:57,990 All right, name-- two answers left-- name 823 00:39:57,990 --> 00:40:00,316 a program you use while programming. 824 00:40:00,316 --> 00:40:01,832 >> MAYA: CS50 Discuss. 825 00:40:01,832 --> 00:40:03,040 DAVID J. MALAN: CS50 Discuss. 826 00:40:03,040 --> 00:40:06,530 827 00:40:06,530 --> 00:40:08,950 One more try, a program you use while programming. 828 00:40:08,950 --> 00:40:13,510 829 00:40:13,510 --> 00:40:15,050 I heard students. 830 00:40:15,050 --> 00:40:15,840 Students. 831 00:40:15,840 --> 00:40:16,799 >> AARON: CS50 IDE. 832 00:40:16,799 --> 00:40:17,840 DAVID J. MALAN: CS50 IDE. 833 00:40:17,840 --> 00:40:22,080 834 00:40:22,080 --> 00:40:24,290 And last one, a program you use while programming. 835 00:40:24,290 --> 00:40:27,030 836 00:40:27,030 --> 00:40:28,140 >> TIM: Check50. 837 00:40:28,140 --> 00:40:30,710 >> DAVID J. MALAN: Check50. 838 00:40:30,710 --> 00:40:32,090 Nope, let's reveal the answer. 839 00:40:32,090 --> 00:40:35,645 Number six was Spotify. 840 00:40:35,645 --> 00:40:39,670 All right, I think we have time for just one or two more. 841 00:40:39,670 --> 00:40:44,300 Complete the following sentence, no points for either team still. 842 00:40:44,300 --> 00:40:50,270 It's zero to zero, winner take all soon, good job. 843 00:40:50,270 --> 00:40:56,830 Complete the following sentence, I'm never gonna-- Staff. 844 00:40:56,830 --> 00:40:58,230 >> TIM: Give you up. 845 00:40:58,230 --> 00:41:00,650 >> DAVID J. MALAN: Give you up. 846 00:41:00,650 --> 00:41:02,330 Nice. 847 00:41:02,330 --> 00:41:03,974 Students. 848 00:41:03,974 --> 00:41:04,890 >> JAMES: Let you down. 849 00:41:04,890 --> 00:41:06,098 >> DAVID J. MALAN: Let you down. 850 00:41:06,098 --> 00:41:08,650 851 00:41:08,650 --> 00:41:09,735 I've never gonna- 852 00:41:09,735 --> 00:41:11,110 MARIA: Run around and desert you. 853 00:41:11,110 --> 00:41:14,470 DAVID J. MALAN: Run around and desert you. 854 00:41:14,470 --> 00:41:17,720 Run around desert, OK. 855 00:41:17,720 --> 00:41:18,880 Students. 856 00:41:18,880 --> 00:41:20,380 >> AARON: Never gonna make you cry. 857 00:41:20,380 --> 00:41:21,588 >> DAVID J. MALAN: Make you cry. 858 00:41:21,588 --> 00:41:24,841 859 00:41:24,841 --> 00:41:25,340 Staff. 860 00:41:25,340 --> 00:41:26,100 >> TIM: Say goodbye. 861 00:41:26,100 --> 00:41:29,350 >> DAVID J. MALAN: I can't believe this is the question you're all getting right. 862 00:41:29,350 --> 00:41:31,750 863 00:41:31,750 --> 00:41:35,220 Say goodbye, yup, and the last one. 864 00:41:35,220 --> 00:41:35,910 Students. 865 00:41:35,910 --> 00:41:37,490 >> KATHERINE: Hurt you. 866 00:41:37,490 --> 00:41:40,998 >> DAVID J. MALAN: Tell a lie and hurt you. 867 00:41:40,998 --> 00:41:42,914 Students get 100 points. 868 00:41:42,914 --> 00:41:45,790 869 00:41:45,790 --> 00:41:52,286 That's why-- that is it for CS50, cake is now served. 870 00:41:52,286 --> 00:41:55,709 >> [SEINFELD THEME SONG] 871 00:41:55,709 --> 00:41:59,132 >> [MUSIC PLAYING] 872 00:41:59,132 --> 00:42:07,290 873 00:42:07,290 --> 00:42:08,540 DAN ARMINDARIZ: Are you crazy? 874 00:42:08,540 --> 00:42:09,340 What do you think you're doing? 875 00:42:09,340 --> 00:42:10,980 >> SPEAKER 6: I'm trying to get into the elevator. 876 00:42:10,980 --> 00:42:11,870 >> DAN ARMINDARIZ: What are you talking about? 877 00:42:11,870 --> 00:42:12,640 You didn't see me waiting here? 878 00:42:12,640 --> 00:42:14,700 >> SPEAKER 6: I didn't see you waiting man. 879 00:42:14,700 --> 00:42:16,280 >> DAN ARMINDARIZ: If you didn't see me waiting, then why'd you 880 00:42:16,280 --> 00:42:17,404 put your cart in like that? 881 00:42:17,404 --> 00:42:19,820 SPEAKER 6: Because that's how I get into the elevator. 882 00:42:19,820 --> 00:42:20,945 >> DAN ARMINDARIZ: [INAUDIBLE] 883 00:42:20,945 --> 00:42:22,820 884 00:42:22,820 --> 00:42:25,706 >> SPEAKER 6: Get out-- let go! 885 00:42:25,706 --> 00:42:26,206