1 00:00:00,000 --> 00:02:41,640 >> [MUSIC PLAYING] 2 00:02:41,640 --> 00:02:44,100 >> SPEAKER 1: You are now graduating from CS50. 3 00:02:44,100 --> 00:02:47,405 4 00:02:47,405 --> 00:02:53,560 >> [APPLAUSE] 5 00:02:53,560 --> 00:02:56,040 >> SPEAKER 1: So this was CS50. 6 00:02:56,040 --> 00:02:59,180 This is the start and the end of Week 12. 7 00:02:59,180 --> 00:03:02,930 So I have agreed, though I've resisted all term to wear glass this entire 8 00:03:02,930 --> 00:03:06,130 lecture, so you can see CS50 through my eyes. 9 00:03:06,130 --> 00:03:11,300 This is then the end of what was ultimately meant to be a journey from 10 00:03:11,300 --> 00:03:12,810 Week 0 to Week 12. 11 00:03:12,810 --> 00:03:15,790 >> And what I'd like to remind us all is that this line from the very first 12 00:03:15,790 --> 00:03:18,790 week of class that what ultimately matters in this course is not so much 13 00:03:18,790 --> 00:03:22,130 where you end up relative to your classmates but where are you in this, 14 00:03:22,130 --> 00:03:26,110 Week 12, end up relative to yourself in Week 0. 15 00:03:26,110 --> 00:03:29,640 Indeed, as you saw from that retrospective, 73% of you just twelve 16 00:03:29,640 --> 00:03:34,430 plus weeks ago had no prior programing experience or in computer science, and 17 00:03:34,430 --> 00:03:39,050 so I dare say that today, Monday of Week 12, none of you is officially 18 00:03:39,050 --> 00:03:40,870 less comfortable anymore. 19 00:03:40,870 --> 00:03:43,800 So congratulations to those among you who once were. 20 00:03:43,800 --> 00:03:47,664 21 00:03:47,664 --> 00:03:52,830 >> So as is a tradition, we both begin and end the semester with cake. 22 00:03:52,830 --> 00:03:56,540 And so thanks to Professor Margo Seltzer in the Computer Science 23 00:03:56,540 --> 00:04:01,870 Department, we spent yesterday, a few of us, preparing some cakes for you. 24 00:04:01,870 --> 00:04:05,430 Quite a few marshmallows were used, and what we decided to do is decorate 25 00:04:05,430 --> 00:04:07,400 one of these cakes in this way. 26 00:04:07,400 --> 00:04:09,790 It started out like this with a bit more effort. 27 00:04:09,790 --> 00:04:12,130 It started to take shape when-- 28 00:04:12,130 --> 00:04:15,310 about a couple hours into it, started to look like this. 29 00:04:15,310 --> 00:04:18,850 And then finally, thanks to our friend, Margo Seltzer, you will be 30 00:04:18,850 --> 00:04:23,900 eating this in just a little while downstairs in the pub after CS50. 31 00:04:23,900 --> 00:04:28,520 >> So recall that on Quiz One, there was a recurring theme of numbers that you 32 00:04:28,520 --> 00:04:29,350 may have noticed. 33 00:04:29,350 --> 00:04:34,320 And in the post mortem for Quiz One a week ago, we asked your classmates if 34 00:04:34,320 --> 00:04:36,570 they could identify that sequence of numbers. 35 00:04:36,570 --> 00:04:40,900 I'm afraid I can't really tell you now what they are, lest we spoil what 36 00:04:40,900 --> 00:04:44,530 might otherwise be fun experience for you if you've not experienced, but 37 00:04:44,530 --> 00:04:48,560 allow me to invite up to the stage for the fabulous stress balls that we 38 00:04:48,560 --> 00:04:53,460 promised you're following classmates who did email us and let us know what 39 00:04:53,460 --> 00:04:54,670 in fact those numbers meant. 40 00:04:54,670 --> 00:04:59,030 >> If Angie, Barrett, Daniel, Elmer, Jarek, Layla, and or Nicholas are 41 00:04:59,030 --> 00:05:03,640 here, please come on up to receive your CS50 stress balls. 42 00:05:03,640 --> 00:05:06,390 43 00:05:06,390 --> 00:05:07,640 Congratulations. 44 00:05:07,640 --> 00:05:20,230 45 00:05:20,230 --> 00:05:24,800 And nicely done, congratulations. 46 00:05:24,800 --> 00:05:28,440 So a little bit of an Easter egg in that one there. 47 00:05:28,440 --> 00:05:33,070 >> So a word then on what awaits after CS50. 48 00:05:33,070 --> 00:05:36,300 So recall that it was just a few weeks ago that we started life here with 49 00:05:36,300 --> 00:05:39,520 Scratch and making Hello World with the simplest of dragging and dropping 50 00:05:39,520 --> 00:05:43,640 puzzle pieces and realized that just weeks later, you were all implementing 51 00:05:43,640 --> 00:05:44,760 a little something like this. 52 00:05:44,760 --> 00:05:47,600 CS50 shuttle driving yourselves virtually around campus. 53 00:05:47,600 --> 00:05:50,780 >> And I would encourage you to keep in mind, especially as you dive into 54 00:05:50,780 --> 00:05:54,070 final projects that delta, particularly if you were among those 55 00:05:54,070 --> 00:05:57,470 less comfortable or somewhere in between, as you now proceed to dive 56 00:05:57,470 --> 00:06:01,500 into your final projects, which is ultimately an opportunity to really 57 00:06:01,500 --> 00:06:04,660 take yourself out for a spin, use your new-found knowledge and savvy of 58 00:06:04,660 --> 00:06:08,120 computer science, and ultimately impress some 2,000 plus people with 59 00:06:08,120 --> 00:06:10,170 this year's CS50 Fair. 60 00:06:10,170 --> 00:06:12,830 >> Even Milo has gotten into the action. 61 00:06:12,830 --> 00:06:16,200 So he's been working on his final project already, a website that I'd 62 00:06:16,200 --> 00:06:18,080 encourage you to visit here. 63 00:06:18,080 --> 00:06:19,790 milobanana.me. 64 00:06:19,790 --> 00:06:24,150 So even Milo bought a domain name if that too is of interest to you. 65 00:06:24,150 --> 00:06:27,490 >> And what we always know too at this part of the semester is that we've 66 00:06:27,490 --> 00:06:30,430 taken off most all of the training wheels already, but one last one 67 00:06:30,430 --> 00:06:32,240 remains, that of the CS50 appliance. 68 00:06:32,240 --> 00:06:35,550 Now at the end of day, the appliance is just meant to be a fairly standard 69 00:06:35,550 --> 00:06:38,700 Linux server that you've been using all this time. 70 00:06:38,700 --> 00:06:40,540 And as such, it's representative of servers that you 71 00:06:40,540 --> 00:06:41,660 might use in the future. 72 00:06:41,660 --> 00:06:45,070 So realize that it's not necessarily itself a training wheel but 73 00:06:45,070 --> 00:06:47,390 representative of environments you'll use in the future. 74 00:06:47,390 --> 00:06:51,570 >> But even then, if you'd rather use your own Mac or your own PC, natively 75 00:06:51,570 --> 00:06:55,100 realize that the appliance is just one way you can continue programming. 76 00:06:55,100 --> 00:06:59,160 There exists tools, integrated and development environments, or IDEs, 77 00:06:59,160 --> 00:07:01,850 known as Code Blocks, Eclipse, NetBeans, and the like. 78 00:07:01,850 --> 00:07:06,580 Xcode as well on Mac OS, as well as on Windows, tools like the same including 79 00:07:06,580 --> 00:07:09,110 cygwin, Visual Studio, and several others. 80 00:07:09,110 --> 00:07:11,730 So we would encourage you with your final projects if you'd like to go 81 00:07:11,730 --> 00:07:14,500 beyond what you've done in the appliance, you can absolutely do this 82 00:07:14,500 --> 00:07:18,840 on Mac OS, Windows, and even on Linux if you run that yourself. 83 00:07:18,840 --> 00:07:21,750 >> Now, a word on Problem Set Six. 84 00:07:21,750 --> 00:07:24,740 You'll recall that Problem Set Six was probably for many of you the most 85 00:07:24,740 --> 00:07:25,770 challenging of problem sets. 86 00:07:25,770 --> 00:07:29,110 And there was this big board atop which some of you aspire to be. 87 00:07:29,110 --> 00:07:32,060 And we'd like to take a moment with another stress ball to acknowledge one 88 00:07:32,060 --> 00:07:36,790 of your classmates who bested most of the staff and most of classmates. 89 00:07:36,790 --> 00:07:40,160 Here we have Richard atop the list. 90 00:07:40,160 --> 00:07:42,800 If Richard is here today? 91 00:07:42,800 --> 00:07:43,750 Richard? 92 00:07:43,750 --> 00:07:45,270 Richard is indeed here today. 93 00:07:45,270 --> 00:07:46,671 Come on up, Richard! 94 00:07:46,671 --> 00:08:00,430 >> [APPLAUSE] 95 00:08:00,430 --> 00:08:02,960 >> SPEAKER 1: Not the awkwardness you're expecting today perhaps, but 96 00:08:02,960 --> 00:08:08,180 congratulations on Problem Set Six. 97 00:08:08,180 --> 00:08:14,930 So I've just received word-- so we went in and inserted this on the fly-- 98 00:08:14,930 --> 00:08:16,900 that it's one of your classmate's birthdays. 99 00:08:16,900 --> 00:08:20,640 Though recall that statistically this is likely to happen most any day of 100 00:08:20,640 --> 00:08:22,770 the semester as we've seen with the so-called birthday problem. 101 00:08:22,770 --> 00:08:26,630 But nonetheless, since his roommates asked, we'd like to take a moment and 102 00:08:26,630 --> 00:08:29,980 acknowledge Mike whose birthday is today with the stress ball. 103 00:08:29,980 --> 00:08:31,843 If you'd like to come on down, Mike. 104 00:08:31,843 --> 00:08:39,731 >> [APPLAUSE] 105 00:08:39,731 --> 00:08:57,500 >> [SINGING] 106 00:08:57,500 --> 00:09:00,900 >> SPEAKER 1: So you'll recall as well in Problem Set Five, there was a bit of 107 00:09:00,900 --> 00:09:01,960 an optional challenge. 108 00:09:01,960 --> 00:09:05,200 Once you recovered those 50 photos, you were challenged to find those 50 109 00:09:05,200 --> 00:09:10,290 computer scientists and then take photographs of yourself with them, 110 00:09:10,290 --> 00:09:12,560 ideally as non-creepily as possible. 111 00:09:12,560 --> 00:09:15,350 That didn't always happen, but we'd like to acknowledge a few of your 112 00:09:15,350 --> 00:09:19,750 classmates who did in fact find many of the course's staff. 113 00:09:19,750 --> 00:09:23,840 If Chris, Layla, and Raul could come down for their acknowledgement and 114 00:09:23,840 --> 00:09:25,090 stress balls as well? 115 00:09:25,090 --> 00:09:28,880 116 00:09:28,880 --> 00:09:30,130 >> Congratulations. 117 00:09:30,130 --> 00:09:33,980 118 00:09:33,980 --> 00:09:35,230 Come on up. 119 00:09:35,230 --> 00:09:41,915 120 00:09:41,915 --> 00:09:43,510 We meet again. 121 00:09:43,510 --> 00:09:46,210 Congratulations on your finding of the staff. 122 00:09:46,210 --> 00:09:48,800 And come on up, Layla, as well. 123 00:09:48,800 --> 00:09:50,810 Congratulations. 124 00:09:50,810 --> 00:09:57,430 >> All right, but there were a couple of classmates who found quite a few more 125 00:09:57,430 --> 00:09:58,350 of the staff. 126 00:09:58,350 --> 00:10:02,980 In one case, 47 of the staff, and in one case, all 50. 127 00:10:02,980 --> 00:10:06,880 One of your classmates writes us as upon submitting his submission, this 128 00:10:06,880 --> 00:10:09,460 is my final submission for the I Saw You Harvard Game. 129 00:10:09,460 --> 00:10:13,270 I ended up finding 46 people and one dog. 130 00:10:13,270 --> 00:10:16,490 It might not be enough to win, but it was a lot of fun. 131 00:10:16,490 --> 00:10:21,600 And that was Daniel, who here is pictured with RJ, with Ben. 132 00:10:21,600 --> 00:10:24,610 Curiously, he doesn't seem to want to be in that photo with Ben. 133 00:10:24,610 --> 00:10:26,410 But we'd like to acknowledge Daniel. 134 00:10:26,410 --> 00:10:32,660 >> But we also received another note from a student who at 5:23 AM on Monday, 135 00:10:32,660 --> 00:10:34,930 November 4, the deadline for these submissions. 136 00:10:34,930 --> 00:10:39,070 Dear Heads, I have 54 at the minute. 137 00:10:39,070 --> 00:10:42,200 Some more may be added in the coming hours, included are some 138 00:10:42,200 --> 00:10:43,930 other staff I found. 139 00:10:43,930 --> 00:10:49,980 Then at 11:09 AM on that same day, this fellow too, also named Daniel, 140 00:10:49,980 --> 00:10:53,700 writes, I'm pleased to announce that I have found the remaining four computer 141 00:10:53,700 --> 00:10:57,030 scientists and have completed the set. 142 00:10:57,030 --> 00:11:02,340 >> So we'd like to acknowledge Daniel as well for finding Milo and Jason and 143 00:11:02,340 --> 00:11:07,610 even Tommy MacWilliam, former Head Teaching Fellow who now lives in 144 00:11:07,610 --> 00:11:11,610 California but is apparently accessible on Skype. 145 00:11:11,610 --> 00:11:18,000 So we would like to honor both Daniels with this prize. 146 00:11:18,000 --> 00:11:23,250 147 00:11:23,250 --> 00:11:25,210 Congratulations. 148 00:11:25,210 --> 00:11:27,980 And congratulations to you as well. 149 00:11:27,980 --> 00:11:37,250 >> All right, so I'd like to take a moment now to focus not on classmates, 150 00:11:37,250 --> 00:11:39,450 but on the course's staff. 151 00:11:39,450 --> 00:11:43,220 We have, as you know, a team of some 100 Teaching Fellows, course 152 00:11:43,220 --> 00:11:47,940 assistants, producers, in addition to myself and the course's heads. 153 00:11:47,940 --> 00:11:51,070 And we'd like to take a moment to recognize in particular our 154 00:11:51,070 --> 00:11:54,290 undergraduate Head Teaching Fellows without whom this course, 155 00:11:54,290 --> 00:11:56,980 historically, and this year would not have been possible. 156 00:11:56,980 --> 00:12:02,210 Joseph and RJ and Lucas, if we could give them a round of applause. 157 00:12:02,210 --> 00:12:08,900 >> [APPLAUSE] 158 00:12:08,900 --> 00:12:12,410 >> SPEAKER 1: Particular thanks as well to someone you know perhaps all too 159 00:12:12,410 --> 00:12:16,070 well from having been embedded in your problem sets all semester, 160 00:12:16,070 --> 00:12:16,640 [? Zamayla ?] 161 00:12:16,640 --> 00:12:17,602 as well. 162 00:12:17,602 --> 00:12:23,860 >> [APPLAUSE] 163 00:12:23,860 --> 00:12:27,450 >> SPEAKER 1: And lastly, on the course's Heads Team, let me acknowledge both 164 00:12:27,450 --> 00:12:31,100 Rob, who's Former Head Teaching Fellow and now our preceptor in computer 165 00:12:31,100 --> 00:12:35,060 science, as well as Lauren who has served as head of the whole course, 166 00:12:35,060 --> 00:12:39,260 and it's no understatement to say, and we're so sad, that she'll be moving on 167 00:12:39,260 --> 00:12:43,090 this coming year, that she has been extraordinary in this role, and is not 168 00:12:43,090 --> 00:12:45,940 here right now because she is literally cutting cake for us 169 00:12:45,940 --> 00:12:46,890 downstairs. 170 00:12:46,890 --> 00:12:50,833 So if we could clap for her on camera, we will play this back for her later. 171 00:12:50,833 --> 00:13:00,020 >> [APPLAUSE] 172 00:13:00,020 --> 00:13:03,450 >> SPEAKER 1: Lest I be remiss, let me with a slight wave of the hand thank 173 00:13:03,450 --> 00:13:08,100 those other 102 team members who you'll see again in just a moment. 174 00:13:08,100 --> 00:13:11,620 In fact, for those of you who don't have class or are skipping classes, if 175 00:13:11,620 --> 00:13:15,920 you could come on up for just a moment and wave hello and goodbye up here. 176 00:13:15,920 --> 00:13:16,886 Come on up. 177 00:13:16,886 --> 00:13:18,136 No, from here. 178 00:13:18,136 --> 00:13:22,420 179 00:13:22,420 --> 00:13:31,750 We'll play a video with these guys here on stage, but let me recognize 180 00:13:31,750 --> 00:13:40,310 too some folks you rarely see, if ever, on stage because they're always 181 00:13:40,310 --> 00:13:45,670 behind the cameras, Kenny and Shelley and Ramon and Dan and Barry and TJ and 182 00:13:45,670 --> 00:13:48,080 the whole team and production who makes all of this possible. 183 00:13:48,080 --> 00:13:49,370 They're all out there. 184 00:13:49,370 --> 00:13:53,860 >> And we'd like to all say before we move on today, a little thank you and 185 00:13:53,860 --> 00:13:56,390 a little teaser for what lies ahead. 186 00:13:56,390 --> 00:14:01,830 In particular we would invite you to consider joining us next year. 187 00:14:01,830 --> 00:14:04,460 If the staff would like to remain on stage for this here. 188 00:14:04,460 --> 00:14:04,952 >> [VIDEO PLAYBACK] 189 00:14:04,952 --> 00:14:09,690 >> [MUSIC PLAYING] 190 00:14:09,690 --> 00:14:11,780 >> -We couldn't do CS50 without the team we have. 191 00:14:11,780 --> 00:14:15,340 102 undergraduates, graduates, and alumni who really make 192 00:14:15,340 --> 00:14:16,734 CS50 what it is. 193 00:14:16,734 --> 00:14:25,320 >> [MUSIC PLAYING] 194 00:14:25,320 --> 00:14:26,720 >> -My favorite thing about CS50 is-- 195 00:14:26,720 --> 00:14:30,052 >> -There's a lot of fun behind the scenes, and you get to take part in 196 00:14:30,052 --> 00:14:32,740 the teaching side of things rather than the learning side of things. 197 00:14:32,740 --> 00:14:34,630 >> -For me it was definitely office hours. 198 00:14:34,630 --> 00:14:37,020 >> -Helping students at office hours is always really fun. 199 00:14:37,020 --> 00:14:38,325 >> -I really like the office hours. 200 00:14:38,325 --> 00:14:43,780 >> -The officer hours of P-Set 7 and 8, because those are really crazy and 201 00:14:43,780 --> 00:14:45,900 intense, and people were crying. 202 00:14:45,900 --> 00:14:49,780 >> -I really like CS50 tutoring, because I like working with students in small 203 00:14:49,780 --> 00:14:49,960 group. 204 00:14:49,960 --> 00:14:53,250 >> -Working with the students and watching them go from printing out 205 00:14:53,250 --> 00:14:57,160 hash-tags from [? Mario ?] to making hash tables at the end. 206 00:14:57,160 --> 00:14:58,380 >> -Seeing people grow-- 207 00:14:58,380 --> 00:15:03,700 >> -And be like, this is the same person, and I taught them how to do that. 208 00:15:03,700 --> 00:15:07,050 >> -Seeing when students finish a problem set and how happy they are. 209 00:15:07,050 --> 00:15:10,940 >> -It's just that moment when the student has that, aha, I get it. 210 00:15:10,940 --> 00:15:12,940 >> -You see that they get it at some point. 211 00:15:12,940 --> 00:15:15,460 >> -That aha moment. 212 00:15:15,460 --> 00:15:17,010 >> -It's pretty awesome to be a teacher then. 213 00:15:17,010 --> 00:15:18,600 >> -I like teaching. 214 00:15:18,600 --> 00:15:21,320 >> -I think for me it's the students. 215 00:15:21,320 --> 00:15:22,765 >> -Interacting with the students. 216 00:15:22,765 --> 00:15:24,270 >> -Getting to know my students in section. 217 00:15:24,270 --> 00:15:28,140 >> -As long as the students are genuinely amused by my jokes. 218 00:15:28,140 --> 00:15:35,042 >> [LAUGHTER] 219 00:15:35,042 --> 00:15:38,590 >> -In one word. 220 00:15:38,590 --> 00:15:42,240 I don't know, I would have to say-- 221 00:15:42,240 --> 00:15:42,740 >> -All right. 222 00:15:42,740 --> 00:15:44,141 >> -The best. 223 00:15:44,141 --> 00:15:46,060 >> -The staff. 224 00:15:46,060 --> 00:15:47,040 >> -Is that what we said? 225 00:15:47,040 --> 00:15:48,930 >> -I forgot what we said. 226 00:15:48,930 --> 00:15:50,180 >> [INTERPOSING VOICES] 227 00:15:50,180 --> 00:15:52,460 228 00:15:52,460 --> 00:15:53,450 >> -What did you say? 229 00:15:53,450 --> 00:15:54,350 Are you serious? 230 00:15:54,350 --> 00:15:54,950 OK, that's what I thought. 231 00:15:54,950 --> 00:15:56,840 I thought you said David's hot bod. 232 00:15:56,840 --> 00:15:59,052 >> -It's incredible to be here. 233 00:15:59,052 --> 00:16:00,302 >> -Fun. 234 00:16:00,302 --> 00:16:03,812 235 00:16:03,812 --> 00:16:05,716 Something better than fun? 236 00:16:05,716 --> 00:16:06,668 One word? 237 00:16:06,668 --> 00:16:07,620 Epic. 238 00:16:07,620 --> 00:16:08,606 Crazy. 239 00:16:08,606 --> 00:16:11,580 You can edit this. 240 00:16:11,580 --> 00:16:13,070 >> -Exciting. 241 00:16:13,070 --> 00:16:14,090 >> -Sexy. 242 00:16:14,090 --> 00:16:14,735 >> -Sorry, what? 243 00:16:14,735 --> 00:16:15,480 >> -Marvelous. 244 00:16:15,480 --> 00:16:17,420 >> -Rewarding. 245 00:16:17,420 --> 00:16:18,770 I want to say rewarding. 246 00:16:18,770 --> 00:16:20,470 >> -Let me think of a better word. 247 00:16:20,470 --> 00:16:22,895 >> -Candy. 248 00:16:22,895 --> 00:16:24,205 >> -Computers. 249 00:16:24,205 --> 00:16:25,190 >> -Cats. 250 00:16:25,190 --> 00:16:27,482 >> -Milo. 251 00:16:27,482 --> 00:16:29,400 >> -How about world peace? 252 00:16:29,400 --> 00:16:32,530 253 00:16:32,530 --> 00:16:34,218 Hyphenated maybe? 254 00:16:34,218 --> 00:16:35,640 >> -I'm Allison from Adams House. 255 00:16:35,640 --> 00:16:38,200 >> -My name is Zuhela Ibrahim from Quincy House. 256 00:16:38,200 --> 00:16:39,220 >> -Ben D House. 257 00:16:39,220 --> 00:16:40,500 >> -I'm William from Adams House. 258 00:16:40,500 --> 00:16:44,060 >> -I'm Keenan from Dunster House, and this was CS50. 259 00:16:44,060 --> 00:16:45,080 >> -CS50, done. 260 00:16:45,080 --> 00:16:46,310 >> -And this was CS50. 261 00:16:46,310 --> 00:16:47,755 >> -This was CS50. 262 00:16:47,755 --> 00:16:56,028 263 00:16:56,028 --> 00:16:56,516 >> [END VIDEO PLAYBACK] 264 00:16:56,516 --> 00:17:04,349 >> [APPLAUSE] 265 00:17:04,349 --> 00:17:08,890 >> SPEAKER 1: So if we can make a graceful exit that way, 266 00:17:08,890 --> 00:17:10,380 we will forge ahead. 267 00:17:10,380 --> 00:17:14,119 But let me invite those of you out in the audience to consider joining this 268 00:17:14,119 --> 00:17:15,930 team at CS50.net/apply. 269 00:17:15,930 --> 00:17:19,630 In particular, now that none of you are less comfortable anymore and may 270 00:17:19,630 --> 00:17:22,060 very well be all the more comparable, we are looking for 271 00:17:22,060 --> 00:17:23,280 these and other roles. 272 00:17:23,280 --> 00:17:25,130 So please do take a look. 273 00:17:25,130 --> 00:17:26,640 >> And let me actually rewind a bit. 274 00:17:26,640 --> 00:17:30,680 We try not to single out too many individuals, but I'd like to read you 275 00:17:30,680 --> 00:17:36,910 a note from a student that I received on May 13, 2011. 276 00:17:36,910 --> 00:17:40,940 And he writes, I am Gabriel, a 17-year-old high school student from 277 00:17:40,940 --> 00:17:41,860 Victoria, Brazil. 278 00:17:41,860 --> 00:17:46,010 And I recently took the CS50 course online through CS50.tv. 279 00:17:46,010 --> 00:17:49,700 I really watched and read everything from the CS50 course, and I've done 280 00:17:49,700 --> 00:17:52,660 everything from the P-Sets, either hacker edition or not, but I did not 281 00:17:52,660 --> 00:17:54,050 do any final project. 282 00:17:54,050 --> 00:17:56,720 >> Now I have an idea for a final project, and that is 283 00:17:56,720 --> 00:17:58,210 why I'm writing you. 284 00:17:58,210 --> 00:18:01,040 Getting right to the point, I would like to make and teach my own 285 00:18:01,040 --> 00:18:03,690 adaptation of CS50 in my school. 286 00:18:03,690 --> 00:18:06,560 Unfortunately, most of the students in my school do not speak English, so I 287 00:18:06,560 --> 00:18:09,680 would have to translate everything and certainly adapt some of the parts to 288 00:18:09,680 --> 00:18:13,640 better fit the situation, a task which I would willingly do, and I could also 289 00:18:13,640 --> 00:18:15,770 do gladly if it is of interest. 290 00:18:15,770 --> 00:18:17,870 I am actually planning to publish everything on a 291 00:18:17,870 --> 00:18:20,190 CS50.net style website. 292 00:18:20,190 --> 00:18:23,660 >> And that there is that website in Brazil. 293 00:18:23,660 --> 00:18:28,060 Gabriel also has a tradition, it seems, of filming 294 00:18:28,060 --> 00:18:29,360 every one of his lectures. 295 00:18:29,360 --> 00:18:32,760 And so the first year he taught this class, he had some 50 classmates of 296 00:18:32,760 --> 00:18:35,780 his in high school taking CS50 with him. 297 00:18:35,780 --> 00:18:40,720 And then the next year, some 150 classmates of his taking CS50, or CC50 298 00:18:40,720 --> 00:18:43,880 as it's called there, with him, with his dad behind the camera filming 299 00:18:43,880 --> 00:18:45,620 absolutely everything that happened. 300 00:18:45,620 --> 00:18:50,140 And so what I thought we'd do is share a three-minute clip of CS50's 301 00:18:50,140 --> 00:18:55,120 Brazilian version here thanks to Gabriel. 302 00:18:55,120 --> 00:18:59,921 303 00:18:59,921 --> 00:19:00,420 >> [VIDEO PLAYBACK] 304 00:19:00,420 --> 00:19:01,670 >> [MUSIC - THE CALL, "WHEREVER YOU WILL GO"] 305 00:19:01,670 --> 00:21:49,510 306 00:21:49,510 --> 00:21:49,860 >> [END VIDEO PLAYBACK] 307 00:21:49,860 --> 00:21:51,460 >> SPEAKER 1: Some of you know him as Gabriel. 308 00:21:51,460 --> 00:21:52,770 Some of you know him as Gabe. 309 00:21:52,770 --> 00:21:57,360 And several of you know him as your Teaching Fellow, so thank you and 310 00:21:57,360 --> 00:22:00,782 congratulations to Gabe for what he has done here. 311 00:22:00,782 --> 00:22:14,040 >> [APPLAUSE] 312 00:22:14,040 --> 00:22:18,930 >> SPEAKER 1: So a look now ahead before we bring a few of you up on stage. 313 00:22:18,930 --> 00:22:23,210 So on the horizon, as you know, is the CS50 Hackathon. 314 00:22:23,210 --> 00:22:26,430 So as I mentioned a couple weeks ago, this is not an opportunity so much to 315 00:22:26,430 --> 00:22:29,830 start your final project, but to make progress on and or 316 00:22:29,830 --> 00:22:31,340 finish your final project. 317 00:22:31,340 --> 00:22:35,210 And do realize too, it's not designed to be some eight plus hours of office 318 00:22:35,210 --> 00:22:38,930 hours, but really an opportunity to be working independently or with your 319 00:22:38,930 --> 00:22:42,760 partner or partners if going that route alongside of classmates and 320 00:22:42,760 --> 00:22:46,800 staff, and generally leaning on each other as well as yourself, force 321 00:22:46,800 --> 00:22:50,390 powering through many challenges that you've set out for yourself. 322 00:22:50,390 --> 00:22:52,220 >> And I cannot emphasize this enough. 323 00:22:52,220 --> 00:22:54,710 If you haven't learned this lesson already from problem sets, it is 324 00:22:54,710 --> 00:22:58,920 absolutely a truth in software development that everything takes 325 00:22:58,920 --> 00:23:00,710 longer than you expect. 326 00:23:00,710 --> 00:23:03,520 So whatever you're thinking of setting aside over the next few 327 00:23:03,520 --> 00:23:05,380 weeks, double it. 328 00:23:05,380 --> 00:23:08,940 And from there, realize that even then you might not necessarily achieve your 329 00:23:08,940 --> 00:23:12,680 better or best aspirations, but certainly we look forward to some 330 00:23:12,680 --> 00:23:15,660 good, great, and ideally, best implementations. 331 00:23:15,660 --> 00:23:16,650 >> But this is what awaits. 332 00:23:16,650 --> 00:23:19,170 In just a few weeks' time, we literally will have 333 00:23:19,170 --> 00:23:20,670 some say CS50 shuttles. 334 00:23:20,670 --> 00:23:24,190 We will head over across the river to the so-called HBS Hives, which are 335 00:23:24,190 --> 00:23:29,020 above the Innovation Lab, where the CS50 Puzzle Day was held this year. 336 00:23:29,020 --> 00:23:32,200 You'll see a beautiful space on the inside, inside of which are a bunch of 337 00:23:32,200 --> 00:23:36,390 different rooms called Hives, all of which have collaborative work spaces, 338 00:23:36,390 --> 00:23:40,240 not unlike what you've seen at the Innovation Lab perhaps already. 339 00:23:40,240 --> 00:23:43,540 And there will be ample food and candy. 340 00:23:43,540 --> 00:23:46,280 There will be one such Hive with a bunch of consoles if you'd like to 341 00:23:46,280 --> 00:23:49,210 decompress at some point and play some games with classmates. 342 00:23:49,210 --> 00:23:52,560 But for the most part, you'll see images like this working on 343 00:23:52,560 --> 00:23:53,840 projects and this. 344 00:23:53,840 --> 00:23:56,900 >> But around 9:00 PM, we'll serve quite a bit of pizza. 345 00:23:56,900 --> 00:24:00,020 And army of Domino's fellows arrived last year to deliver it. 346 00:24:00,020 --> 00:24:01,940 Around 1:00 AM, we'll serve Chinese food. 347 00:24:01,940 --> 00:24:04,180 This year we'll provide plates. 348 00:24:04,180 --> 00:24:10,960 Here, then, at 5:00 AM, if still standing, you can go back home to 349 00:24:10,960 --> 00:24:14,060 sleep, or join us in a bunch of shuttles that will go down the road to 350 00:24:14,060 --> 00:24:17,680 Soldier's Field where a much bigger IHOP exists than the one in the 351 00:24:17,680 --> 00:24:21,220 Square, and we will serve up some pancakes for as long as you can 352 00:24:21,220 --> 00:24:22,560 sustain it. 353 00:24:22,560 --> 00:24:27,090 >> Thereafter, a few days after is the CS50 Fair, to which you're all invited 354 00:24:27,090 --> 00:24:29,740 as well as your friends and classmates. 355 00:24:29,740 --> 00:24:33,390 Each year, as I mentioned, some 2,000 plus folks from across campus attend 356 00:24:33,390 --> 00:24:34,060 this event. 357 00:24:34,060 --> 00:24:37,060 And it looks typically a little something like this, complete with 358 00:24:37,060 --> 00:24:40,900 CS50 stress balls and popcorn and candy. 359 00:24:40,900 --> 00:24:43,975 What's fun in looking through the photos is that this is what caught our 360 00:24:43,975 --> 00:24:46,150 eye with this photo. 361 00:24:46,150 --> 00:24:50,620 Followed by, if you pan up, that. 362 00:24:50,620 --> 00:24:52,890 But it turns out, it's not all that uncommon. 363 00:24:52,890 --> 00:24:58,060 Here's a couple of folks in sunglasses no less enjoying some CS50 candy. 364 00:24:58,060 --> 00:25:01,180 >> We're also joined, as we will be this year, by friends from industry. 365 00:25:01,180 --> 00:25:04,240 So if you're considering summertime opportunities or full-time jobs, our 366 00:25:04,240 --> 00:25:07,925 friends from Amazon and eBay, Facebook, Google, Microsoft, Cora, and 367 00:25:07,925 --> 00:25:11,660 others will be tabling at the event and there to chat you up. 368 00:25:11,660 --> 00:25:16,110 As well, there will be an opportunity to win some fabulous prizes. 369 00:25:16,110 --> 00:25:20,490 One of the ways we try to break the ice every year so that the 370 00:25:20,490 --> 00:25:24,170 conversations don't feel forced but are at least motivated either 371 00:25:24,170 --> 00:25:26,810 intrinsically or extrinsically is we have a bit of a raffle. 372 00:25:26,810 --> 00:25:29,970 >> So you'll receive a little printed card upon arrival that will ask you 373 00:25:29,970 --> 00:25:32,350 for your name and then has a whole bunch of place holders 374 00:25:32,350 --> 00:25:34,520 for Smiley face stickers. 375 00:25:34,520 --> 00:25:38,710 And for every classmate you or an attendee chats up, you'll receive a 376 00:25:38,710 --> 00:25:40,700 little sticker that will go on your raffle card. 377 00:25:40,700 --> 00:25:43,640 And the more stickers, the more opportunities to win such fabulous 378 00:25:43,640 --> 00:25:45,370 prizes as these here. 379 00:25:45,370 --> 00:25:49,100 So it's a fun little add on to what's otherwise an event 380 00:25:49,100 --> 00:25:51,200 entirely about you guys. 381 00:25:51,200 --> 00:25:57,320 And such images like this and this and this and this awaits you ultimately at 382 00:25:57,320 --> 00:25:58,750 the CS50 Fair. 383 00:25:58,750 --> 00:26:04,130 >> But it would not be the last lecture of CS50 without a bit of tradition. 384 00:26:04,130 --> 00:26:10,500 If we could have [? Zamalya ?] and RJ, and Rob come on up on stage here. 385 00:26:10,500 --> 00:26:12,330 Sit at this table here. 386 00:26:12,330 --> 00:26:18,390 And we now need, let's say, six volunteers from the audience to 387 00:26:18,390 --> 00:26:20,680 compete in a battle of wits. 388 00:26:20,680 --> 00:26:23,990 Let's do from each section here. 389 00:26:23,990 --> 00:26:25,080 How about-- 390 00:26:25,080 --> 00:26:25,690 come on up. 391 00:26:25,690 --> 00:26:26,500 One. 392 00:26:26,500 --> 00:26:28,870 How about two, right in the middle? 393 00:26:28,870 --> 00:26:31,160 How about three on the end here? 394 00:26:31,160 --> 00:26:32,650 Four? 395 00:26:32,650 --> 00:26:34,970 And I never go very back. 396 00:26:34,970 --> 00:26:39,290 Five in the back row there, sure. 397 00:26:39,290 --> 00:26:43,480 And six on the end here. 398 00:26:43,480 --> 00:26:46,120 Come on up, all right. 399 00:26:46,120 --> 00:26:49,980 >> So if you'd like to take your places as Team One, Team Two, and Team Three. 400 00:26:49,980 --> 00:26:52,465 All of you guys indirectly are participating. 401 00:26:52,465 --> 00:26:55,720 As you might recall, that as part of the last problem set, you submitted a 402 00:26:55,720 --> 00:26:58,020 whole bunch of quiz review questions. 403 00:26:58,020 --> 00:27:02,770 Not all of them, of course, ended up on the quiz itself for reasons that 404 00:27:02,770 --> 00:27:03,920 will soon be clear. 405 00:27:03,920 --> 00:27:08,300 But we thought we'd excerpt from some of those and have a bit of challenge 406 00:27:08,300 --> 00:27:12,530 of wits here for Team One, Team Two, and Team Three. 407 00:27:12,530 --> 00:27:15,320 If you guys would each like to say a quick hello while I queue 408 00:27:15,320 --> 00:27:18,180 up the board here. 409 00:27:18,180 --> 00:27:20,840 >> LAYLA: Hi, I'm Layla. 410 00:27:20,840 --> 00:27:22,192 >> MIKE: I'm Mike. 411 00:27:22,192 --> 00:27:23,340 >> TABITHA: Tabitha. 412 00:27:23,340 --> 00:27:27,620 >> MARIAM: Hi, I'm Mariam, I'm a freshman [? in Mauer. ?] 413 00:27:27,620 --> 00:27:30,270 >> KEIRAN: Hi, guys, I'm Keiran. 414 00:27:30,270 --> 00:27:30,960 >> BRIAN: Brian. 415 00:27:30,960 --> 00:27:32,210 Freshman in Pennypacker. 416 00:27:32,210 --> 00:27:34,840 417 00:27:34,840 --> 00:27:36,702 >> RJ: Hi, I'm RJ. 418 00:27:36,702 --> 00:27:39,692 >> ZAMYLA:Zamyla. 419 00:27:39,692 --> 00:27:41,915 >> ROB: Rob, I'm a freshman in Weld. 420 00:27:41,915 --> 00:27:44,880 421 00:27:44,880 --> 00:27:47,930 >> SPEAKER 1: And today we also have Colton who'll be helping us run the 422 00:27:47,930 --> 00:27:49,815 board, if you'd like to say hello as well. 423 00:27:49,815 --> 00:27:51,660 >> COLTON: What's up? 424 00:27:51,660 --> 00:27:56,940 >> SPEAKER 1: All right, so this is Jeopardy using the very questions that 425 00:27:56,940 --> 00:27:58,090 you all submitted. 426 00:27:58,090 --> 00:28:00,990 We might not have time to clear off the whole board, but we'll at least 427 00:28:00,990 --> 00:28:03,210 try to pluck off some of the highlights. 428 00:28:03,210 --> 00:28:10,610 In the toss of the coin that didn't actually happen, Team One won control 429 00:28:10,610 --> 00:28:11,350 of the board. 430 00:28:11,350 --> 00:28:14,320 So in just a moment, we're going to put this on the overhead 431 00:28:14,320 --> 00:28:16,440 for all to see here. 432 00:28:16,440 --> 00:28:19,930 >> And Team One, you're in control of category and dollar amount. 433 00:28:19,930 --> 00:28:24,690 The categories being Binary and ASCII, Compilers and Libraries, Code, 434 00:28:24,690 --> 00:28:25,940 Computers, and Rand. 435 00:28:25,940 --> 00:28:29,260 436 00:28:29,260 --> 00:28:31,650 Oh, and for buzzing in-- 437 00:28:31,650 --> 00:28:33,340 I've taken this for granted. 438 00:28:33,340 --> 00:28:36,530 For buzzing in, we haven't buzzers, but we do have your hand. 439 00:28:36,530 --> 00:28:41,360 So the first hand up as adjudicated by Colton and or myself and or grumblings 440 00:28:41,360 --> 00:28:45,810 from the audience will determine whose hand went up first. 441 00:28:45,810 --> 00:28:48,726 Team One, what category would you like? 442 00:28:48,726 --> 00:28:50,320 >> MIKE: Code 500. 443 00:28:50,320 --> 00:28:53,740 >> SPEAKER 1: Code for 500. 444 00:28:53,740 --> 00:29:00,460 >> [LAUGHTER] 445 00:29:00,460 --> 00:29:03,080 >> SPEAKER 1: So we're going to make up some of the rules as we go. 446 00:29:03,080 --> 00:29:05,525 So what dollar amount would you like to wager on code? 447 00:29:05,525 --> 00:29:08,330 448 00:29:08,330 --> 00:29:10,360 I know, so pick a number. 449 00:29:10,360 --> 00:29:11,748 Anything you want . 450 00:29:11,748 --> 00:29:19,350 451 00:29:19,350 --> 00:29:20,170 >> MIKE: 500. 452 00:29:20,170 --> 00:29:20,980 >> SPEAKER 1: For 500. 453 00:29:20,980 --> 00:29:25,220 Code for 500. 454 00:29:25,220 --> 00:29:27,210 How is C typed? 455 00:29:27,210 --> 00:29:28,690 Anyone whose hand goes up first. 456 00:29:28,690 --> 00:29:31,900 457 00:29:31,900 --> 00:29:33,940 From the people at these tables. 458 00:29:33,940 --> 00:29:35,310 I think I saw Team Three? 459 00:29:35,310 --> 00:29:36,560 >> ROB: Statically typed? 460 00:29:36,560 --> 00:29:41,511 461 00:29:41,511 --> 00:29:45,740 [LAUGHTER] 462 00:29:45,740 --> 00:29:48,962 >> SPEAKER 1: I'm sorry, minus 500 for the staff. 463 00:29:48,962 --> 00:29:51,730 464 00:29:51,730 --> 00:29:55,290 Moving on to the next category. 465 00:29:55,290 --> 00:29:56,760 Team One is still in control. 466 00:29:56,760 --> 00:30:00,780 467 00:30:00,780 --> 00:30:02,900 >> MIKE: Binay for 500. 468 00:30:02,900 --> 00:30:06,040 >> SPEAKER 1: Binary for 500. 469 00:30:06,040 --> 00:30:09,000 What is the answer-- 470 00:30:09,000 --> 00:30:11,260 Team Two, I'm told. 471 00:30:11,260 --> 00:30:13,803 >> MARIAM: What is 42? 472 00:30:13,803 --> 00:30:16,158 >> [GROANING] 473 00:30:16,158 --> 00:30:19,890 >> SPEAKER 1: I'm afraid now, would someone else like to do this? 474 00:30:19,890 --> 00:30:32,620 475 00:30:32,620 --> 00:30:33,750 Team One. 476 00:30:33,750 --> 00:30:36,160 >> MIKE: One zero one zero. 477 00:30:36,160 --> 00:30:39,708 >> SPEAKER 1: I heard one zero one zero, which is indeed correct. 478 00:30:39,708 --> 00:30:47,090 >> [APPLAUSE] 479 00:30:47,090 --> 00:30:49,960 >> SPEAKER 1: You're actually doing all the work. 480 00:30:49,960 --> 00:30:55,190 Team One is still in control and now has positive 500. 481 00:30:55,190 --> 00:30:56,796 >> ROB: Doesn't Team Two lose 500? 482 00:30:56,796 --> 00:30:57,190 >> SPEAKER 1: Sorry? 483 00:30:57,190 --> 00:30:58,616 >> ROB: Should Team Two lose 500? 484 00:30:58,616 --> 00:31:01,030 >> SPEAKER 1: Oh, should Team Two lose 500? 485 00:31:01,030 --> 00:31:02,700 Yes, if we're doing it that way. 486 00:31:02,700 --> 00:31:07,230 487 00:31:07,230 --> 00:31:09,550 You just lost the crowd though. 488 00:31:09,550 --> 00:31:10,800 Team One, you're in control. 489 00:31:10,800 --> 00:31:15,330 490 00:31:15,330 --> 00:31:15,570 >> MIKE: Random for 500. 491 00:31:15,570 --> 00:31:17,760 >> SPEAKER 1: Random for 500. 492 00:31:17,760 --> 00:31:20,561 And that question is, what does the fox say? 493 00:31:20,561 --> 00:31:23,450 494 00:31:23,450 --> 00:31:27,920 Serious questions submitted by one of your classmates. 495 00:31:27,920 --> 00:31:28,740 Team Two? 496 00:31:28,740 --> 00:31:29,990 >> BRIAN: Ding-ding-ding-ding-ding. 497 00:31:29,990 --> 00:31:35,570 498 00:31:35,570 --> 00:31:37,510 >> SPEAKER 1: I think we'll take that though. 499 00:31:37,510 --> 00:31:40,155 We'll take that. 500 00:31:40,155 --> 00:31:42,140 Team Two is in control. 501 00:31:42,140 --> 00:31:44,566 We have time for a few more single Jeopardy questions. 502 00:31:44,566 --> 00:31:47,920 503 00:31:47,920 --> 00:31:50,480 >> KEIRAN: We'll go with Computers for 100. 504 00:31:50,480 --> 00:31:54,340 >> SPEAKER 1: Computers for 100. 505 00:31:54,340 --> 00:31:59,200 >> [LAUGHTER] 506 00:31:59,200 --> 00:32:01,560 >> SPEAKER 1: Team Three. 507 00:32:01,560 --> 00:32:04,065 >> RJ: What is jkl semicolon? 508 00:32:04,065 --> 00:32:11,280 509 00:32:11,280 --> 00:32:16,420 >> SPEAKER 1: But only minus 100. 510 00:32:16,420 --> 00:32:19,410 Actual submissions from your classmates. 511 00:32:19,410 --> 00:32:20,783 Team Two, still in control. 512 00:32:20,783 --> 00:32:23,540 513 00:32:23,540 --> 00:32:25,640 >> BRIAN: Let's go Computers for 500. 514 00:32:25,640 --> 00:32:27,200 >> SPEAKER 1: Computers for 500. 515 00:32:27,200 --> 00:32:30,030 And that question is, merge sort. 516 00:32:30,030 --> 00:32:34,700 [LAUGHTER] 517 00:32:34,700 --> 00:32:36,360 I see Team Two. 518 00:32:36,360 --> 00:32:44,801 519 00:32:44,801 --> 00:32:48,470 >> BRIAN: What is an n-log n sorting algorithm? 520 00:32:48,470 --> 00:32:51,850 >> SPEAKER 1: Something tells me that's not going to be it. 521 00:32:51,850 --> 00:32:53,100 And the answer is-- 522 00:32:53,100 --> 00:32:56,720 523 00:32:56,720 --> 00:32:57,950 you want to give it to him? 524 00:32:57,950 --> 00:33:01,950 Positive 500. 525 00:33:01,950 --> 00:33:04,825 We have time for one more single Jeopardy question. 526 00:33:04,825 --> 00:33:07,605 527 00:33:07,605 --> 00:33:09,300 Team Two. 528 00:33:09,300 --> 00:33:13,820 >> BRIAN: Compilers and Libraries for 500. 529 00:33:13,820 --> 00:33:15,325 >> SPEAKER 1: What does #include mean? 530 00:33:15,325 --> 00:33:20,130 531 00:33:20,130 --> 00:33:21,506 Rob? 532 00:33:21,506 --> 00:33:25,500 >> ROB: You want the pre-processor to copy the contents of the dot-h file 533 00:33:25,500 --> 00:33:28,278 into the file? 534 00:33:28,278 --> 00:33:32,544 >> [AUDIENCE BOOS] 535 00:33:32,544 --> 00:33:35,550 >> SPEAKER 1: That's pretty good. 536 00:33:35,550 --> 00:33:37,610 500. 537 00:33:37,610 --> 00:33:42,035 So at the midway point, Team One is at positive 500. 538 00:33:42,035 --> 00:33:43,950 Team Two at positive 500. 539 00:33:43,950 --> 00:33:47,650 And Team Three somehow still at negative 100. 540 00:33:47,650 --> 00:33:50,556 So now we move on to Double Jeopardy. 541 00:33:50,556 --> 00:33:58,490 And with Double Jeopardy, the categories will now be Hash Tables, 542 00:33:58,490 --> 00:34:06,106 Programming, Internets, HTTP, HTML, and CSS, and Rand. 543 00:34:06,106 --> 00:34:09,000 544 00:34:09,000 --> 00:34:10,719 I think Team Two is in control. 545 00:34:10,719 --> 00:34:12,110 >> RJ: Why not us? 546 00:34:12,110 --> 00:34:13,860 They just won. 547 00:34:13,860 --> 00:34:15,840 They just got the last one. 548 00:34:15,840 --> 00:34:16,429 >> SPEAKER 1: Oh, Team One. 549 00:34:16,429 --> 00:34:17,679 You're Team Three. 550 00:34:17,679 --> 00:34:20,758 551 00:34:20,758 --> 00:34:22,420 >> ROB: Rand for 1,000. 552 00:34:22,420 --> 00:34:23,550 >> SPEAKER 1: Rand for 1,000. 553 00:34:23,550 --> 00:34:28,449 And that question is, what used to allow you to make free long distance 554 00:34:28,449 --> 00:34:29,699 phone calls? 555 00:34:29,699 --> 00:34:32,674 556 00:34:32,674 --> 00:34:35,830 Should have watched that lecture, shouldn't you? 557 00:34:35,830 --> 00:34:36,610 Team Two. 558 00:34:36,610 --> 00:34:41,656 >> MARIAM: The Captain Crunch whistle, if you blew it into the AT&T thing. 559 00:34:41,656 --> 00:34:43,135 >> SPEAKER 1: Very nicely done. 560 00:34:43,135 --> 00:34:47,580 561 00:34:47,580 --> 00:34:49,659 All right, Team Two is forging ahead. 562 00:34:49,659 --> 00:34:53,150 We have time for just a couple more questions in Double Jeopardy. 563 00:34:53,150 --> 00:34:55,389 Team Two. 564 00:34:55,389 --> 00:35:01,320 >> BRIAN: Let's go for Internets for 600. 565 00:35:01,320 --> 00:35:03,030 >> SPEAKER 1: What does 403 mean? 566 00:35:03,030 --> 00:35:06,355 567 00:35:06,355 --> 00:35:09,755 That was on the quiz. 568 00:35:09,755 --> 00:35:10,530 Team Three? 569 00:35:10,530 --> 00:35:13,130 Team Three. 570 00:35:13,130 --> 00:35:14,380 >> ROB: Forbidden? 571 00:35:14,380 --> 00:35:16,340 572 00:35:16,340 --> 00:35:19,180 What is forbidden? 573 00:35:19,180 --> 00:35:21,510 >> SPEAKER 1: Forbidden, correct. 574 00:35:21,510 --> 00:35:26,060 Team Three, you're in the positive zone now. 575 00:35:26,060 --> 00:35:27,310 What would you like? 576 00:35:27,310 --> 00:35:30,520 577 00:35:30,520 --> 00:35:34,160 >> ROB: Internets for 1,000. 578 00:35:34,160 --> 00:35:35,740 >> SPEAKER 1: Internets for 1,000. 579 00:35:35,740 --> 00:35:36,990 Clark's Third Law? 580 00:35:36,990 --> 00:35:48,700 581 00:35:48,700 --> 00:35:50,815 From the audience, Daniel? 582 00:35:50,815 --> 00:35:52,065 >> [INAUDIBLE] 583 00:35:52,065 --> 00:35:57,750 584 00:35:57,750 --> 00:35:59,930 >> SPEAKER 1: Would you like to reveal? 585 00:35:59,930 --> 00:36:06,250 Daniel for 1,000. 586 00:36:06,250 --> 00:36:11,440 We have time for one last question before we enter Final Jeopardy. 587 00:36:11,440 --> 00:36:13,070 What category would you like? 588 00:36:13,070 --> 00:36:17,010 589 00:36:17,010 --> 00:36:20,340 Hash Tables for 1,000, our last question. 590 00:36:20,340 --> 00:36:22,390 What must you remember to do after-- 591 00:36:22,390 --> 00:36:27,010 592 00:36:27,010 --> 00:36:29,240 Team Two. 593 00:36:29,240 --> 00:36:30,410 >> MARIAM: F close? 594 00:36:30,410 --> 00:36:31,660 No? 595 00:36:31,660 --> 00:36:34,770 596 00:36:34,770 --> 00:36:38,260 >> SPEAKER 1: Before we reveal, what would Team One's answer have been? 597 00:36:38,260 --> 00:36:39,630 >> MIKE: Checking if it's null? 598 00:36:39,630 --> 00:36:40,190 >> SPEAKER 1: Checking if it's null. 599 00:36:40,190 --> 00:36:42,751 And what would Team Three's answer have been? 600 00:36:42,751 --> 00:36:45,680 >> [INAUDIBLE] 601 00:36:45,680 --> 00:36:46,935 >> SPEAKER 1: Colton, what is the answer? 602 00:36:46,935 --> 00:36:51,110 603 00:36:51,110 --> 00:36:52,340 So Team One. 604 00:36:52,340 --> 00:36:56,010 So I guess we'll give it to both of you. 605 00:36:56,010 --> 00:37:05,010 1,000 to each team puts you at 2,500, 1,500, no? 606 00:37:05,010 --> 00:37:06,010 There we go. 607 00:37:06,010 --> 00:37:12,770 But Team One, I think, gets the null for 1,000. 608 00:37:12,770 --> 00:37:18,445 Students you can still lose this by making poor mathematical decisions. 609 00:37:18,445 --> 00:37:21,050 610 00:37:21,050 --> 00:37:23,030 >> We now enter Final Jeopardy. 611 00:37:23,030 --> 00:37:28,540 612 00:37:28,540 --> 00:37:31,270 Category is Computer Science. 613 00:37:31,270 --> 00:37:37,390 Team One you can wager up to one. 614 00:37:37,390 --> 00:37:39,060 That was a bug. 615 00:37:39,060 --> 00:37:40,574 What was it, 1,500? 616 00:37:40,574 --> 00:37:41,520 1,500. 617 00:37:41,520 --> 00:37:44,950 Team Two can wager up to 1,500. 618 00:37:44,950 --> 00:37:47,260 And Team Three can wager up to 600. 619 00:37:47,260 --> 00:37:50,690 >> Please write down your dollar amounts on your piece of paper while we play 620 00:37:50,690 --> 00:37:51,940 some background music. 621 00:37:51,940 --> 00:37:55,930 622 00:37:55,930 --> 00:37:57,180 Or as we reveal the question. 623 00:37:57,180 --> 00:38:10,310 624 00:38:10,310 --> 00:38:12,430 Have you made your wagers? 625 00:38:12,430 --> 00:38:16,610 626 00:38:16,610 --> 00:38:20,620 We only show wagers after answering. 627 00:38:20,620 --> 00:38:25,060 Write down your dollar amounts, nice and clearly. 628 00:38:25,060 --> 00:38:29,770 So the question is, what is CS50? 629 00:38:29,770 --> 00:38:31,320 Now we have some background music. 630 00:38:31,320 --> 00:39:06,550 631 00:39:06,550 --> 00:39:16,050 >> So Team One's answer there is, and you wagered 299, which are plus 100 632 00:39:16,050 --> 00:39:21,760 buttons cannot accommodate, but you wagered 299, and your answer 633 00:39:21,760 --> 00:39:25,150 was, this is CS50. 634 00:39:25,150 --> 00:39:30,010 Meanwhile, Team Two wagered 700. 635 00:39:30,010 --> 00:39:31,995 Their answer being a cult. 636 00:39:31,995 --> 00:39:41,930 637 00:39:41,930 --> 00:39:45,510 You want to go with this? 638 00:39:45,510 --> 00:39:48,140 So you wagered-- 639 00:39:48,140 --> 00:39:51,510 640 00:39:51,510 --> 00:39:54,110 They wagered this. 641 00:39:54,110 --> 00:39:58,420 And their answer was that CS50 is not this. 642 00:39:58,420 --> 00:40:01,410 But the official answer according to your classmate who submitted this 643 00:40:01,410 --> 00:40:02,380 question is-- 644 00:40:02,380 --> 00:40:03,368 >> [MUSIC PLAYING] 645 00:40:03,368 --> 00:40:10,284 >> [LAUGHTER] 646 00:40:10,284 --> 00:40:11,534 >> SPEAKER 1: This! 647 00:40:11,534 --> 00:40:13,750 648 00:40:13,750 --> 00:40:23,180 So that puts these guys at 899. 649 00:40:23,180 --> 00:40:25,080 You guys wagered all of your money. 650 00:40:25,080 --> 00:40:31,050 You guys wagered 700, but had what, 1500? 651 00:40:31,050 --> 00:40:32,830 Which is 800. 652 00:40:32,830 --> 00:40:36,880 So wow, you guys have one by the $99. 653 00:40:36,880 --> 00:40:37,520 Team One! 654 00:40:37,520 --> 00:40:38,770 A big congratulations. 655 00:40:38,770 --> 00:40:43,046 656 00:40:43,046 --> 00:40:43,890 Congrats. 657 00:40:43,890 --> 00:40:46,790 We've got one more thing to do. 658 00:40:46,790 --> 00:40:48,040 Congrats. 659 00:40:48,040 --> 00:40:50,750 660 00:40:50,750 --> 00:40:53,430 >> We have one last thing to do. 661 00:40:53,430 --> 00:40:58,260 There is indeed quite a bit that goes on behind the scenes, and 662 00:40:58,260 --> 00:41:02,350 unfortunately, all of it is captured on video, even though you might not 663 00:41:02,350 --> 00:41:04,670 see everything on CS50.net. 664 00:41:04,670 --> 00:41:10,200 And what our team's done to bring us home here today is to prepare a reel 665 00:41:10,200 --> 00:41:15,970 of outtakes, about three minutes' worth, of what CS50 really is behind 666 00:41:15,970 --> 00:41:17,210 the scenes. 667 00:41:17,210 --> 00:41:22,290 If we could dim the lights one last time here in Fall 2013. 668 00:41:22,290 --> 00:41:25,930 >> [VIDEO PLAYBACK] 669 00:41:25,930 --> 00:41:26,640 >> -Welcome back. 670 00:41:26,640 --> 00:41:29,610 This is the end of Week 5. 671 00:41:29,610 --> 00:41:33,580 So up until now-- 672 00:41:33,580 --> 00:41:34,830 restart. 673 00:41:34,830 --> 00:41:38,186 674 00:41:38,186 --> 00:41:47,150 >> [MUSIC PLAYING] 675 00:41:47,150 --> 00:41:48,860 >> -This is the beginning of the decline. 676 00:41:48,860 --> 00:41:49,480 >> -Ugh. 677 00:41:49,480 --> 00:41:53,040 >> -Virtual set of doors. 678 00:41:53,040 --> 00:41:55,844 We'll re-arrange these-- 679 00:41:55,844 --> 00:42:14,410 >> [MUSIC PLAYING] 680 00:42:14,410 --> 00:42:15,520 >> -Hi, I'm Rob. 681 00:42:15,520 --> 00:42:17,050 And let's get greedy. 682 00:42:17,050 --> 00:42:18,240 It's me, Rob. 683 00:42:18,240 --> 00:42:20,950 And when in Rome, let's program as the Romans do. 684 00:42:20,950 --> 00:42:23,090 Let's decipher the Visionaire program. 685 00:42:23,090 --> 00:42:25,310 I hope you're game for Game of 15. 686 00:42:25,310 --> 00:42:26,810 How do we employ a binary search? 687 00:42:26,810 --> 00:42:27,800 Let's find out. 688 00:42:27,800 --> 00:42:29,390 Wondering how to implement this game? 689 00:42:29,390 --> 00:42:31,510 Well, let's break out the staff solution. 690 00:42:31,510 --> 00:42:35,400 Let's hope that this solution helps put you on the road to recovery. 691 00:42:35,400 --> 00:42:39,790 And I hope you're ready to pick up what I'm dropping off, or 692 00:42:39,790 --> 00:42:41,370 putting down, or-- 693 00:42:41,370 --> 00:42:45,690 694 00:42:45,690 --> 00:42:47,490 Oh, shoot, good call. 695 00:42:47,490 --> 00:42:48,800 Boom. 696 00:42:48,800 --> 00:42:51,750 >> -Are stocks de-shelved by the seashore? 697 00:42:51,750 --> 00:42:53,000 >> [INAUDIBLE] 698 00:42:53,000 --> 00:42:55,516 699 00:42:55,516 --> 00:42:58,020 >> -For those of you who can't see the embarrassing mistake I just made, 700 00:42:58,020 --> 00:42:58,750 there it is. 701 00:42:58,750 --> 00:42:59,440 >> -Attribute. 702 00:42:59,440 --> 00:43:00,830 Attributes. 703 00:43:00,830 --> 00:43:01,640 Attribute. 704 00:43:01,640 --> 00:43:03,032 At. 705 00:43:03,032 --> 00:43:03,960 >> -What's going on? 706 00:43:03,960 --> 00:43:04,690 What's happening to me? 707 00:43:04,690 --> 00:43:06,430 >> -Sorry, I'm a little loopy. 708 00:43:06,430 --> 00:43:07,910 >> -I can't see your thumb. 709 00:43:07,910 --> 00:43:09,770 Yes! 710 00:43:09,770 --> 00:43:11,170 >> [BEEP] 711 00:43:11,170 --> 00:43:11,510 >> -Sorry. 712 00:43:11,510 --> 00:43:13,940 There's a camera. 713 00:43:13,940 --> 00:43:15,190 >> [INAUDIBLE] 714 00:43:15,190 --> 00:43:17,840 715 00:43:17,840 --> 00:43:19,688 >> -Things you do for this class. 716 00:43:19,688 --> 00:43:22,652 717 00:43:22,652 --> 00:43:24,630 That's all. 718 00:43:24,630 --> 00:43:25,780 Programming is hard. 719 00:43:25,780 --> 00:43:29,200 >> -This is CS50. 720 00:43:29,200 --> 00:43:30,923 >> -Winner. 721 00:43:30,923 --> 00:43:44,250 [MUSIC PLAYING] 722 00:43:44,250 --> 00:43:46,370 >> -Things called Hash Tables and Linked Lists. 723 00:43:46,370 --> 00:43:50,450 Trees and Tries, all tools for one's tool kit with which to solve problems 724 00:43:50,450 --> 00:43:52,080 more effectively. 725 00:43:52,080 --> 00:43:53,031 We'll take-- 726 00:43:53,031 --> 00:43:59,630 [LAUGHTER] 727 00:43:59,630 --> 00:44:01,080 We have to use that. 728 00:44:01,080 --> 00:44:03,980 729 00:44:03,980 --> 00:44:07,270 [LAUGHTER] 730 00:44:07,270 --> 00:44:10,430 How did we not see that coming? 731 00:44:10,430 --> 00:44:11,860 We need outtakes now. 732 00:44:11,860 --> 00:44:12,880 >> [END VIDEO PLAYBACK] 733 00:44:12,880 --> 00:44:14,850 >> SPEAKER 1: This was CS50. 734 00:44:14,850 --> 00:44:16,920 Cake is now served downstairs. 735 00:44:16,920 --> 00:44:20,890 [APPLAUSE] 736 00:44:20,890 --> 00:44:24,740 >> SPEAKER 2: At the next CS50, the Hackathon doesn't go as planned. 737 00:44:24,740 --> 00:44:33,643