1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:02,994 [MUSIC PLAYING] 3 00:00:02,994 --> 00:00:11,477 4 00:00:11,477 --> 00:00:13,972 >> [MUSIC ARMIN VAN BUUREN, "THIS IS WHAT IT FEELS LIKE"] 5 00:00:13,972 --> 00:01:25,828 6 00:01:25,828 --> 00:01:28,323 >> [MUSIC - M4SONIC, "WEAPON 2.0"] 7 00:01:28,323 --> 00:02:27,704 8 00:02:27,704 --> 00:02:28,790 >> [CLAPPING] 9 00:02:28,790 --> 00:02:30,286 >> STEVE BALLMER: Woo! 10 00:02:30,286 --> 00:02:32,716 This is CS50. 11 00:02:32,716 --> 00:02:37,090 12 00:02:37,090 --> 00:02:39,034 >> [APPLAUSE] 13 00:02:39,034 --> 00:02:43,894 14 00:02:43,894 --> 00:02:46,150 >> DAVID MALAN: This is CS50. 15 00:02:46,150 --> 00:02:51,200 And this is the start, and end, of Week 12 for the very last time. 16 00:02:51,200 --> 00:02:53,299 You'll recall from Week 0 that we promised 17 00:02:53,299 --> 00:02:55,340 this, that what ultimately matters in this course 18 00:02:55,340 --> 00:02:57,839 is not so much where you end up relative to your classmates, 19 00:02:57,839 --> 00:03:02,060 but where you, in Week 12, end up relative to yourself in Week 0. 20 00:03:02,060 --> 00:03:04,450 >> Well, we are here now in Week 12, and you 21 00:03:04,450 --> 00:03:08,420 might look back fondly, or remarkadly, at just how far you've 22 00:03:08,420 --> 00:03:13,180 come when this was the worst of your problems, some weeks ago. 23 00:03:13,180 --> 00:03:15,470 But consider how far you've come since then. 24 00:03:15,470 --> 00:03:19,580 Particularly, if among those with no prior experience, just weeks later, 25 00:03:19,580 --> 00:03:21,700 were you implementing a fairly sophisticated data 26 00:03:21,700 --> 00:03:25,380 structure like this hash table here, or even this TRI here. 27 00:03:25,380 --> 00:03:28,020 >> Just a few weeks later, and just a week ago, 28 00:03:28,020 --> 00:03:32,280 were you implementing this, a mash-up of multiple APIs uisng asynchronus 29 00:03:32,280 --> 00:03:36,700 JavaScript calls and HTTP requests behind the scene. 30 00:03:36,700 --> 00:03:41,510 Ultimately, creating an entire web app from something 31 00:03:41,510 --> 00:03:43,860 that began with just a few hash marks. 32 00:03:43,860 --> 00:03:47,702 Now, indeed you might recall that 78% of you had no prior experience, 33 00:03:47,702 --> 00:03:49,410 and we proposed that you might be feeling 34 00:03:49,410 --> 00:03:52,280 a little lonely at the beginning, but realize 35 00:03:52,280 --> 00:03:57,650 that you are now very much among friends and supporters here. 36 00:03:57,650 --> 00:04:00,370 >> Now, it's a tradition in CS50 to not only start the semester, 37 00:04:00,370 --> 00:04:03,190 but also end the semester with a bit of cake. 38 00:04:03,190 --> 00:04:06,620 Indeed the team has been downstairs cutting it up, and sampling the cake, 39 00:04:06,620 --> 00:04:08,610 but that awaits in just a little bit of time. 40 00:04:08,610 --> 00:04:12,720 But I thought I'd pick up where we left off and get some closure today. 41 00:04:12,720 --> 00:04:17,149 >> You may recall this here website, I thought the only good thing I could do 42 00:04:17,149 --> 00:04:21,950 is write these kind folks upon having endorsed them so in class just a couple 43 00:04:21,950 --> 00:04:22,670 of weeks ago. 44 00:04:22,670 --> 00:04:25,660 And I will say to their credit, I got back this reply 45 00:04:25,660 --> 00:04:27,690 from ediblearrangments.com. 46 00:04:27,690 --> 00:04:28,810 Good morning, Mr. Malan. 47 00:04:28,810 --> 00:04:32,360 We have inquired with our IT department regarding your concern. 48 00:04:32,360 --> 00:04:36,620 They advise that as of next week, there will be a website patch applied. 49 00:04:36,620 --> 00:04:38,581 We appreciate the feedback. 50 00:04:38,581 --> 00:04:39,080 And indeed-- 51 00:04:39,080 --> 00:04:40,784 >> [APPLAUSE] 52 00:04:40,784 --> 00:04:43,900 53 00:04:43,900 --> 00:04:46,400 DAVID MALAN: And indeed if you go to editablearrangments.com 54 00:04:46,400 --> 00:04:51,423 now, click login, you are indeed sent to the HTTPS version of the site. 55 00:04:51,423 --> 00:04:53,355 >> [APPLAUSE] 56 00:04:53,355 --> 00:04:54,810 57 00:04:54,810 --> 00:04:59,980 >> So there you have it, CS50 here making a difference, one website at a time. 58 00:04:59,980 --> 00:05:03,017 So now, the final project is, of course, all that awaits now. 59 00:05:03,017 --> 00:05:05,100 And realize that there's any number of ingredients 60 00:05:05,100 --> 00:05:07,900 that you can weave into this project of yours. 61 00:05:07,900 --> 00:05:11,060 >> Indeed what many students do, if tackling a web based final project, 62 00:05:11,060 --> 00:05:14,030 will take p set 7's distribution code, CS50 Finance, 63 00:05:14,030 --> 00:05:15,780 and then will rip out parts of it that are 64 00:05:15,780 --> 00:05:17,840 of interest, or germane to their final project, 65 00:05:17,840 --> 00:05:21,420 like the look up function, which is surely very specific to Yahoo Finance. 66 00:05:21,420 --> 00:05:24,749 And they'll add in their own code, and build atop the login mechanism 67 00:05:24,749 --> 00:05:25,790 that we provide you with. 68 00:05:25,790 --> 00:05:28,430 And so that is absolutely a great place to get started. 69 00:05:28,430 --> 00:05:30,790 >> Especially if over break, and shortly thereafter, you're 70 00:05:30,790 --> 00:05:34,110 just not really sure where to begin to create something that hasn't already 71 00:05:34,110 --> 00:05:36,210 been handed to you at least in part. 72 00:05:36,210 --> 00:05:38,600 p set 8.2, if you want to do something with AJAX, 73 00:05:38,600 --> 00:05:42,010 or you want to write a script that imports a really big data set 74 00:05:42,010 --> 00:05:45,230 into a database, use p set 8 as a model in which 75 00:05:45,230 --> 00:05:48,970 you can build your own code, ultimately. 76 00:05:48,970 --> 00:05:52,210 But realize, too, that there's even fancier ways to get started. 77 00:05:52,210 --> 00:05:55,700 >> A very popular framework, that we're fans of, is called Laravel. 78 00:05:55,700 --> 00:05:57,960 This is a PHP framework that essentially adds 79 00:05:57,960 --> 00:06:00,050 to PHP a number of features that are already 80 00:06:00,050 --> 00:06:02,780 commonplace in the world of Ruby and Python, 81 00:06:02,780 --> 00:06:05,450 other programming languages that have built into them, 82 00:06:05,450 --> 00:06:07,880 or on top of them, additional frameworks. 83 00:06:07,880 --> 00:06:11,070 And so Laravel will take p set 7's framework, essentially, 84 00:06:11,070 --> 00:06:14,650 and give you a whole lot more tools for your tool kit. 85 00:06:14,650 --> 00:06:17,630 So if curious, and if you'd like to not only apply lessons learned, 86 00:06:17,630 --> 00:06:19,940 but tackle some new lessons for your final project, 87 00:06:19,940 --> 00:06:23,610 check out this and similar types of frameworks online. 88 00:06:23,610 --> 00:06:25,102 >> How about hosting your website? 89 00:06:25,102 --> 00:06:28,060 You can certainly put your final project, if doing something web based, 90 00:06:28,060 --> 00:06:30,110 on your CS50 appliance, and most students do. 91 00:06:30,110 --> 00:06:33,040 But if you'd like to actually take the worldwide web out for a spin 92 00:06:33,040 --> 00:06:35,799 and put your code out there, realize that it's 93 00:06:35,799 --> 00:06:38,840 pretty straightforward these days to buy a domain name for a few dollars, 94 00:06:38,840 --> 00:06:42,650 to set up your domain name's DNS settings for the IP address stuff. 95 00:06:42,650 --> 00:06:45,120 And then actually push your code to some remote server 96 00:06:45,120 --> 00:06:47,460 so that someone can visit you at something.com, 97 00:06:47,460 --> 00:06:50,090 or whatever domain name you happen to buy. 98 00:06:50,090 --> 00:06:52,240 >> Stay tuned to CS50's home page in the days to come, 99 00:06:52,240 --> 00:06:54,980 where we'll post some instructions for doing exactly that. 100 00:06:54,980 --> 00:06:57,069 If you'd like to follow some guidance, or if you'd 101 00:06:57,069 --> 00:06:58,860 like to venture out on your own, there's so 102 00:06:58,860 --> 00:07:01,000 many popular frameworks and systems out there. 103 00:07:01,000 --> 00:07:04,850 Many of which are free, or super cheap, or at least free for students. 104 00:07:04,850 --> 00:07:07,090 AWS, or Amazon Web Services, is one. 105 00:07:07,090 --> 00:07:11,410 In fact, that's where CS50 runs most of its own servers in the so-called cloud, 106 00:07:11,410 --> 00:07:14,770 using virtual machines, servers that aren't really physical. 107 00:07:14,770 --> 00:07:17,510 >> They're the illusion of physical servers, but that we, and you, 108 00:07:17,510 --> 00:07:19,210 could have complete control over. 109 00:07:19,210 --> 00:07:21,880 And we just had a seminar, in fact, a couple weeks ago on that. 110 00:07:21,880 --> 00:07:25,530 Parse.com is a super popular back-end tool 111 00:07:25,530 --> 00:07:27,520 that you can use to actually host a database. 112 00:07:27,520 --> 00:07:30,790 If you don't want to figure out, or stand up your own MySQL database, 113 00:07:30,790 --> 00:07:32,962 there's this and other related services that 114 00:07:32,962 --> 00:07:35,170 let you focus on the part of your app that you really 115 00:07:35,170 --> 00:07:37,150 like, the front-end or the user interface, 116 00:07:37,150 --> 00:07:40,730 or the features, and then outsource to someone else, often for free. 117 00:07:40,730 --> 00:07:44,450 Certainly for student scale prototypes, any back-end services 118 00:07:44,450 --> 00:07:47,560 like email or databases that you might need. 119 00:07:47,560 --> 00:07:51,210 >> Now, for authentication, a super common FAQ in CS50 120 00:07:51,210 --> 00:07:52,850 is, how do you authenticate users? 121 00:07:52,850 --> 00:07:54,760 Not with their own user names and passwords, 122 00:07:54,760 --> 00:07:56,620 but with like Harvard IDs and PINS. 123 00:07:56,620 --> 00:07:59,170 Well, realize CS50 has a service called CS50 124 00:07:59,170 --> 00:08:02,220 ID, via which you can do exactly that. 125 00:08:02,220 --> 00:08:05,220 And then those of you tackling, say, mobile projects, where you're 126 00:08:05,220 --> 00:08:09,440 kind of conflicted if you want to do an iPhone app, a Windows Phone 127 00:08:09,440 --> 00:08:12,880 app, an Android app, or any number of other devices out there, 128 00:08:12,880 --> 00:08:14,840 realize that there are actually tools that 129 00:08:14,840 --> 00:08:17,830 allow you to write your app, in typically JavaScript, 130 00:08:17,830 --> 00:08:19,050 or some similar language. 131 00:08:19,050 --> 00:08:22,850 And then deploy it to multiple platforms like iOS and Android 132 00:08:22,850 --> 00:08:25,560 and the like, phonegap being one, Titanium another. 133 00:08:25,560 --> 00:08:27,467 >> So if you're sort of conflicted, and realize 134 00:08:27,467 --> 00:08:29,550 that there's a bit of a learning curve to learning 135 00:08:29,550 --> 00:08:31,700 just one of these languages, realize you can 136 00:08:31,700 --> 00:08:35,080 take your own new found familiarity with JavaScript out for a spin, 137 00:08:35,080 --> 00:08:36,070 and apply it there. 138 00:08:36,070 --> 00:08:39,309 And there's so much more that you can find on your own, 139 00:08:39,309 --> 00:08:41,460 or by consulting your TFs. 140 00:08:41,460 --> 00:08:43,059 Now, what about life after CS50? 141 00:08:43,059 --> 00:08:44,980 Just so that this is said, at least once, 142 00:08:44,980 --> 00:08:48,080 you're not going to be handed problem set specifications and distribution 143 00:08:48,080 --> 00:08:51,700 code in perpetuity, but realize that you don't need the CS50 144 00:08:51,700 --> 00:08:54,070 appliance to continue coding on Mac OS. 145 00:08:54,070 --> 00:08:56,690 >> It's a wonderful, useful environment in that 146 00:08:56,690 --> 00:08:59,860 it's pre-configured to be representative of a nice Linux system. 147 00:08:59,860 --> 00:09:03,050 But you can certainly use any number of freely available tools 148 00:09:03,050 --> 00:09:07,030 these days to write code on your own Mac without the overhead of an appliance, 149 00:09:07,030 --> 00:09:10,770 or on your own Windows computer, or if you're running Linux, a number of tools 150 00:09:10,770 --> 00:09:12,714 exist there as well. 151 00:09:12,714 --> 00:09:14,630 So that's just a whirlwind tour that you might 152 00:09:14,630 --> 00:09:16,490 want to curl up with at some point. 153 00:09:16,490 --> 00:09:19,060 But for now, let's take a look ahead and what remains. 154 00:09:19,060 --> 00:09:22,830 >> In particular among the course's historical events 155 00:09:22,830 --> 00:09:24,280 is the CS50 hackathon. 156 00:09:24,280 --> 00:09:27,290 An epic all nighter, at which you'll arrive around 7:00 PM, 157 00:09:27,290 --> 00:09:30,260 set up shop with your laptop, and project, and friends. 158 00:09:30,260 --> 00:09:32,910 And dive into final projects in an environment 159 00:09:32,910 --> 00:09:35,050 that looks a little like this upon arrival. 160 00:09:35,050 --> 00:09:38,000 You'll check in here, you'll then get down to work, 161 00:09:38,000 --> 00:09:39,510 you'll help out a classmate. 162 00:09:39,510 --> 00:09:44,680 >> You'll indulge in first dinner around 9:00 PM, second dinner around 1:00 AM. 163 00:09:44,680 --> 00:09:47,570 And then for those still standing at the end of the night, 164 00:09:47,570 --> 00:09:49,004 we'll take you to IHOP. 165 00:09:49,004 --> 00:09:50,920 But along the way there will be a photo booth, 166 00:09:50,920 --> 00:09:56,280 not like this, and indeed actual CS50 shuttles on our way to IHOP. 167 00:09:56,280 --> 00:09:58,680 >> Now, the CS50 fair, for students in the class, 168 00:09:58,680 --> 00:10:02,050 this is your opportunity to exhibit proudly your final projects. 169 00:10:02,050 --> 00:10:05,770 Not only to others, but typically 2,000 plus attendees from across campus, 170 00:10:05,770 --> 00:10:09,380 students, faculty, folks who see the balloons along Oxford Street 171 00:10:09,380 --> 00:10:10,270 and come on in. 172 00:10:10,270 --> 00:10:13,690 So realize that what awaits there are glimpses of maybe each other's projects 173 00:10:13,690 --> 00:10:15,320 here, where you'll bring your laptop. 174 00:10:15,320 --> 00:10:19,100 We'll set up tall tables on which you put your laptop, hop on the Wi-Fi, 175 00:10:19,100 --> 00:10:21,300 and demo your projects to passers by. 176 00:10:21,300 --> 00:10:24,090 >> Meanwhile, there will be music, and popcorn, and candy, and more. 177 00:10:24,090 --> 00:10:26,760 So that you'll have ample opportunities to mingle. 178 00:10:26,760 --> 00:10:28,600 We'll have friends of ours from industry, 179 00:10:28,600 --> 00:10:30,600 recruiters from any number of these companies 180 00:10:30,600 --> 00:10:33,530 here there just to chat up students about life after college, 181 00:10:33,530 --> 00:10:35,990 or internships during college, and the like. 182 00:10:35,990 --> 00:10:38,660 You'll see, too, that there's a raffle to incentivize not only 183 00:10:38,660 --> 00:10:40,661 you to strike up these chats with friends, 184 00:10:40,661 --> 00:10:42,660 but also to invite your own friends, or convince 185 00:10:42,660 --> 00:10:44,570 your own friends to come see your project. 186 00:10:44,570 --> 00:10:48,060 >> You can sweeten the deal by these little cards that will be handed out. 187 00:10:48,060 --> 00:10:51,461 Each of them will have placeholders for little Smiley face stickers. 188 00:10:51,461 --> 00:10:53,960 You guys as the students will be given Smiley face stickers. 189 00:10:53,960 --> 00:10:57,334 And for anyone who ventures up to you and says, hey, what did you do? 190 00:10:57,334 --> 00:11:00,000 Or asks you for a demo of your project, you hand them a sticker. 191 00:11:00,000 --> 00:11:01,083 They put it on their card. 192 00:11:01,083 --> 00:11:03,910 And that qualifies them for any number of fabulous prizes, 193 00:11:03,910 --> 00:11:06,320 including those pictured here, which are then 194 00:11:06,320 --> 00:11:08,010 raffled off at the end of the event. 195 00:11:08,010 --> 00:11:11,940 196 00:11:11,940 --> 00:11:14,680 That's it for CS50. 197 00:11:14,680 --> 00:11:19,200 And along the way, there will be ample popcorn, and stress balls, and candy, 198 00:11:19,200 --> 00:11:21,620 and even last year the Harvard band, who was not 199 00:11:21,620 --> 00:11:23,520 expected, but was in attendance. 200 00:11:23,520 --> 00:11:27,590 >> There will be a photo booth there as well, and massive numbers of balloons 201 00:11:27,590 --> 00:11:28,480 like these ones here. 202 00:11:28,480 --> 00:11:30,980 So many so, that invariably the staff try 203 00:11:30,980 --> 00:11:34,210 to pull this trick at the end of the night, never quite works. 204 00:11:34,210 --> 00:11:36,950 But for you, if you'd like to invite your friends to this event-- 205 00:11:36,950 --> 00:11:40,360 >> SAM CLARK: Now, as we come over to the next stop on the tour. 206 00:11:40,360 --> 00:11:41,595 You'll notice a distinct-- 207 00:11:41,595 --> 00:11:43,850 >> [LAUGHTER] 208 00:11:43,850 --> 00:11:46,730 209 00:11:46,730 --> 00:11:47,955 >> File on in. 210 00:11:47,955 --> 00:11:53,390 You'll notice a distinct departure from the Gothic architecture 211 00:11:53,390 --> 00:11:56,410 that we saw on the rest of the tour of Yale's campus. 212 00:11:56,410 --> 00:11:58,280 Now, here we are at Sanders Theater. 213 00:11:58,280 --> 00:12:04,650 Sanders Theater is really a cultural and academic hub here at Harvard. 214 00:12:04,650 --> 00:12:07,540 Commencement was held here until 1922. 215 00:12:07,540 --> 00:12:12,230 It's modeled after the Sheldonian Theater in Oxford, England, 216 00:12:12,230 --> 00:12:13,950 as a matter of fact. 217 00:12:13,950 --> 00:12:17,100 And it serves as a location for many cultural events, 218 00:12:17,100 --> 00:12:18,900 and big academic events here. 219 00:12:18,900 --> 00:12:21,870 >> Many A cappella groups perform in Sanders, 220 00:12:21,870 --> 00:12:24,380 the Crocodillos perform here frequently, they're 221 00:12:24,380 --> 00:12:28,800 sort of like the Wippenpoofs 2.0, almost. 222 00:12:28,800 --> 00:12:35,020 As well as the largest class actually at Harvard, CS50, is taught here. 223 00:12:35,020 --> 00:12:37,460 Who on the tour is interested in computer science? 224 00:12:37,460 --> 00:12:38,950 Anyone interested? 225 00:12:38,950 --> 00:12:39,660 Terrific. 226 00:12:39,660 --> 00:12:42,590 Well, if you happen to matriculate at Yale, 227 00:12:42,590 --> 00:12:46,410 you'll really, really want to be taking CS50. 228 00:12:46,410 --> 00:12:47,829 >> [LAUGHTER] 229 00:12:47,829 --> 00:12:49,721 >> [APPLAUSE] 230 00:12:49,721 --> 00:12:54,451 231 00:12:54,451 --> 00:12:58,420 >> You won't actually be able to take it physically within Sanders Theater, 232 00:12:58,420 --> 00:13:03,260 however, CS50 will be live streamed over to you in New Haven. 233 00:13:03,260 --> 00:13:08,520 As well as you'll have an entire support staff, support network of staff 234 00:13:08,520 --> 00:13:12,070 there to take CS50, to learn all about computer science. 235 00:13:12,070 --> 00:13:13,660 So this is Sanders Theater. 236 00:13:13,660 --> 00:13:16,580 It's not Gothic, but it's great. 237 00:13:16,580 --> 00:13:19,924 Does anyone have any questions before we move on to the next stop? 238 00:13:19,924 --> 00:13:22,359 Yeah. 239 00:13:22,359 --> 00:13:23,820 >> AUDIENCE: Is that David Malan? 240 00:13:23,820 --> 00:13:25,768 >> [LAUGHTER] 241 00:13:25,768 --> 00:13:27,390 >> SAM CLARK: Oh, my God it is! 242 00:13:27,390 --> 00:13:28,270 Let's take a selfie. 243 00:13:28,270 --> 00:13:28,770 Selfie! 244 00:13:28,770 --> 00:13:30,530 Take a selfie! 245 00:13:30,530 --> 00:13:31,919 Right here, right here. 246 00:13:31,919 --> 00:13:32,960 Here, someone hold it up. 247 00:13:32,960 --> 00:13:35,210 Someone hold it up. 248 00:13:35,210 --> 00:13:36,615 How are you, David? 249 00:13:36,615 --> 00:13:37,836 >> DAVID MALAN: Hello, DA 250 00:13:37,836 --> 00:13:38,940 >> SAM CLARK: I'm doing well. 251 00:13:38,940 --> 00:13:39,960 I got to flip it around. 252 00:13:39,960 --> 00:13:43,990 253 00:13:43,990 --> 00:13:46,070 And duck face, David. 254 00:13:46,070 --> 00:13:47,048 >> [LAUGHTER] 255 00:13:47,048 --> 00:13:50,460 >> Yeah, he likes that. 256 00:13:50,460 --> 00:13:50,960 Terrific. 257 00:13:50,960 --> 00:13:51,622 Terrific. 258 00:13:51,622 --> 00:13:53,163 Well, we'll move on to the next stop. 259 00:13:53,163 --> 00:13:56,480 Our next stop is the Harvard stadium, where 260 00:13:56,480 --> 00:13:59,374 we've had great luck in the last 13 years. 261 00:13:59,374 --> 00:14:00,342 >> [LAUGHTER] 262 00:14:00,342 --> 00:14:01,794 >> [APPLAUSE] 263 00:14:01,794 --> 00:14:10,520 264 00:14:10,520 --> 00:14:12,640 >> DAVID MALAN: So the rumors are indeed true. 265 00:14:12,640 --> 00:14:15,460 For the first time in history, students at Harvard and Yale 266 00:14:15,460 --> 00:14:20,620 alike will be able to take a course called CS50 this coming Fall in 2015. 267 00:14:20,620 --> 00:14:24,380 We will put asie the rivalry for nearly 100 years, 268 00:14:24,380 --> 00:14:37,075 and ultimately, in Fall 2015, actual Yale students 269 00:14:37,075 --> 00:14:39,760 will be able to take CS50 for the first time. 270 00:14:39,760 --> 00:14:42,650 The lectures will indeed be streamed from here, 271 00:14:42,650 --> 00:14:45,800 your successors in this audience, to New Haven, where students 272 00:14:45,800 --> 00:14:48,470 will be able to engage in person, or as some of you 273 00:14:48,470 --> 00:14:51,790 have so optimized, online live, or on demand after. 274 00:14:51,790 --> 00:14:54,110 >> But we will be standing up a local support 275 00:14:54,110 --> 00:14:55,860 structure, complete with teaching fellows, 276 00:14:55,860 --> 00:14:58,940 course assistants will be leading sections, and office hours. 277 00:14:58,940 --> 00:15:00,970 CS50 Puzzle Day will be held in Cambridge, 278 00:15:00,970 --> 00:15:03,620 and we will invite our Yale friends to Cambridge 279 00:15:03,620 --> 00:15:06,830 for CS50 Puzzle Day, as well as the CS50 hackathon. 280 00:15:06,830 --> 00:15:10,340 And then at semester's end, there will be an epic display in both Cambridge 281 00:15:10,340 --> 00:15:14,390 and in New Haven of CS50 students from Harvard, 282 00:15:14,390 --> 00:15:18,200 and Yale alike on display in those respective towns. 283 00:15:18,200 --> 00:15:21,000 >> And indeed if you have any friends who go to Yale, 284 00:15:21,000 --> 00:15:25,440 we do need some TFs and CSs so do send them to this URL here. 285 00:15:25,440 --> 00:15:29,850 But we will in the meantime, be sending one of CS50's own best teaching 286 00:15:29,850 --> 00:15:33,370 fellows, Jason Hirschhorn, who's about to graduate, having just finished 287 00:15:33,370 --> 00:15:36,490 his thesis on the intersection of computer science and education. 288 00:15:36,490 --> 00:15:39,920 Jason will be working full time at Yale, and will be on the ground there 289 00:15:39,920 --> 00:15:44,180 helping us to stand this up and bring these two universities together 290 00:15:44,180 --> 00:15:45,154 via CS50. 291 00:15:45,154 --> 00:15:47,589 >> [APPLAUSE] 292 00:15:47,589 --> 00:15:52,470 293 00:15:52,470 --> 00:15:54,850 >> Now, along with CS50's production team, I 294 00:15:54,850 --> 00:15:57,680 had an opportunity to hop in the car with this guy 295 00:15:57,680 --> 00:16:02,845 and take a look at what awaits us in New Haven. 296 00:16:02,845 --> 00:16:06,725 >> [VIDEO PLAYBACK] 297 00:16:06,725 --> 00:16:11,090 >> [MUSIC - "MOVIN' RIGHT ALONG"] 298 00:16:11,090 --> 00:16:15,000 >> -Movin' right along in search of good times and good news 299 00:16:15,000 --> 00:16:17,015 with good friends who can't lose. 300 00:16:17,015 --> 00:16:19,900 >> -This could become a habit. 301 00:16:19,900 --> 00:16:23,320 >> -Opportunity knocks once let's reach out and grab it. 302 00:16:23,320 --> 00:16:24,160 >> -Yeah! 303 00:16:24,160 --> 00:16:25,780 >> -Together we'll nab it. 304 00:16:25,780 --> 00:16:28,177 >> -We'll hitchhike, bus, or yellow cab it. 305 00:16:28,177 --> 00:16:29,578 >> -Cab it? 306 00:16:29,578 --> 00:16:34,930 >> -Movin' right along, footloose and fancy free. 307 00:16:34,930 --> 00:16:38,860 >> -Getting there is half the fun come share it with me. 308 00:16:38,860 --> 00:16:40,330 >> -Movin' right along. 309 00:16:40,330 --> 00:16:43,270 >> -We'll learn to share the load. 310 00:16:43,270 --> 00:16:48,170 >> -We don't need a map to keep this show on the road. 311 00:16:48,170 --> 00:16:51,280 >> -Hey, Fozzy, I want you to turn left if you come to a fork in the road. 312 00:16:51,280 --> 00:16:51,850 >> -Yes, Sir. 313 00:16:51,850 --> 00:16:54,380 Turn left at the fork in the road. 314 00:16:54,380 --> 00:16:56,260 Kermit? 315 00:16:56,260 --> 00:16:58,600 >> -I don't believe that. 316 00:16:58,600 --> 00:17:02,500 Movin' right along, we've found a life on the highway. 317 00:17:02,500 --> 00:17:04,722 >> -And your way is my way. 318 00:17:04,722 --> 00:17:06,610 >> -So trust my navigation. 319 00:17:06,610 --> 00:17:11,163 >> -Movie stars with flashy cars, and life with the top down. 320 00:17:11,163 --> 00:17:13,261 >> -We're storming the big town. 321 00:17:13,261 --> 00:17:13,760 -Yeah. 322 00:17:13,760 --> 00:17:14,810 Storm is right. 323 00:17:14,810 --> 00:17:16,140 Should it be snowing? 324 00:17:16,140 --> 00:17:17,470 >> -No, I don't think so. 325 00:17:17,470 --> 00:17:19,354 >> -Movin' right along. 326 00:17:19,354 --> 00:17:22,029 >> -Footloose and fancy free. 327 00:17:22,029 --> 00:17:24,118 >> -Be ready for the big time 328 00:17:24,118 --> 00:17:25,917 >> -Is it ready for me? 329 00:17:25,917 --> 00:17:29,893 330 00:17:29,893 --> 00:17:33,869 >> -Movin' right along. 331 00:17:33,869 --> 00:17:38,342 Movin' right along. 332 00:17:38,342 --> 00:17:42,815 Movin' right along. 333 00:17:42,815 --> 00:17:44,803 Movin' right along. 334 00:17:44,803 --> 00:17:47,204 335 00:17:47,204 --> 00:17:48,370 -Maybe you better pull over. 336 00:17:48,370 --> 00:17:50,150 -Yes, Sir. 337 00:17:50,150 --> 00:17:52,130 Oh, look at that. 338 00:17:52,130 --> 00:17:53,620 >> [END PLAYBACK] 339 00:17:53,620 --> 00:17:55,881 >> DAVID MALAN: We'll see Yale in 2015. 340 00:17:55,881 --> 00:17:57,725 >> [APPLAUSE] 341 00:17:57,725 --> 00:18:00,500 342 00:18:00,500 --> 00:18:01,960 >> So now some thank yous. 343 00:18:01,960 --> 00:18:04,790 Suffice it to say there's an entire family, both in front of 344 00:18:04,790 --> 00:18:08,440 and behind the camera, in this class that makes everything work ultimately. 345 00:18:08,440 --> 00:18:11,020 And I'd like to acknowledge a few, and then the entire staff 346 00:18:11,020 --> 00:18:15,120 by way first of Colton, whose EDM has permeated the start of lectures 347 00:18:15,120 --> 00:18:16,627 for some number of weeks now. 348 00:18:16,627 --> 00:18:18,960 As well as the entire production team, who's been making 349 00:18:18,960 --> 00:18:20,830 everything look so beautiful this year. 350 00:18:20,830 --> 00:18:25,070 Dan in Chile, and Andrew, and Cheng, and Colton, and Ramon, and Barry in back, 351 00:18:25,070 --> 00:18:28,740 and Kenny and everyone who's been involved behind these cameras, 352 00:18:28,740 --> 00:18:30,700 making everything possible. 353 00:18:30,700 --> 00:18:33,380 To Gabriel, as well, our head teaching fellow. 354 00:18:33,380 --> 00:18:35,188 >> [APPLAUSE] 355 00:18:35,188 --> 00:18:37,860 356 00:18:37,860 --> 00:18:40,910 >> If you didn't already know, Gabriel actually 357 00:18:40,910 --> 00:18:43,890 found CS50 by way of the production team's videos. 358 00:18:43,890 --> 00:18:46,100 Indeed growing up in Brazil a few years back, 359 00:18:46,100 --> 00:18:48,720 he discovered that all of CS50's material was online, 360 00:18:48,720 --> 00:18:51,320 and he dropped me a kind note asking if he 361 00:18:51,320 --> 00:18:54,280 might be able to translate it to Portuguese for his classmates. 362 00:18:54,280 --> 00:18:59,060 And indeed he did, ultimately, lecturing to some 50 students, his classmates, 363 00:18:59,060 --> 00:18:59,760 in high school. 364 00:18:59,760 --> 00:19:03,440 Followed by 150 students the next year, and wonderfully his dad 365 00:19:03,440 --> 00:19:07,480 was in fact filming the whole thing so you can find Gabe's lectures of CS50 366 00:19:07,480 --> 00:19:09,860 in Brazil online as well. 367 00:19:09,860 --> 00:19:15,690 >> And now Davon here, Davon here has been running the course, 368 00:19:15,690 --> 00:19:17,900 and has been making everything run so smoothly, 369 00:19:17,900 --> 00:19:22,030 and without him we could not manage the team that we now have. 370 00:19:22,030 --> 00:19:23,620 And then of course, Rob Bowden. 371 00:19:23,620 --> 00:19:25,310 >> [APPLAUSE] 372 00:19:25,310 --> 00:19:27,810 373 00:19:27,810 --> 00:19:30,590 >> Rob's now been with the course some five years, 374 00:19:30,590 --> 00:19:33,000 having approached me sophomore year with an interest 375 00:19:33,000 --> 00:19:34,440 in getting involved in the class. 376 00:19:34,440 --> 00:19:37,780 And then became assistant head TF, and then Head TF, and then Preceptor. 377 00:19:37,780 --> 00:19:40,610 And now, believe it or not, the very distinguished role 378 00:19:40,610 --> 00:19:44,230 of Member of Technical Staff, which in the computer world 379 00:19:44,230 --> 00:19:46,010 actually carries with it some weight. 380 00:19:46,010 --> 00:19:50,320 And so that understatement is actually meant to be of the highest regard 381 00:19:50,320 --> 00:19:51,520 to Rob. 382 00:19:51,520 --> 00:19:55,310 >> Allison, of course, who's been leading our official sections on camera once 383 00:19:55,310 --> 00:19:58,070 a week, and making sure there's a resource available 384 00:19:58,070 --> 00:20:01,990 online for students who are unable to tune-in in person. 385 00:20:01,990 --> 00:20:06,470 And then, of course, a TF, who I think has been at every single office hours 386 00:20:06,470 --> 00:20:11,770 this year, including these here, these here, those here as well. 387 00:20:11,770 --> 00:20:15,170 And indeed [? Zamila, ?] who has walked everyone through the course's problem 388 00:20:15,170 --> 00:20:19,460 sets, and without whom, we could not expect, I dare say, so much. 389 00:20:19,460 --> 00:20:21,440 >> And then lastly, Cheng here, who is known 390 00:20:21,440 --> 00:20:23,640 for much more than these elephants, which 391 00:20:23,640 --> 00:20:26,640 have been appearing at most every lecture. 392 00:20:26,640 --> 00:20:30,130 Indeed Cheng recently got together with CS50's production team 393 00:20:30,130 --> 00:20:33,090 to put together this thank you for the entire team, 394 00:20:33,090 --> 00:20:37,414 by way of a little segment we call, Cheng On The Street. 395 00:20:37,414 --> 00:20:38,382 >> [VIDEO PLAYBACK] 396 00:20:38,382 --> 00:20:40,318 >> [MUSIC PLAYING] 397 00:20:40,318 --> 00:20:42,254 >> -This is Cheng with Cheng on the Street. 398 00:20:42,254 --> 00:20:44,680 And today, I'm here at CS50's Quiz One Grading 399 00:20:44,680 --> 00:20:49,220 Party, where the staff members of CS50 have gathered to grade quiz one. 400 00:20:49,220 --> 00:20:51,749 I wouldn't really consider it a party, but you get the idea. 401 00:20:51,749 --> 00:20:54,790 I'll be asking them some questions about their experiences this semester, 402 00:20:54,790 --> 00:20:57,530 and maybe a few technical questions, then we'll solve them. 403 00:20:57,530 --> 00:20:58,636 >> -I don't think I'm ready for this. 404 00:20:58,636 --> 00:20:59,062 >> -It's OK. 405 00:20:59,062 --> 00:20:59,562 >> -OK. 406 00:20:59,562 --> 00:21:01,455 -How many bits are in a byte? 407 00:21:01,455 --> 00:21:02,640 >> -4, 8. 408 00:21:02,640 --> 00:21:03,960 >> -What does PHP stand for? 409 00:21:03,960 --> 00:21:06,430 >> -PHP? 410 00:21:06,430 --> 00:21:09,600 Hypertext protocol. 411 00:21:09,600 --> 00:21:11,207 >> -Is it a protocol, though? 412 00:21:11,207 --> 00:21:11,790 -I don't know. 413 00:21:11,790 --> 00:21:12,950 Is it? 414 00:21:12,950 --> 00:21:13,870 >> -Eh, eh. 415 00:21:13,870 --> 00:21:14,370 Buzzer. 416 00:21:14,370 --> 00:21:16,940 >> -I know that P stands for PHP. 417 00:21:16,940 --> 00:21:18,070 >> -So where does it stop? 418 00:21:18,070 --> 00:21:19,070 >> -It never stops. 419 00:21:19,070 --> 00:21:20,314 >> -It has to stop at somewhere. 420 00:21:20,314 --> 00:21:20,980 -No, it doesn't. 421 00:21:20,980 --> 00:21:23,404 -Acronyms simplify to a word. 422 00:21:23,404 --> 00:21:25,074 -No, mm-mm. [? Recouragin? ?] 423 00:21:25,074 --> 00:21:26,240 -This is a serious question. 424 00:21:26,240 --> 00:21:27,052 [LAUGHTER] 425 00:21:27,052 --> 00:21:30,050 What comes next in this sequence of numbers? 426 00:21:30,050 --> 00:21:40,192 2, 4, 8, 16, 32, 955. 427 00:21:40,192 --> 00:21:43,564 >> -I thought you were going to say 64, but OK. 428 00:21:43,564 --> 00:21:45,230 -What's the next number in the sequence? 429 00:21:45,230 --> 00:21:46,286 -CS50. 430 00:21:46,286 --> 00:21:49,144 -That's not even a number. 431 00:21:49,144 --> 00:21:51,010 -I have no clue. 432 00:21:51,010 --> 00:21:52,396 -None of you are right. 433 00:21:52,396 --> 00:21:53,890 Please, go back to grading. 434 00:21:53,890 --> 00:21:56,582 What's 2 to the power of 64? 435 00:21:56,582 --> 00:21:57,082 -Oh, jeez. 436 00:21:57,082 --> 00:21:58,044 I should know this. 437 00:21:58,044 --> 00:22:00,930 438 00:22:00,930 --> 00:22:01,873 >> -I don't know. 439 00:22:01,873 --> 00:22:02,373 -OK. 440 00:22:02,373 --> 00:22:05,259 441 00:22:05,259 --> 00:22:07,183 >> [LAUGHTER] 442 00:22:07,183 --> 00:22:08,160 443 00:22:08,160 --> 00:22:11,281 >> -How many stress balls does it take to fill Sanders Theater? 444 00:22:11,281 --> 00:22:12,742 >> -Too many. 445 00:22:12,742 --> 00:22:14,690 >> -You can never have too many stress balls. 446 00:22:14,690 --> 00:22:16,160 >> -Am I right? 447 00:22:16,160 --> 00:22:17,294 What's the correct answer? 448 00:22:17,294 --> 00:22:18,460 -There is no correct answer. 449 00:22:18,460 --> 00:22:19,710 -I'm sure there is. 450 00:22:19,710 --> 00:22:22,075 -It depends on the size of the stress ball. 451 00:22:22,075 --> 00:22:24,050 Do you know who Rob Bowden is? 452 00:22:24,050 --> 00:22:25,490 >> -Yes. 453 00:22:25,490 --> 00:22:29,054 He has better hair this year than he did previous years. 454 00:22:29,054 --> 00:22:33,383 So it was a little difficult recognizing him, but I managed it. 455 00:22:33,383 --> 00:22:34,340 >> -Is he the buff guy? 456 00:22:34,340 --> 00:22:34,840 >> -Yeah. 457 00:22:34,840 --> 00:22:35,340 -OK. 458 00:22:35,340 --> 00:22:36,100 Yeah, I like him. 459 00:22:36,100 --> 00:22:36,780 >> -Now that you mention that, I have a question for you. 460 00:22:36,780 --> 00:22:37,570 >> -All right. 461 00:22:37,570 --> 00:22:40,380 >> -What's Rob Bowden's bench press? 462 00:22:40,380 --> 00:22:41,040 >> -IT max. 463 00:22:41,040 --> 00:22:43,205 >> -What is his max bench press? 464 00:22:43,205 --> 00:22:43,705 -You. 465 00:22:43,705 --> 00:22:50,290 466 00:22:50,290 --> 00:22:54,930 >> -Thank you so much to CS50's TFs, CAs, producers, designers, researchers, 467 00:22:54,930 --> 00:22:58,110 and everyone else who's been involved both in front of and behind the camera 468 00:22:58,110 --> 00:22:59,130 here in CS50. 469 00:22:59,130 --> 00:23:02,230 We surely could not do this without you, and we cannot wait to welcome new 470 00:23:02,230 --> 00:23:03,105 members to the staff. 471 00:23:03,105 --> 00:23:06,043 -Everyone at this table, can we get a hug? 472 00:23:06,043 --> 00:23:07,540 >> -Thank you. 473 00:23:07,540 --> 00:23:08,827 >> -Thank you very much, staff. 474 00:23:08,827 --> 00:23:10,035 Thank you for becoming staff. 475 00:23:10,035 --> 00:23:13,528 This concludes our interview. 476 00:23:13,528 --> 00:23:16,023 Thank you for being on staff this year. 477 00:23:16,023 --> 00:23:17,520 >> -Thank you so much. 478 00:23:17,520 --> 00:23:18,518 >> -Thank you. 479 00:23:18,518 --> 00:23:20,514 >> -No, no, thank you. 480 00:23:20,514 --> 00:23:22,011 >> -Did I do a good job or what? 481 00:23:22,011 --> 00:23:23,540 >> -You did wonderfully. 482 00:23:23,540 --> 00:23:28,384 This was Cheng, with Cheng on the Street, and this was CS50 2014. 483 00:23:28,384 --> 00:23:29,495 >> -What did we talk about? 484 00:23:29,495 --> 00:23:30,895 We just had this conversation. 485 00:23:30,895 --> 00:23:34,216 This is not a toy. 486 00:23:34,216 --> 00:23:36,696 >> [MUSIC PLAYING] 487 00:23:36,696 --> 00:23:42,648 488 00:23:42,648 --> 00:23:43,640 >> [END PLAYBACK] 489 00:23:43,640 --> 00:23:46,120 >> [APPLAUSE] 490 00:23:46,120 --> 00:23:49,120 491 00:23:49,120 --> 00:23:51,660 >> DAVID MALAN: So CS50 is indeed now recruiting 492 00:23:51,660 --> 00:23:54,350 for TFs, course assistants, producers, designers, 493 00:23:54,350 --> 00:23:59,260 and any number of other roles that enable this to go on behind the scenes. 494 00:23:59,260 --> 00:24:01,830 And now, for something a little special. 495 00:24:01,830 --> 00:24:04,500 As you know, Colton has introduced his EDM to the class, 496 00:24:04,500 --> 00:24:08,980 but today he got the band together and CS50, before we bring some students up 497 00:24:08,980 --> 00:24:14,202 on stage, I give you Colton, Gabe, and Taylor. 498 00:24:14,202 --> 00:24:16,632 >> [MUSIC PLAYING] 499 00:24:16,632 --> 00:24:22,950 500 00:24:22,950 --> 00:24:26,810 >> COLTON: Feel my way through the darkness. 501 00:24:26,810 --> 00:24:30,580 Guided by a beating heart. 502 00:24:30,580 --> 00:24:35,530 I can't tell where the journey will end. 503 00:24:35,530 --> 00:24:38,950 But I know where to start. 504 00:24:38,950 --> 00:24:42,448 >> Try to tell me I'm too young to understand. 505 00:24:42,448 --> 00:24:44,356 Say I'm caught up in a dream. 506 00:24:44,356 --> 00:24:47,230 507 00:24:47,230 --> 00:24:51,470 Life will pass me by if I don't open up my eyes. 508 00:24:51,470 --> 00:24:53,516 That's fine by me. 509 00:24:53,516 --> 00:24:58,020 >> So wake me up when it's all over. 510 00:24:58,020 --> 00:25:02,030 When I'm wiser and I'm older. 511 00:25:02,030 --> 00:25:09,230 All this time I was finding myself and I didn't know I was lost. 512 00:25:09,230 --> 00:25:12,724 So wake me up when it's all over. 513 00:25:12,724 --> 00:25:16,845 When I'm wiser and I'm older. 514 00:25:16,845 --> 00:25:23,905 All this time I was finding myself and I didn't know I was lost. 515 00:25:23,905 --> 00:26:07,465 516 00:26:07,465 --> 00:26:10,510 >> I tried carrying the weight of the world. 517 00:26:10,510 --> 00:26:14,545 But I only got two hands. 518 00:26:14,545 --> 00:26:18,260 Hope I get the chance to travel the world. 519 00:26:18,260 --> 00:26:22,140 I don't have any plans. 520 00:26:22,140 --> 00:26:26,020 Wish that I could stay forever this young. 521 00:26:26,020 --> 00:26:29,280 Not afraid to close my eyes. 522 00:26:29,280 --> 00:26:35,686 Life's a game made for everyone and love is a prize. 523 00:26:35,686 --> 00:26:39,590 >> So wake me up when it's all over. 524 00:26:39,590 --> 00:26:43,006 When I'm wiser and I'm older. 525 00:26:43,006 --> 00:26:50,314 All this time I was finding myself and I didn't know I was lost. 526 00:26:50,314 --> 00:26:50,814 Everybody! 527 00:26:50,814 --> 00:26:54,315 So wake me up when it's all over. 528 00:26:54,315 --> 00:26:58,307 When I'm wiser and I'm older. 529 00:26:58,307 --> 00:27:06,790 All this time I was finding myself and I didn't know I was lost. 530 00:27:06,790 --> 00:27:10,283 Didn't know I was lost. 531 00:27:10,283 --> 00:27:12,279 Didn't know I was lost. 532 00:27:12,279 --> 00:28:06,171 533 00:28:06,171 --> 00:28:08,167 >> [APPLAUSE] 534 00:28:08,167 --> 00:28:14,780 535 00:28:14,780 --> 00:28:19,140 >> DAVID MALAN: Coming this year to the CS50 Fair, live music as well. 536 00:28:19,140 --> 00:28:22,900 So now, our last opportunity for a bit of audience participation. 537 00:28:22,900 --> 00:28:26,760 For this we need six students and three staff. 538 00:28:26,760 --> 00:28:30,120 Let's see here, OK, you're practically jumping out of your chair. 539 00:28:30,120 --> 00:28:30,990 Come on up. 540 00:28:30,990 --> 00:28:31,490 >> OK. 541 00:28:31,490 --> 00:28:34,100 How about you two together over here, come on up. 542 00:28:34,100 --> 00:28:40,170 And how about you two and you one, come on up. 543 00:28:40,170 --> 00:28:43,485 Let's grow the teams a bit. 544 00:28:43,485 --> 00:28:43,984 OK. 545 00:28:43,984 --> 00:28:44,483 Right there. 546 00:28:44,483 --> 00:28:45,060 Come on. 547 00:28:45,060 --> 00:28:45,850 Yeah. 548 00:28:45,850 --> 00:28:47,710 You, come on down. 549 00:28:47,710 --> 00:28:48,890 That's going to be hard. 550 00:28:48,890 --> 00:28:49,890 >> OK. 551 00:28:49,890 --> 00:28:50,390 OK. 552 00:28:50,390 --> 00:28:51,770 Fine, come on down. 553 00:28:51,770 --> 00:28:53,200 See you in a few minutes. 554 00:28:53,200 --> 00:28:54,730 All right, so come on over here. 555 00:28:54,730 --> 00:28:57,020 We're going to get two more chairs and let's do Nick, 556 00:28:57,020 --> 00:29:05,160 and Alison, and this Yale student over here, and Rob Bowden, come on up. 557 00:29:05,160 --> 00:29:07,900 Meanwhile, if Cheng could join me on stage. 558 00:29:07,900 --> 00:29:13,120 559 00:29:13,120 --> 00:29:18,610 >> If you guys would like to form two student teams, and one staff team. 560 00:29:18,610 --> 00:29:22,480 And Cheng, if you could distribute these chairs here, I'll get the board ready. 561 00:29:22,480 --> 00:29:23,710 This is incredibly awkward. 562 00:29:23,710 --> 00:29:24,210 OK. 563 00:29:24,210 --> 00:29:26,360 Make your way to a chair there. 564 00:29:26,360 --> 00:29:27,105 >> Come on over. 565 00:29:27,105 --> 00:29:32,130 566 00:29:32,130 --> 00:29:32,860 Come on down. 567 00:29:32,860 --> 00:29:36,990 568 00:29:36,990 --> 00:29:40,700 And I think the Yale student will be playing for the staff team. 569 00:29:40,700 --> 00:29:42,804 Excellent. 570 00:29:42,804 --> 00:29:44,470 We should have enough chairs, hopefully. 571 00:29:44,470 --> 00:29:46,577 If not, we'll grab another. 572 00:29:46,577 --> 00:29:47,410 Where do we need it? 573 00:29:47,410 --> 00:29:49,790 Over here, come on over. 574 00:29:49,790 --> 00:29:51,402 All right. 575 00:29:51,402 --> 00:29:53,170 >> CHENG GONG: Do we need more staff? 576 00:29:53,170 --> 00:29:54,003 >> DAVID MALAN: No, no. 577 00:29:54,003 --> 00:29:58,600 It's going to be two student teams and one Harvard/Yale staff team. 578 00:29:58,600 --> 00:30:02,290 All right, so we do have this tradition of playing Jeopardy, 579 00:30:02,290 --> 00:30:05,970 or really, our own version of Jeopardy where we just ask questions and expect 580 00:30:05,970 --> 00:30:06,790 answers. 581 00:30:06,790 --> 00:30:09,470 But the questions we're going to ask were not written by us, 582 00:30:09,470 --> 00:30:10,585 they were written by you. 583 00:30:10,585 --> 00:30:14,860 You may recall a rather long form for Problem Set A. 584 00:30:14,860 --> 00:30:16,820 >> [LAUGHTER] 585 00:30:16,820 --> 00:30:18,290 586 00:30:18,290 --> 00:30:21,960 >> I have to admit, most of them didn't make it into quiz one. 587 00:30:21,960 --> 00:30:26,170 We got maybe 500 questions asking, what is HTML? 588 00:30:26,170 --> 00:30:27,530 What is HTTP? 589 00:30:27,530 --> 00:30:29,000 What is CSS? 590 00:30:29,000 --> 00:30:31,960 So they weren't exactly the most challenging of questions, 591 00:30:31,960 --> 00:30:34,630 but we went through hundreds and hundreds of questions 592 00:30:34,630 --> 00:30:36,100 to sample the following. 593 00:30:36,100 --> 00:30:38,710 >> So Cheng here has kindly offered to run the board. 594 00:30:38,710 --> 00:30:43,270 We'll go ahead here and call this Team One, Team Two, and Team Three. 595 00:30:43,270 --> 00:30:45,930 And let's say that Team Three has won the toss, 596 00:30:45,930 --> 00:30:49,590 so you guys are going to glance to your left or above you, pick a week, 597 00:30:49,590 --> 00:30:50,990 and pick a dollar amount. 598 00:30:50,990 --> 00:30:53,240 >> We will then ask the question, and Cheng will 599 00:30:53,240 --> 00:30:57,107 award you, or deduct from you the requisite points. 600 00:30:57,107 --> 00:30:58,440 Team Three, what would you like? 601 00:30:58,440 --> 00:31:03,240 602 00:31:03,240 --> 00:31:05,260 I'm hearing a lot of Week 0 here. 603 00:31:05,260 --> 00:31:07,476 >> [LAUGHTER] 604 00:31:07,476 --> 00:31:08,600 STUDENT 1: Can we pick any? 605 00:31:08,600 --> 00:31:11,845 DAVID MALAN: Any category, any amount. 606 00:31:11,845 --> 00:31:13,210 STUDENT 2: Week 0, 500. 607 00:31:13,210 --> 00:31:16,001 DAVID MALAN: You're putting more thought into choosing the question 608 00:31:16,001 --> 00:31:19,840 than I wrote into selecting them All right, so what did you say? 609 00:31:19,840 --> 00:31:21,100 OK. 610 00:31:21,100 --> 00:31:23,190 And then the first hand that goes up will 611 00:31:23,190 --> 00:31:25,230 be considered the one who has buzzed in. 612 00:31:25,230 --> 00:31:28,950 What is the difference between global and local variables? 613 00:31:28,950 --> 00:31:29,770 I saw Team Two. 614 00:31:29,770 --> 00:31:32,275 615 00:31:32,275 --> 00:31:34,650 STUDENT 3: Global-- do we just speak into the microphone? 616 00:31:34,650 --> 00:31:37,660 617 00:31:37,660 --> 00:31:39,870 Global is for the entire scope of the program, 618 00:31:39,870 --> 00:31:42,869 whereas local is just defined within an isolated part. 619 00:31:42,869 --> 00:31:44,160 DAVID MALAN: Let's take a look. 620 00:31:44,160 --> 00:31:46,826 We're going to hold you to the answer that your classmates gave. 621 00:31:46,826 --> 00:31:49,840 If you click on the text, SCOPE in all caps. 622 00:31:49,840 --> 00:31:51,670 >> [LAUGHTER] 623 00:31:51,670 --> 00:31:53,144 624 00:31:53,144 --> 00:31:55,810 DAVID MALAN: I think we're going to have to take this literally. 625 00:31:55,810 --> 00:31:58,660 So we're not going to give those points. 626 00:31:58,660 --> 00:32:01,070 We're going to expect exactly what your classmates gave. 627 00:32:01,070 --> 00:32:09,720 So unfortunately, we're at minus 500, but you're still in control. 628 00:32:09,720 --> 00:32:12,700 But you're still in control-- now you're in control-- well, no. 629 00:32:12,700 --> 00:32:13,710 You're still in control. 630 00:32:13,710 --> 00:32:14,293 >> STUDENT 2: OK. 631 00:32:14,293 --> 00:32:17,280 DAVID MALAN: You're still in control. 632 00:32:17,280 --> 00:32:19,080 Yeah, let's go for 500 again. 633 00:32:19,080 --> 00:32:20,380 OK. 634 00:32:20,380 --> 00:32:23,430 Week 1, 500, Cheng. 635 00:32:23,430 --> 00:32:25,810 What are the data types and their sizes? 636 00:32:25,810 --> 00:32:27,722 >> [LAUGHTER] 637 00:32:27,722 --> 00:32:31,070 638 00:32:31,070 --> 00:32:32,990 >> DAVID MALAN: Oh, I saw a hand over here first. 639 00:32:32,990 --> 00:32:33,489 Rob Bowden. 640 00:32:33,489 --> 00:32:38,620 641 00:32:38,620 --> 00:32:43,220 >> ROB BOWDEN: A char is 1 byte, a short is two bytes, an int is 4 bytes, 642 00:32:43,220 --> 00:32:48,790 a long is 4 bytes, a long long is 8 bytes, a char star is 4 bytes, 643 00:32:48,790 --> 00:32:53,682 an int star is 4 bytes, a long long star is 4 bytes. 644 00:32:53,682 --> 00:32:55,640 DAVID MALAN: Cheng, what is the correct answer? 645 00:32:55,640 --> 00:32:58,241 646 00:32:58,241 --> 00:32:59,616 ROB BOWDEN: Oh, float and double. 647 00:32:59,616 --> 00:33:04,564 648 00:33:04,564 --> 00:33:06,980 DAVID MALAN: You left out the part of the reference sheet, 649 00:33:06,980 --> 00:33:09,477 but I think we should give it to him for 500. 650 00:33:09,477 --> 00:33:10,185 ROB BOWDEN: Yeah. 651 00:33:10,185 --> 00:33:12,932 652 00:33:12,932 --> 00:33:13,932 STUDENT: This is biased! 653 00:33:13,932 --> 00:33:15,557 ROB BOWDEN: What are you talking about? 654 00:33:15,557 --> 00:33:19,390 655 00:33:19,390 --> 00:33:23,120 >> DAVID MALAN: It's OK the points went-- that's right, Team One. 656 00:33:23,120 --> 00:33:24,840 I am not a good judge, apparently. 657 00:33:24,840 --> 00:33:26,256 All right, we're going to move on. 658 00:33:26,256 --> 00:33:28,210 You guys have control. 659 00:33:28,210 --> 00:33:30,240 Yale student. 660 00:33:30,240 --> 00:33:35,210 We'll do Week 4 for 500 points. 661 00:33:35,210 --> 00:33:40,020 662 00:33:40,020 --> 00:33:41,844 I think I saw Team Three. 663 00:33:41,844 --> 00:33:43,135 STUDENT 1: You free the memory. 664 00:33:43,135 --> 00:33:44,930 DAVID MALAN: You free the memory? 665 00:33:44,930 --> 00:33:45,790 Free it. 666 00:33:45,790 --> 00:33:46,730 We'll give it to you. 667 00:33:46,730 --> 00:33:49,550 668 00:33:49,550 --> 00:33:52,360 All right, Team's One and Three are tied, Team Three has control. 669 00:33:52,360 --> 00:33:53,568 What category would you like? 670 00:33:53,568 --> 00:33:56,000 671 00:33:56,000 --> 00:33:57,808 >> STUDENT 2: Week Two, 500. 672 00:33:57,808 --> 00:34:00,150 >> [DAILY DOUBLE ALARM] 673 00:34:00,150 --> 00:34:01,164 >> DAVID MALAN: Amazing. 674 00:34:01,164 --> 00:34:02,080 STUDENT 2: Everything? 675 00:34:02,080 --> 00:34:03,010 DAVID MALAN: You get to choose your amount. 676 00:34:03,010 --> 00:34:03,914 STUDENT 1: Why not? 677 00:34:03,914 --> 00:34:04,366 STUDENT 3: Yes. 678 00:34:04,366 --> 00:34:05,116 STUDENT 4: All in. 679 00:34:05,116 --> 00:34:06,432 STUDENT 2: 500. 680 00:34:06,432 --> 00:34:07,140 DAVID MALAN: 500? 681 00:34:07,140 --> 00:34:07,900 STUDENT 2: Yes. 682 00:34:07,900 --> 00:34:12,960 DAVID MALAN: 500, Daily Double. 683 00:34:12,960 --> 00:34:15,219 STUDENT 3: No, you can't. 684 00:34:15,219 --> 00:34:17,976 DAVID MALAN: Cheng? 685 00:34:17,976 --> 00:34:18,476 No! 686 00:34:18,476 --> 00:34:20,420 >> [CHEERING] 687 00:34:20,420 --> 00:34:22,860 688 00:34:22,860 --> 00:34:25,199 >> DAVID MALAN: 500 and control of the board. 689 00:34:25,199 --> 00:34:26,185 We have-- 690 00:34:26,185 --> 00:34:27,171 >> ROB BOWDEN: So a double was a yes or no question? 691 00:34:27,171 --> 00:34:28,157 >> [LAUGHTER] 692 00:34:28,157 --> 00:34:31,630 >> DAVID MALAN: We have time for one or two more questions in Single Jeopardy. 693 00:34:31,630 --> 00:34:43,253 694 00:34:43,253 --> 00:34:43,753 OK. 695 00:34:43,753 --> 00:34:46,699 696 00:34:46,699 --> 00:34:49,790 Team Three. 697 00:34:49,790 --> 00:35:00,540 Week 0, for 100. 698 00:35:00,540 --> 00:35:01,769 What team are you on? 699 00:35:01,769 --> 00:35:02,560 STUDENT 5: I'm Two. 700 00:35:02,560 --> 00:35:03,226 DAVID MALAN: OK. 701 00:35:03,226 --> 00:35:04,878 Team Two. 702 00:35:04,878 --> 00:35:11,370 >> STUDENT 5: You use the Say block in MIT Scratch to say, hello, world. 703 00:35:11,370 --> 00:35:13,370 >> [LAUGHTER] 704 00:35:13,370 --> 00:35:18,370 705 00:35:18,370 --> 00:35:20,320 >> DAVID MALAN: Minus 100. 706 00:35:20,320 --> 00:35:22,736 All right, one more question in Single Jeopardy. 707 00:35:22,736 --> 00:35:23,985 You guys are still in control. 708 00:35:23,985 --> 00:35:26,610 709 00:35:26,610 --> 00:35:28,050 >> STUDENT 2: Week 3, 100. 710 00:35:28,050 --> 00:35:33,480 >> DAVID MALAN: Week Three, 100. 711 00:35:33,480 --> 00:35:34,082 What is the-- 712 00:35:34,082 --> 00:35:35,040 ROB BOWDEN: Team Three. 713 00:35:35,040 --> 00:35:35,465 DAVID MALAN: Team Three? 714 00:35:35,465 --> 00:35:35,965 OK. 715 00:35:35,965 --> 00:35:37,822 We're going with Team Three. 716 00:35:37,822 --> 00:35:39,780 STUDENT 3: The best case scenario, or run time? 717 00:35:39,780 --> 00:35:41,780 Because the best case scenario is it's in order. 718 00:35:41,780 --> 00:35:47,571 719 00:35:47,571 --> 00:35:50,280 >> DAVID MALAN: Let's see what the correct answer is. 720 00:35:50,280 --> 00:35:52,220 >> [LAUGHTER] 721 00:35:52,220 --> 00:35:55,615 722 00:35:55,615 --> 00:35:57,560 >> DAVID MALAN: All right. 723 00:35:57,560 --> 00:36:00,960 Let's move on to Double Jeopardy. 724 00:36:00,960 --> 00:36:04,880 >> ALEX TREBEK (RECORDING): This is Jeopardy. 725 00:36:04,880 --> 00:36:07,490 >> DAVID MALAN: Double Jeopardy, in this Double Jeopardy 726 00:36:07,490 --> 00:36:13,205 we have the categories of Week 5, 6, 7, 8, and 9. 727 00:36:13,205 --> 00:36:15,145 >> STUDENT 3: Where did our points go? 728 00:36:15,145 --> 00:36:16,480 Where did our points go? 729 00:36:16,480 --> 00:36:19,120 730 00:36:19,120 --> 00:36:21,730 >> DAVID MALAN: We are going to manually adjust. 731 00:36:21,730 --> 00:36:24,710 There we go. 732 00:36:24,710 --> 00:36:25,540 Team Two had 2,000? 733 00:36:25,540 --> 00:36:26,040 OK. 734 00:36:26,040 --> 00:36:28,279 All right, so now we tossed the coin again 735 00:36:28,279 --> 00:36:29,820 and we're giving control to Team Two. 736 00:36:29,820 --> 00:36:31,694 Go ahead and choose your category and amount. 737 00:36:31,694 --> 00:36:34,110 738 00:36:34,110 --> 00:36:36,590 >> STUDENT 2: We'll go Week 6, 1,000. 739 00:36:36,590 --> 00:36:38,800 >> DAVID MALAN: Week 6, 1,000. 740 00:36:38,800 --> 00:36:41,290 How does the stack grow? 741 00:36:41,290 --> 00:36:42,620 Team Two. 742 00:36:42,620 --> 00:36:45,890 >> STUDENT 5: You add a new function into Scope. 743 00:36:45,890 --> 00:36:47,964 >> DAVID MALAN: Add a new function to Scope. 744 00:36:47,964 --> 00:36:48,932 It grows up. 745 00:36:48,932 --> 00:36:50,868 >> [LAUGHTER] 746 00:36:50,868 --> 00:36:53,288 747 00:36:53,288 --> 00:36:57,615 >> DAVID MALAN: All right, but you're still in control. 748 00:36:57,615 --> 00:37:00,494 >> STUDENT 5: All right, someone else pick. 749 00:37:00,494 --> 00:37:01,369 >> STUDENT 6: I'll pick. 750 00:37:01,369 --> 00:37:02,702 DAVID MALAN: It is all relative. 751 00:37:02,702 --> 00:37:04,880 Even though we tend to draw the stack as growing up, 752 00:37:04,880 --> 00:37:08,370 you'll recall that the addresses actually grow in a different direction. 753 00:37:08,370 --> 00:37:11,614 But just needed to make Rob happy there. 754 00:37:11,614 --> 00:37:13,050 All right, Team Two. 755 00:37:13,050 --> 00:37:14,510 >> STUDENT 4: Week 8, 1,000. 756 00:37:14,510 --> 00:37:16,640 >> DAVID MALAN: Week 8 for 1,000. 757 00:37:16,640 --> 00:37:19,395 True or false, is HTML a programming language? 758 00:37:19,395 --> 00:37:22,137 759 00:37:22,137 --> 00:37:23,720 Is there another judge who can decide? 760 00:37:23,720 --> 00:37:24,880 >> ROB BOWDEN: It was all me. 761 00:37:24,880 --> 00:37:27,650 >> DAVID MALAN: All right, Rob has called. 762 00:37:27,650 --> 00:37:29,817 >> ROB BOWDEN: It is not, so false. 763 00:37:29,817 --> 00:37:31,900 DAVID MALAN: Rob says false, and the answer is no. 764 00:37:31,900 --> 00:37:33,860 [LAUGHTER] 765 00:37:33,860 --> 00:37:39,250 766 00:37:39,250 --> 00:37:40,720 CHENG GONG: Wait, wait, wait. 767 00:37:40,720 --> 00:37:43,170 Wait, wait, wait. 768 00:37:43,170 --> 00:37:46,089 >> DAVID MALAN: All right, Yale student? 769 00:37:46,089 --> 00:37:48,880 STUDENT 2: It was a poorly written question, it said true or false, 770 00:37:48,880 --> 00:37:50,004 and then it was a question. 771 00:37:50,004 --> 00:37:53,162 772 00:37:53,162 --> 00:37:54,799 I object. 773 00:37:54,799 --> 00:37:55,590 DAVID MALAN: Noted. 774 00:37:55,590 --> 00:37:57,820 We have time for one more Double Jeopardy question. 775 00:37:57,820 --> 00:37:58,410 Team Two. 776 00:37:58,410 --> 00:38:01,310 777 00:38:01,310 --> 00:38:02,550 >> STUDENT 6: Week 9, 1,000. 778 00:38:02,550 --> 00:38:04,685 >> DAVID MALAN: Week 9 for 1,000. 779 00:38:04,685 --> 00:38:08,410 What's the difference between ID and class? 780 00:38:08,410 --> 00:38:10,010 Team Three? 781 00:38:10,010 --> 00:38:11,080 Team Three. 782 00:38:11,080 --> 00:38:13,800 >> STUDENT 3: You can apply ID to only one type of thing in HTML, 783 00:38:13,800 --> 00:38:18,570 but you can apply class too many different things. 784 00:38:18,570 --> 00:38:19,359 >> [APPLAUSE] 785 00:38:19,359 --> 00:38:20,025 DAVID MALAN: OK. 786 00:38:20,025 --> 00:38:20,995 We'll give it to you. 787 00:38:20,995 --> 00:38:25,850 788 00:38:25,850 --> 00:38:31,885 So if we proceed to Final Jeopardy, I think, Team Three just wins, right? 789 00:38:31,885 --> 00:38:35,390 So let's do one more question. 790 00:38:35,390 --> 00:38:38,280 One more question, Double Jeopardy. 791 00:38:38,280 --> 00:38:40,660 >> So at least we can pull-- that's not going to help. 792 00:38:40,660 --> 00:38:41,930 It might help Team One. 793 00:38:41,930 --> 00:38:45,305 All right, who's in control? 794 00:38:45,305 --> 00:38:47,570 Not me, apparently. 795 00:38:47,570 --> 00:38:48,070 OK. 796 00:38:48,070 --> 00:38:48,490 You guys. 797 00:38:48,490 --> 00:38:49,615 Yes, you just got it right. 798 00:38:49,615 --> 00:38:52,500 799 00:38:52,500 --> 00:38:55,810 >> STUDENT 2: Week 9, 200. 800 00:38:55,810 --> 00:38:59,090 >> DAVID MALAN: Well played, Week 9, 200. 801 00:38:59,090 --> 00:39:00,680 What symbol do all PHP-- 802 00:39:00,680 --> 00:39:01,944 >> STUDENT 2: Rob. 803 00:39:01,944 --> 00:39:03,405 >> DAVID MALAN: Rob? 804 00:39:03,405 --> 00:39:04,280 ROB BOWDEN: Cash tag. 805 00:39:04,280 --> 00:39:06,218 [LAUGHTER] 806 00:39:06,218 --> 00:39:09,690 807 00:39:09,690 --> 00:39:13,360 DAVID MALAN: All right, let's proceed. 808 00:39:13,360 --> 00:39:15,390 Let's proceed to Final Jeopardy. 809 00:39:15,390 --> 00:39:18,590 Let's have everyone come up with an answer, 810 00:39:18,590 --> 00:39:24,000 and we'll have you write it on this slip of paper as we play some music. 811 00:39:24,000 --> 00:39:30,530 And then we'll pretend like this was going according to plan. 812 00:39:30,530 --> 00:39:33,760 >> All right, so Final Jeopardy category is Week 12. 813 00:39:33,760 --> 00:39:36,490 You all have to decide-- I didn't bring pens, no. 814 00:39:36,490 --> 00:39:39,340 815 00:39:39,340 --> 00:39:41,910 Pens, please. 816 00:39:41,910 --> 00:39:44,750 Thank you. 817 00:39:44,750 --> 00:39:47,320 All right, OK. 818 00:39:47,320 --> 00:39:49,400 No more pens, please. 819 00:39:49,400 --> 00:39:52,380 820 00:39:52,380 --> 00:39:52,880 OK. 821 00:39:52,880 --> 00:39:57,650 So Team One is at 0, Team Two is at 0, and Team Three is at 2. 822 00:39:57,650 --> 00:40:00,490 823 00:40:00,490 --> 00:40:02,140 You can wager up to $2,000. 824 00:40:02,140 --> 00:40:05,090 So let's go ahead and make your wager. 825 00:40:05,090 --> 00:40:06,640 Wagers down. 826 00:40:06,640 --> 00:40:08,590 And now Cheng is going to reveal the question, 827 00:40:08,590 --> 00:40:10,863 then play some music until we adjourn. 828 00:40:10,863 --> 00:40:12,835 >> [JEOPARDY THEME PLAYING] 829 00:40:12,835 --> 00:40:42,450 830 00:40:42,450 --> 00:40:46,320 >> DAVID MALAN: All right, let us begin here with Team Three. 831 00:40:46,320 --> 00:40:49,850 You wagered $1,000 and answered? 832 00:40:49,850 --> 00:40:50,890 >> STUDENT 1: 955. 833 00:40:50,890 --> 00:40:52,440 >> DAVID MALAN: 955. 834 00:40:52,440 --> 00:40:54,720 Team Two here wagered. 835 00:40:54,720 --> 00:40:55,470 STUDENT 7: $2,000. 836 00:40:55,470 --> 00:40:57,700 DAVID MALAN: $2,000 and your answer was? 837 00:40:57,700 --> 00:40:59,660 STUDENT 6: 955. 838 00:40:59,660 --> 00:41:03,856 DAVID MALAN: Team Three wagered $2,000, and your answer was? 839 00:41:03,856 --> 00:41:04,710 ROB BOWDEN: 955. 840 00:41:04,710 --> 00:41:09,920 DAVID MALAN: 955, which is correct. 841 00:41:09,920 --> 00:41:16,530 Which means our winner today, I think, is still just Team Three, right? 842 00:41:16,530 --> 00:41:18,402 Team Three takes the game! 843 00:41:18,402 --> 00:41:20,286 >> [APPLAUSE] 844 00:41:20,286 --> 00:41:25,000 845 00:41:25,000 --> 00:41:27,280 >> DAVID MALAN: That then, is it for CS50. 846 00:41:27,280 --> 00:41:29,640 Thank you so much for CS50's team. 847 00:41:29,640 --> 00:41:30,980 Thank you so much! 848 00:41:30,980 --> 00:41:33,680 849 00:41:33,680 --> 00:41:37,270 Thank you so much to our friends on Harvard time. 850 00:41:37,270 --> 00:41:39,210 This was CS50. 851 00:41:39,210 --> 00:41:40,617 >> [APPLAUSE] 852 00:41:40,617 --> 00:41:45,310 >> [MUSIC PLAYING] 853 00:41:45,310 --> 00:41:48,240 >> DAVEN FARNHAM: And now Deep Thoughts, by Daven Farnham. 854 00:41:48,240 --> 00:41:51,060 855 00:41:51,060 --> 00:41:56,240 How am I supposed to figure out MySQL, if I can't even figure out my present? 856 00:41:56,240 --> 00:41:58,990 >> [CHUCKLING] 857 00:41:58,990 --> 00:41:59,702