[Week 11] [David J. Malan] [Harvard University] [This is CS50.] [CS50.TV] [This was CS50.] [♪ Music--Cher Lloyd Featuring Astro performing Want U Back ♪] (applause and cheers) [This was CS50.] [♪ Music--Keane performing Somewhere Only We Know ♪] (applause and cheers) We had some good times. This is the start of Week 11 and the end of CS50. [This was CS50.] Several weeks ago, we began the course with this mantra-- What ultimately matters in this course is not so much where you end up relative to your classmates but where you, in Week 11, end up relative to yourself in Week 0. And this really is something that we've emphasized and do believe in as a course. I bring this up now--particularly with Quiz 1 just behind us-- to reassure and really to bring perhaps some closing comfort that 1, Quiz 1 may have been a little long, (sound of laughter) but 2--what's really been interesting in teaching this course-- the whole team and I for the past several years--is really the changing demographics. For the past several years it's definitely been the case that we've seen numbers like this--where 75-plus percent of your classmates have no prior CS experience, no APCS, no honor CS, no CS whatsoever; and a relative minority actually end up having significant experience, and those--we typically dub those more comfortable. But what's been interesting is to see these demographics changing since 2008. In 2008--the green represents less, the red represents more, and the yellow represents somewhere in between-- and suffice it to say, the green demographic has been growing. As a percentage we have as many more comfortable students as ever, but what's been interesting over the years is building out a support structure in place that can handle all the more effectively those of you-- and this is many of you now-- who are feeling particularly among those less comfortable in that big, green box there. So, realize that we're well aware of statistics, well aware of data. It's absolutely the case that those more comfortable tend to perform higher-- more percentage points higher than those less comfortable, but as promised in the syllabus, all of this is taken into account at semester's end. Indeed, the teaching fellows and I--besides just normalizing the raw scores based on section scores and TF's harshness and so forth-- we also have a--really a conversation over email at the end of the semester where I will have 720 separate threads with the TF's about each and every one's students so we can really take into account that delta from Week 0 on through Week 11. So, rest assured that that is all indeed taken care of. With that said, comments like this don't go unnoticed. ["I saw you get a 30% on the CS50 mid-term. The sadness is overwhelming."] Now, I realize that I Saw You Harvard isn't necessarily the best thermometer to take the temperature of a course, (laughter) but what I did want to say--is actually highlight one of the anonymous respondents to this who really got it spot-on using language that we don't really put in the syllabus-- ["...CS50's curve is super whack."] (laughter) But I can say that this course really is intended to get everyone through it successfully. And taking into account--perhaps moreso than a typical course--efforts, prior experience, and really changes and progression over the course of the semester. So, take to heart, if unofficially, this particular respondent's questions here. Another fun one, in that one of our teaching fellows used this to assuage the concerns of some of his friends. This appeared on Facebook just over a year ago. Some of you might have seen this online, but this is Lucas, one of our teaching fellows. He's against comfort food, but David Malan makes me feel otherwise. So that was a couple of days I think after Quiz 1 in Fall 2011, but if Lucas-- you could stand up for just a moment as one of our teaching fellows now-- (applause and cheers) It indeed worked out okay. Really, CS50 is meant to be this ongoing process for us. This is hopefully not the class you feel we phoned in in any way, and indeed it changes quite a bit every year. In fact, things that you see here on the board--CS50 Check, Discuss Gradebook, Run, Spaces, Submit--all of these were new tools that the team and others developed over the past several months in order to make Fall 2012 all the more different and all the more of an experience for students, and we certainly realize that these things remain imperfect, but realize you've been as much a part of this experience and this experiment as we have in creating some of these tools and trying to learn from behavioral patterns just what works well and doesn't work well in a classroom. Indeed, this year we hypothesized that Annenberg office hours would be better than last year. And so, the long history here in just a second is that for 20-plus years office hours and CS50 were held in the basement of the Science Center-- a wonderfully-depressing, cubicle-like environment with fluorescent lighting. Back in the day, we would post a piece of paper on the wall. You'd come in, you'd have a question; you'd write your name physically on the wall, and then the TF's and I would walk around, crossing off names and then moving on to the next student. Well, that evolved over time into a white board. But last year, we then tried to reboot office hours altogether, and we've relocated to the houses--Leverett, Pforzheimer, Quincy and Lowell House-- on different nights, and it actually worked out wonderfully well. I think it actually was one of the defining characteristics of last year for many of the students and staff, but we also kind of pushed out all of the residents one night a week from all of the various houses. Suffice it to say, when 150 CS50 students show up there's not much brain-break food or chairs left in the rooms. So, we thought moving to Annenberg would be a net positive, and it had its pluses, but it also had its minuses. Frankly, I don't love personally the vibe that we had in Annenberg this year, so if you felt that way, too, realize that this again is very much a process for us, and we're talking with the houses perhaps about returning to them in some form. But, of course, the tension then is if we return to one house we'll overwhelm it. So we could move to 2 separate houses in parallel. The catch there--we'd have half as much staff in each room, and we worry that demand will then rise to meet the greater supply in chairs. These are the sorts of things we'll be thinking through and working through with all of the feedback you guys have provided--ad nauseum, I know-- on the Problem Set surveys, which we read and take very much to heart. Sections, too. We rebooted this year. The fact that you guys did relatively more coding online-- in Section using Run, or Spaces, or the chalkboard-- and did those exercises as part of the Pset was something new. This, too, worked well and not so well in different aspects. So, realize again, your feedback--which there'll be one more round of it forthcoming with the final project submission--is really invaluable for making the course as best as we can for future generations. The Shorts, too, were something entirely new this year and driven in large part by our participation in edX--which by the way, we're now up to 120,000. So, this too has kept us busy and will keep us busy through the Spring, and we would love to engage as many of you as possible in the development of CS50X; and this means more videos, more content, more tools and the like; and we'll followup via email about those opportunities. Indeed, for 2013, we're looking at more applications for students to use-- more integrated into the course. For instance, we envision for CS50 Check--integrating that into CS50 Run itself so that within the confines of your browser, in some future term, you'll be able to click a button and voila get immediate graphical feedback on your Problem Sets--much like you saw mid-semester with the first version of CS50 Check. And we'll also be rethinking office hours and Sections. So, now if that weren't enough reassurance that this is an ongoing process-- of which all of you guys have been part--this is a bit of a meme that's been going around over the past few days, but I just thought I'd share-- lest CS50 or some other course be stressing you out just a little bit, if you go to CS50.net/kittens, this actually has some DVR-- there's no kittens there actually yet, so here we scroll back in time-- let's go a little farther back-- Oh, come on, get on camera--that's a big cat. Let's find the kittens. (laughter) There we go! You can just watch this all day long if you're feeling stressed. (laughter) Allow me to introduce 2 of my colleagues-- Alyssa and Joy--for a moment up here. Come on up, guys. (applause and cheers) [Alyssa] Hi, my name is Alyssa. [Joy] And I'm Joy. [Alyssa] We're both sophomores in Quincy House studying Computer Science. [Joy] And we're also TF's for CS50. We actually held a seminar called ICT for DE Technology For Good. [Alyssa] We're starting a group on campus called Developers 4 Development-- [Is your code ready to say hello to the world?] [git.to/hd4d] [HarvardD4D@gmail.com] and it aims to empower you to apply your new-found CS50 skills to make an impact on the world. [Joy] So, we're going to bring in a lot of speakers from different fields--like global health, education and environment--to be able to connect you with opportunities to contribute to existing projects. [Alyssa] And we want to create a space for you guys to develop your own ideals as well. [Joy] So, if you're interested just check us out at git.to/hd4d in order to sign up for the email list and stay up-to-date with a lot of different events and opportunities. [Alyssa] Thank you! [Joy] Thanks! (applause and cheers) [David] We'll post the slides so that you have access to this URL after. What today's really about is not only wrapping up the course but also saying a few 'thank yous' which I thought we'd do up front since--even though it's you and the teaching fellows typically in the classroom environment-- realize there's such a big team that goes--that works behind the scenes including behind the cameras, behind the lights here in the lecture hall, as well as elsewhere on campus, and we wanted to thank not only them collectively-- as we'll do so individually after the fact today-- but also a few such folks who have really been integral to the course and have been perhaps among the most visible to you guys. The first one of which is Nate Hardison who we brought over from Stanford University to join us this year as Preceptor, and if Nate, you would like to come on up to say hello one last time this term. (cheers and applause) [Nate] Well, hello! Here you guys are at the end of a long course. You guys have done a ton of stuff, so you all deserve a huge pat on the back and all sorts of candy and relax over Thanksgiving. I hope you guys have really enjoyed it so far. I just wanted to say thanks for letting me be a part of the course. It's been an awesome experience, and I hope you guys have enjoyed it as much as I have. Thanks! (cheers and applause) [David] As this 1 image here suggests, Nate really was integral particularly with the development of CS50x which is still ongoing, and in fact when you have him here drawing on the screen in binary notation, using an iPad--Nate filmed quite a few of the shorts that some of you might have engaged with over the course of this semester. And so, this material will live on not only this semester, but the vision for these shorts and more is for it to carry over into future semesters, so that each year the course ideally gets a little bit better so that we can stand on our own shoulders-- and those of Nate and his colleagues here--to make more and more content and more and more opportunities for students to get at the course's curriculum. Another very familiar face I wanted to bring up on stage to say a hello is this woman here-- Zamyla Chan. (cheers and applause) Hi everyone! For one of the last times, I just wanted to say thank you to everyone for those of you who watch the Walkthrough, I hope that they helped. Also, congratulations to each and every one of you--regardless if you started out with no computer science experience whatsoever your first time coding or if you had a little bit-- definitely I know that each and every one of you made so much progress, and so you should definitely feel proud of yourselves, and I hope that this also isn't your last time dabbling in CS50. There's definitely a lot of life after it whether you take courses or-- you know, just continue on your own fiddling around. So, congratulations once again, and say hi when you have a chance. (cheers and applause) [David] Walkthroughs indeed seem to be very popular, and this is something that we're so glad that Zamyla agreed to take on this year. Indeed, she volunteered for the role and has been a wonderfully suited in that position and will live on on the Internet for quite a bit of time now. One more fellow is one of the fellows you've seen more recently. He dresses differently these days. He's been in a sweatshirt ever since this photo was taken. But Tommy MacWilliam started at CS50 as a TF years ago, and this was our staff orientation get-together a couple of years back. And I swear to God, he looked that uncomfortable the entire event-- to the extent that I actually dropped him a note afterwards asking him if there were people on staff that he knew or if we could introduce him to some people because we--on paper he was this amazing TF and this candidate we had hired, and I was genuinely worried that he was going to quit out of awkwardness. (laughter) But he didn't, and so Tommy if you'd like to come and say hello as well. (cheers and applause) [Tommy] Hi there! That email that he sent was really more along the lines of, "Hey Tommy, I'm really glad someone felt bad enough for you to come over to say hi. I hope that happens again in the future." (laughter) So really, I just want to congratulate everyone for getting through the course. It's so amazing to look back--if you had no coding skills, now you've gone through the semester, you've made a scramble of friends. You've made an amazing website and an even more amazing final project to come. I'm really so grateful that I've been able to be a part of this. I still remember 3 years ago sitting right there--the 2nd row in that section-- and in the same seats you are, just wanting to be a part of this course even more. I really encourage you to pursue CS further--even if it's not in the form of easy CS courses-- but just pursuing more technical interests and things like that. I'd really encourage that since it's an amazing world to get into, and I'm really grateful that I was able to. So, good luck on your final projects! (applause) [David] One last one for now. An email I received on November 2, 2009--(laughing) He writes, is it possible to get an account on Cloud.CS50.net-- the precursor to the CS50 appliance-- if I'm not actually in CS50? I wanted to take it this semester but was unable to fit it into my schedule. I'm a Freshman so could only take 4 classes, but I've been following along doing all of the Problem Sets, listening to all of the lectures--even coming to lectures when I could, etc. But now that you are on Cloud.CS50, I can't get the Problem Set framework problems and what not (sad face). Last week I worked on the spellchecker with someone in the class but couldn't get the satisfaction of working late into the night perfecting it since I didn't exactly want to ask the person I was working with for her ID and password so I could use her account to program my own things while she slept. (laughter) Rob Bowden, everyone! (cheers and applause) [Rob] Thanks! Congratulations on making it here. I'm sure for a lot of you that's meant a lot of late Wednesday and Thursday nights. Also, it's meant a lot of late Thursdays for a lot of your TF's. Be sure to thank your TF for all the work they've put in. I feel like I'm asking my students to thank me now, but you don't have to. (laughter) I look forward to some amazing final projects, and I challenge you to go back to PSet 1 and PSet 2 and look at the specs and the code that you actually wrote. Just think about it--this is so much easier now that I've gone 6 weeks since then. I'm sure you'll be impressed with how much you've learned. Thanks! (cheers and applause) [David] We thought we'd try something new for just a couple of minutes here. If Joseph and Tommy could join me up here on stage. Is anyone in this room comfortable enough coming up on stage-- conditioned on your knowing your meme? Would someone who knows their memes like to join us up here on stage? I see a lot of this-- Yes, okay. There's one. Come on up. Two. Come on up. Oh, so many now. How about three here, and how about four. And five. Come on up. We have 5 stools for you here. This is a new game we're work-shopping here in CS50. If you guys would each like to take a stool. Tommy and Joseph are going to run the mikes here. I'm going to take care of the slides. In just a moment, we've got a Know Your Meme episode here 2012. So what you're about to see is a sequence of memes. But let me introduce again, Joseph and Tommy, for the particulars. Oh, hi Lucas. You're playing too? Okay. (laughing) Tommy and Joseph. [Tommy] All right. So, the goal of this game is we're going to flash up a meme on the screen, and there are 2 parts. First, you have to name what the meme is, so we're looking for the official name not--oh yeah, that funny thing with that funny guy--the official meme. And then, for a bonus point, you can either make your own-- give your own caption to the meme--or give your best re-enactment. Make sense? Okay. The memes will be here, on the screen. [Joseph] Do you want to look for hands up in the air? [Tommy] You got hands? Okay, ready? So, here's our first meme. [Just used my last Pandora skip for the hour] [Next song is even worse] [Joseph] I saw your hand go up. I forget your name. I'm sorry. Vincent. Okay. Go. [Vincent] First Word Problems. >>[Joseph] That is correct. Okay. I'll give Vincent a point. (cheering) Actually, can we pass the mike around and speak into the mike so everyone can hear you. [David] Here, we'll give Vincent a stress ball. >>[Tommy] Vincent has just earned a stress ball. (cheering and applause) [Vincent] Walk from ye in dorms to Annebrook for breakfast. No hash--no the shredded hash-- (laughter) [Tommy] Awesome! Okay. (cheers and applause) (crowd murmurs as board tips over) [Joseph] Okay. I got it. I got it guys. I got it. [David] You know, I think we'll leave that in the video. (laughter) [Joseph] All right. Who's next? >>[Tommy] All right. Next meme. [Makes fun of you for your job] [Has no job] (laughter) [Joseph] Vincent's hand went up first, but since you just answered the last one, I'll let RJ do this one. [RJ] Scumbag Steve? [Tommy] That is correct. (laughter and applause) [RJ] Has one job. Drops the chalkboard. (laughter and applause) (audience laughter) [Tommy] And we can stop there. RJ wins. All right. Next meme. [Not sure if N64 games were actually better or if just because I was 10] [Joseph] Lexie's hand went up. [Lexie] Futurama Fry. >>[Tommy] That is correct. (laughter) [Lexie] Oh, man. >>[Tommy] Your own take? [Lexie] My own take? Not sure if nervous or just always has red face. (laughter) Oh, that was really bad, guys. Sorry. I tried. Love you all. (cheers and laughter) [Tommy] All right. Our next meme. [Oh, you wear a Northface jacket?] [You must go on to many adventures] (laughter) [Joseph] Oh, come on, guys. (laughter) Okay, someone raised their hand. Okay. What's your name? [Frankie] Frankie. >>[Joseph] Frankie, go ahead. [Frankie] Is it Wise Willy? (laughter) >>[Tommy] Not quite. Maybe an alternate name? >>[Joseph] Not quite. Does someone else want to go? Lucas? [Lucas] It's Condescending Wonka, something like that? [Tommy] Condescending Wonka is correct. (laughter and cheers) [Lucas] Or, are you taking off 20? Oh, I'm sure you really have a lot of stuff to do. (laughter) [Joseph] I'm not sure why I'm keeping score over here because--(laughter) Let's keep moving on. Okay. [Don't know a question on a test] [Answer is in another question] [Joseph] Your name? I'm sorry. Carl. [Carl] Success Kid? >>[Tommy] Yes. [Success Kid] [Carl] Finished last CS50 Pset at 7:30 in the morning. (laughter) [Tommy] All right. Next meme. [If 10 times better than leading brand why isn't it the leading brand?] [Joseph] All right. Your name? Adam. [Adam] Is it Philosoraptor? >>[Tommy] Yes! >>[Joseph] It is Philosoraptor. That is correct. (laughter) [Joseph] RJ really wants to say something. [RJ] Is it called CS50 because that was the average on Quiz 1? (laughter and applause) (more laughter) [Clean ALL the things!] [Joseph] Whose hand went up first? I think Adam's hand went up first. Okay. [Adam] Is it all the things? [Tommy] Yeah, we'll go all the things or also x all the y. [Lexie] It's in dispute. >>[Adam] Finish all the Psets. (cheers and laughter) [Tommy] Now here's where they start to get a little harder. All right. Next meme. [Gersberms] [Mah fravrit berks] (laughter) [Joseph] Let's let Lexie do this one. She's really excited. [Lexie] It's Ermahgerd, girl. (laughter) Are you ready? You guys ready? Okay. Ermahgerd! (unintelligible) (laughter and applause) [Ermahgerd] [I don't always find a TV series I like on Netflix] [But when I do, I watch all 6 seasons in 6 days] [Joseph] Easy one. Come on, guys. All right. Vincent. You have a mike already. [Vincent] The most interesting man. >>[Tommy] Yes! The most interesting man in the world. [Vincent] All right. I don't always get dumped, but when I do it's in CS50. (cheers and crowd murmuring) [Tommy] I'm sorry. >>[Joseph] So much hate. So much hate. [Arrives to class late] [Brings note from his mom] [Joseph] All right. RJ, you're not a Freshman. You can't do this one. Fine, RJ. [RJ] College Freshman? >>[Tommy] Yes! [College Freshman] [RJ] Looking for an easy semester? Take CS50. (applause and laughter) [How did the hipster burn his tongue?] [He drank his coffee before it was cool] [Joseph] Is it time for the crowd to get one? Does no one up here know what it is? [Tommy] Toss it to the crowd. In back, in the white shirt. [audience member] Bad Joke Eel! >>[Tommy] Yes! (laughter) Who said that? Oh. (laughter) [audience member] I'm usually really good at this. I'd look for my watch but I don't have the time. (laughter) [Joseph] Excellent! [David] All right! We have time for just 1 or 2 more here. [I'll have you know, I removed my flash drive without safely ejecting it] [Joseph] This one's hard. Any one up here? Anybody? Lucas. [Lucas] I guess it's bad-ass Spongebob or something? [Tommy] Yes. Tough Spongebob. That's close enough. [Lucas] I did all of the CS50 Psets without any late days. (audience murmuring then laughter) [I had fun once] [It was awful] Oh my God, how many did we bring? [David] Last one! >>[Tommy] My favorite meme. [I had fun once] [It was awful] All right Lexie! [Lexie] It's Grumpy Cat. >>[Tommy] Yes! He's so grumpy! [Grumpy Cat] [Lexie] He's so grumpy. The seamy roll in. I hate them. (laughter) [David] This was Know Your Meme! (applause and cheers) Thank you all so much! Let's take a moment to thank now the 110 colleagues that each of us have had this semester, and then we'll wrap up with a couple remaining fun things. If we could dim the lights for this film here. [thank you] [♪ Music--What Doesn't Kill You by Kelly Clarkson ♪] [cs50.net/apply] [David] If the teaching fellows and CA's that are here today or skipping class could come up on stage for our final moments here. (applause) So, it's indeed almost that time of year where we start recruiting, and believe it or not, we're a little non-traditional in that in addition to teaching fellows and in addition to the course assistants, we're also increasingly doing things a little non-traditionally with video production, with design work, and the like. So, if there is some aspect of CS50 that you would like to get involved with over J-term, or Spring term, or next Fall, or even this coming summer, do head to that URL starting tomorrow where more information awaits. [cs50.net/apply] Just a whirlwind tour through some final details. It's a tradition in this course and in other CS courses to have some end-of-semester gear, all of which is sold at cost, designed by the teaching staff or students. [store.cs50.net] Among this year's designs is the traditional but updated for 2012 shirts like this-- sweatshirts like this-- and then submitted by one of your classmates, this gem here. (laughter and applause) And, based on the applause we just heard, I suspect this one might be a top seller. [Kevin Schmid is currently replying to this post] (laughter and applause) So, those await you in the store. In terms of final projects, if wondering where to begin and you haven't seen this URL yet, know that Problem Set 7 CS50 Finance is really meant to be a stepping stone at least for the web-based projects that many of you end up tackling. If you would like to figure out how to transition from PSet 7--and you're savvy with it-- to the foundation of a final project whose code base can be based on Pset 7 start at this URL here. [final projects] [cs50.net/projectgs/begin] If you are indeed doing a web-based project--which again is not requisite, but if you go that direction and you would like to actually put your website on the Internet-- and not just on your laptop and your appliance--realize that a number of free and commercial options exist that will carry you beyond semester's end. Head to that URL there for details on what to do there. [web hosting] [cs50.net/project/hosting] And now in terms of taking the training wheels completely off in CS50-- whether you have a Mac or a PC, are running Windows or Linux-- realize that you don't need to be beholding to the CS50 appliance. Indeed, the course is really trying to take these training wheels off at this point in the semester, and so realize that in order to program-- whatever it is of interest to you after today and after final projects-- you can absolutely keep using the CS50 appliance, and indeed a lot of the staff myself included use the CS50 appliance for our own coding work just because it's a nice, representative development environment that fundamentally has nothing to do with the course--it's just been configured with a lot of popular, free, and open-source tools that we all like to use. But in the world of Mac OS there's Xcode, which comes from Apple. There's Eclipse which is free, NetBeans which is free, Code::Blocks; XAMPP which is a distribution that lets you run a web server fairly easily on your own Mac. Windows users have the same options--something called cygwin, Eclipse, NetBeans, Code::Blocks, as well as Microsoftware called Visual Studio, as well as this XAMPP software. In fact, we didn't push this earlier in the semester lest we disrupt the CS50 appliance, but now that we're towards semester's end, know that as Harvard undergraduates, you actually have access to free copies of Windows 8 and more. [Windows 8] [cs50.net/windows] If of interest, head to this URL here. Microsoft makes available to Harvard quite a bit of software. It does exclude Microsoft Office but operating systems are more are available there if you guys would like. Just realize if you do this and upgrade from Windows 7 to Windows 8 with the CS50 appliance installed, you're probably going to have to reinstall VMWare Player since Windows 8 likes to delete things related to VMWare fusion-- not the appliance apparently, but the hypervisor at least. And those of you running Linux, realize that you have options here--clang and gdb natively on your Linux computer, as well as some of the same software you just saw. Rewind now to Week 0, and this is where we began. You guys have definitely come quite a ways from there. We saw the god-awful hello world in C shortly thereafter, but just think. Fast forward to Scramble, to Forensics, to Problem Set 7 in CS50 Finance-- hopefully you feel you've come quite a distance, no matter where you actually began the semester. So, what awaits you now is the CS50 Hackathon. [CS50 Hackathon] [Wed 12/5, 8 pm-7 am] This is a tradition begun a few years ago. Space will be limited. You'll hear about this via email from us in just over a week's time when we'll commence a lottery of sorts, but if you do wish to partake in the CS50 Hackathon, the structure will essentially be as follows. We literally have CS50 shuttles that will take you from Harvard Square to Kendall Square where Microsoft has a beautiful office that we spend the entire evening in, and upon arrival, you will see this hallway here. Walking down it and up to the elevators, you'll then see someone like Kenny here greeting you with lots of balloons, at which point you'll see a very cleverly-worded sign made every year by the TF's in order to figure out what line you should get in. All right. (laughter and groans) Well, it's going to be there. Then you'll grab a name tag from one of the folks checking you in. You'll put it on, and around 9 p.m. you'll grab some candy and the like. You'll set up shop with your laptop and hundreds of your classmates. The TF's, CA's and I will be floating around doing our own thing-- answering questions and the like. Shortly thereafter, some pizza will be served. This was last year's event here. Then we'll all get back to work writing some code. Then around 1 a.m., some Chinese food will be served, and you'll transition from this environment to one a little more like this, and about half of the table is actually cut off. That was catering from a local Chinese place last year. Then around 2 or 3 a.m. we'll get back to work, and from there transition to-- if you're still awake--to IHOP. In fact, even if you're awake when you get on the shuttle, it doesn't always work 'til the end. This is not uncommon in the IHOP down the road. And then after this, of course, is the CS50 Fair which is an event for all students in the class. [CS50 Fair] [Mon. 12/10, 11 am - 4:30 pm] It's meant to be really the climax of the semester towards semester's end where you'll have an opportunity to descend stairs like these in northwest Science, just up the road. You'll be pelted with stress balls typically by the TF's dressed something like this. Upon arrival you'll head to a table where hundreds of faculty and students and staff from across campus will be joining you with balloons and with people glancing over your screen looking at what you've done, with such cool things as recruiters situated in the back. We invite our friends from industry so that you can chat up folks about life after 50-- whether it's an internship that's of interest, a full-time gig, or the like. This is a beginning list of this year's attendees who will be joining us. Perhaps more compellingly, we also have a raffle each year whereby upon arrival for each student, you chat up--whether you're in the class or you're a friend of someone in the class--you'll be handed by a CS50 student a little sticker. The more stickers you accumulate from having these chats, the more opportunities you have to win fabulous prizes like these from last year. [Wii, iPad, Wbox Kinect, Samsung Galaxy Tab, Nintendo 3DS, Kindle Fire, iPod touch, B&N NOOK Simple Touch, 100GB Dropbox upgrades, Beats by Dre] So, that too helps break the ice so that if you don't want to be that awkward person that walks up to someone and starts chatting them up--now at least you have an excuse-- you want an Xbox. There will also be in attendance some food, and some food, and then at 4:30 p.m., in an instant, it will all come to an end on December 10th. But before we get to that point, and before we adjourn to cake downstairs in the pub right after this, we have just one more video in CS50 Fall 2012. On behalf of myself and the staff, thank you. And we will leave you with this final memory here. (sound of cellphone alarm ringing) [♪ Theme from Mission Impossible playing ♪] [To Be Continued] [12.10.12] [The CS50 Fair] (applause and laughter) That's it for CS50! Cake is now served! We'll see you at the fair! (applause and cheers) [CS50.TV]