[MUSIC PLAYING] 00:00:14,750 --> 00:00:16,140 DAVID MALAN: All right. This is CS50, and this is week 11. Our very last. And yet, curiously somehow, our second. But it's great to see everyone here again, and the goal today is several fold. Among the goals for today, is to introduce you to applications of computer science in the real world by way of virtual reality. And we'll do that by way of CS50 itself, a bit of gaming, as well as by the world of archaeology-- something that I myself took an interest in back in grad school-- and also we'll get, hopefully, a bit of emotional closure. Indeed, if you think back on what we've been doing this whole semester, whether you took some CS class before this or not-- I mean, this class is entirely about problem solving. And the thing I would encourage you to keep in mind is that, no matter how cryptic C might have felt, or no matter how you might have struggled with Flask, or Python, or any other particular implementation details of problem sets, at the end of the day, everything we did really boils down to this mental model. And so truly if you walk away with nothing else from CS50 other than this appreciation, that even though you might not necessarily know in advance what goes inside that box, algorithms are the solution. I mean most everything we humans do, with or without computers, can be reduced to this form of problem solving. And realize, too, that just 12 weeks ago, 73% of you had never taken a CS course before. And then you went through in Scratch, and then C, and then memory management, and then implement your own hash table, or try in your own web based application, and soon your own final project. So I dare say that no one here is among those less comfortable anymore. Indeed what ultimately matters now is not so much where you end up relative to your classmates, but where you all end up today, in this week 11, relative to where you were in week 0. Indeed, it's worth noting that most of the course's teaching Fellows in course assistance, were exactly where you were, just a year ago today. Indeed, I thought we would hit play on a short film that the staff has put together to paint the picture of exactly what it's been like for them, since graduating from CS50. I give you CS50 staff, for Fall 2016. [VIDEO PLAYBACK] - I'm Analea, and this is CS50. [MUSIC PLAYING] 00:02:25,880 --> 00:02:28,230 - Thank you so much to this year's staff, without whom the course really wouldn't be what it ultimately is for students. Indeed, more than just videos, and problem sets, and tests, and quizzes, CS50 really is about the interpersonal experience, that students have in the course, and that connection that they make with the whole teaching staff. - So as a student, I really struggled to learn pointers, but I had great TF, and he was just so inspiring that I really wanted to join the team myself. - When I applied to Yale, I was an English to sociology prospective double major, and now I am a computer science major. So that's a little bit about how much CS50 changed me. - You can come in, take the class, do well, and even know the material so well that you're teaching the next year. - CS50 is one of the best opportunities you're going to have here, while you're and undergraduate, to teach a course to your peers, and to really be a leader amongst peers. - When you teach something, you're able to gain like 10 times as much knowledge as when you just learn it. - I've become much more comfortable with computer science fundamentals, just by teaching them, rather than taking classes on them. - It's really amazing to watch these incredibly bright eyed, incredibly enthusiastic, just fresh out of high school students, learning about CS, and asking these really intense, really detailed questions. Just getting really excited about the material with me. - It's for that aha moment, when you're helping a student in office hours, and they've been struggling for hours, and all of a sudden they get it. And it's that moment that I think is really special. - We are super, super excited every year when we have new people apply for CAs, NTFs, and greeters. And being on staff is the most fun part of CS50, it's been super, super, defining of my whole experience at Harvard. - To my students, I'd like to say-- - You're live! - --I love you all. - You guys are great. - --And comment your code. 00:04:01,780 --> 00:04:05,805 - You should be a TF or CS50 to be able to empower others, it's as simple as that. [MUSIC PLAYING] 00:04:23,855 --> 00:04:27,150 [END PLAYBACK] DAVID MALAN: Allow me to take a moment now, to thank a number of members of the teaching staff, among them Maria and Walter, Doug and Alec, Rob, Zamyla, and truly, CS50s whole team. In fact, if you've never actually clicked on the staff link on CS50's page, thanks to Luke in the production team, you'll actually see the biggest abuse of animated GIFs ever. But it brings to life the entirety of CS50's team here, and so thank you so much to the entirety of our staff, our teaching fellows, course assistants, producers, everyone here in Sanders who's been helping us out all term, and everyone who's been helping us out even before this term. In fact, one of the most frequently asked questions at CS50 lunches, or whenever I've chatted with folks one on one, has been essentially along the lines of, and we just got this question today, what's with the weird black and white dramas at the end of lectures. And indeed, if you haven't noticed, at the end of most every lecture is a little vignette inspired, in fact, by Citizen Kane, a film that you may have seen. And even if not, it's meant to, when watched contiguously, to tell a CS50 variants of that same story. And even if you haven't watched them all, they're all on CS50's home page, and we thought we'd give you a bit of emotional closure with the last such scene, wherein it is revealed what Rosebud is. [VIDEO PLAYBACK] [MUSIC PLAYING] 00:06:25,143 --> 00:06:25,726 [END PLAYBACK] DAVID MALAN: So, if you have no idea what it is you just watched, that's fine. Take a look at CS50's home page, where all of them are now concatenated together. What you may have noticed, either from our first week's lecture, or from some of the videos that have been going online over the course of the term, is that there's been this thing here. This special camera that has eight lenses on it. Because for the first time this year, we thought we would try to push the envelope a bit technologically, bringing into the classroom a new form of technology that you've perhaps seen gaining steam in gaming, and in industry more generally, virtual reality, or VR. Which is a technology that allows a human to either, in simplest form, take their mobile phone, and pull up Facebook or YouTube or the like, and sort see around them the entirety of some three dimensional space, just through the lens of that rectangular region. But better yet, if you actually put on a special headset, like Google Cardboard, or Samsung Gear, or Oculus Rift, or HTC Vive, or bunches of others, you can actually transport yourself virtually to a space like that. So if you've been wondering what it's been like to sit-in on lectures all year round in Sanders, you can actually go back and relive that experience, thanks to this kind of camera here. And in fact I can draw attention to it in the photograph here, and I can also draw attention to CS50's Conor Doyle, a sophomore who joined us just over a year ago on CS50's team. In fact we met him at [INAUDIBLE] and he came up, as pre-frosh are want to do, expressing an interest in getting involved in CS50 goings on, since he's been an aspiring filmmaker and technophile. And so he actually joined CS50's team last year, has been taking CS50 this semester, and has been our go to guy for all things virtual reality, as well as alongside CS50's home production team. And so I thought it would be appropriate, given how much time the team has spent on this technology, in large part, not so much to simulate what it's like for Harvard students or Yale students to experience classes in Sanders Theater, but there's this whole outreach effort, these days, by way of a program called AP CS Principles. Which is a new AP course from the College Board, that high school students around the world can start taking in satisfaction of an AP credit. And CS50 is just one of the implementations of that new course. Co.org, UC Berkeley, and others have theirs. And so really the overarching goal of this kind of technology, is to give a window into a classroom, that high school students, or adult students online, couldn't otherwise participate in from such afar. So allow me to invite up CS50's own Conor Doyle. Welcome to Conor And while we get some things set up, would someone like to volunteer to be a participant in CS50 VR, putting on his or her face virtual reality goggles. Can't quite see them, any faces with the lights, OK, right here, OK. Come on down. Wonderful. Tiptoe past the camera, there we go. All right. Conor's getting things set up, and what's your name? JONATHAN: Jonathan. DAVID MALAN: Jonathan? David, nice to meet you. Come on over here. And so if we put you center here, Conor, as we get Jonathan set up here, what is it we are about to do, and what is it he's about to experience? CONOR DOYLE: Sure, so, the Nokia OZO camera has eight sensors on it, and it's capturing the entire world. So wherever you are on stage right now, it's capturing you. And you can't really escape it. So what we're doing, is we're taking the HTC Vibe, which is a room scale VR experience, one of the best headsets on the market, I think, right now. And we're going to put it on you, I'm we're going to go back to week zero, and you get relive sort of week zero experience, with this HTC Vibe headset. DAVID MALAN: And so after each lecture what CS50's production team is essentially this, it's a little washed out on the screen here, but it's eight images from each of the lenses, and then using special software, do they stitch it together in such a way that the resulting image is essentially a video that's a full 360 degrees. In fact, the reason it looks distorted here, is because once you put the headset on, does it wrap that world around your head, so that if Jonathan looks up, down, left, or right, his eyes are actually going to be seeing something a little different. So we'll change the screen here to Conor, and Jonathan's set up. So you are seeing now-- if we could perhaps dim the lights-- what Jonathan is seeing on his own headset. [VIDEO PLAYBACK] [MUSIC PLAYING] 00:10:36,200 --> 00:10:38,810 CONOR DOYLE: This is week zero. - This is [INTERPOSING VOICES] - --introduction to the intellectual enterprises of computer science, and the art of programming. And my name is David Malan, and I was just thinking this morning, that it's been, amazingly, 20 years today, since I last sat where you guys do now. DAVID MALAN: So you'll notice, too, it's a little hard to see the touch screen from the headset so if Jonathan, you'll look toward the screen, and then look down, you'll see that it's digitally superimposed there, so that for code especially, you can see it all the more realistically. All right. Well thank you to Jonathan. Let me bring you back to reality if we can. [END PLAYBACK] DAVID MALAN: Thank you. Welcome back. We have time for maybe one or two other demos. Would a second volunteer like to come on up, now that you know what you're getting-- oh, now their hands are going up. Let's see, a little farther back, a little farther, OK, waving at me there, in the jacket, come on down. All right. Come on down. So, it's a little harder to justify this one academically, but you'll see artistically, what's truly possible in this virtual reality in space. In fact the game, or the program, we're about to see, Tilt Brush, allows you to paint, not just in a two dimensional space, but in a three dimensional space, so that that once painted, you can actually step in, and around, whatever it is you have created. What's your name? MARIANNA: Marianna. DAVID MALAN: Marianna? Nice to meet you. Let me introduce you to Conor. CONOR DOYLE: Hi, nice to meet you. Just going to Drop this on your face. Careful. DAVID MALAN: We can start a really, really long line afterwards, perhaps, to play, but. MARIANNA: Oh, it's a game? DAVID MALAN: Yeah. And this time, we're going to give to Marianna, hand controllers, that will allow her to physically move and manipulate this three dimensional space, and not just sit there experiencing what it was like. So if we can dim the lights here, too, you'll see digital representation of the game controllers, essentially, that are in Marianna's hands here. MARIANNA: I can go inside of it? CONOR DOYLE: Yeah. If you look-- DAVID MALAN: Want to go ahead and spell something out? OK. AUDIENCE: What's my name? [LAUGHTER] DAVID MALAN: In a really big circle, yeah. Oh, nice. 00:12:49,850 --> 00:12:58,740 And now notice you have a few feet, you can go a few feet, and notice you can look around in that three dimensional space, because, what we have on this stand here, and this stand over here, are little sensors, that are essentially talking to the hand controllers that Marianna has. And it's figuring out, relatively speaking, her position in space. 00:13:20,030 --> 00:13:21,028 Very nice. 00:13:23,960 --> 00:13:25,522 You're not coming back, are you? All right, big round of applause, if we could for Marianna! 00:13:32,028 --> 00:13:33,024 Thank you. MARIANNA: Thank you. DAVID MALAN: Thank you. And could we get one more volunteer, and then we'll move-- OK. Two hands, right here, come on down. What's your name? Joseph: My name's Joseph. DAVID MALAN: Joseph. All right, Conor, what do we have in store for Joseph? CONOR DOYLE: So this is my favorite game coming up. This is essentially Fruit Ninja, in VR. So basically, what that means is, you're going to be getting samurai swords, and you can go twaaa. Like, slice a fruit. It's awesome. Wicked. So we'll get this up real quick. 00:14:10,640 --> 00:14:11,705 One minute. There we are. All right. Jump up on your head, on your eyes, can you get it? And this behind you. And give you the samurai swords. Could you step forwards now and hit-- if you look. 00:14:34,046 --> 00:14:37,020 If you remove the cable, that isn't-- DAVID MALAN: Standby CONOR DOYLE: --isn't helpful. One minute. 00:14:42,968 --> 00:14:43,824 [MUSIC PLAYING] CONOR DOYLE: It's just going to-- there we go. We're back. DAVID MALAN: All right. So, if you've never played this game before on IOS or Android, the goal is simply to slice fruit. CONOR DOYLE: One second. 00:14:58,450 --> 00:15:00,510 But weird seeing everything. One sec! We've got this. All right. Here we go. Resetting. 00:15:09,330 --> 00:15:09,910 Revamiping. DAVID MALAN: We're rebooting. All right, Fruit Ninja, splash screen's coming up. 00:15:20,080 --> 00:15:21,000 CONOR DOYLE: Yes! We're back. Here we go. So if you look and slice the banana, tap eight. 00:15:30,524 --> 00:15:31,690 There we go, turned them on. 00:15:34,840 --> 00:15:36,410 There we go. Arcade. 00:15:43,360 --> 00:15:45,820 [SLICING] 00:16:15,194 --> 00:16:16,254 CONOR DOYLE: That's that. That's basically, that's the game. 00:16:20,980 --> 00:16:25,450 DAVID MALAN: You have to be comfortable, by the way, being on the internet. Something to share at home. Thank you. And special thanks to Conor as well. So, truly this initiative, this experimentation with new technologies and academia, is in large part, in our case, inspired by our friends in the archeology department. In fact, just a year ago today, CS50 and myself included, had no idea what it would mean for us to produce CS50 in virtual reality. But we reached out to our friends in the archeology department, who had been experimenting with this technology in Egypt, and in actual environments where it makes all the more sense to be able to transport humans to places they might not be able to go, and experience, virtually, what it might be like to be inside of a tomb, or inside of a pyramid, or museums, that not everyone in the world could otherwise access. And I'll admit, a personal fancy for this field, I had a sort of mid grad school life crisis, some years ago, where I started wondering, why am I doing my Ph.D. In computer science, and not archaeology? And that's because of the inspiration of friends like ours, like Professor Peter Manuelian, who will come now up, and introduce us to the world of VR in Egyptology. 00:17:37,450 --> 00:17:40,150 PETER MANUELIAN: Thank you. Emotional closure and fruit slicing. I'm not sure I can match that, but I'll do my best. So I'm going to take you back into the past, and just while he was thinking, why didn't he go into archaeology? I'm thinking, why didn't I go into computer science? All right. I'm going to take you to my favorite place in the world, outside of Harvard Square, of course, which is, the Giza pyramids, a place I've been involved with for quite some time. And this is all about using the tools of the future, what you're doing, to study the past, basically. The great golden age of archeology worked at the pyramids for many, many decades. And you can see it's still going on. The black and white shot is really from the Indiana Jones days, and then down below is a recent photograph. Why do we go back to this place? Because there's still a lot of really cool stuff there. There are tombs, all around the pyramids, from about 2500 BCE, and these tombs are loaded with scenes, and statues, and anything you want to know about ancient Egyptian culture and civilization. It's all there in frozen moments on the walls. There are gorgeous small objects that have come out of these tombs, and they're in museums all over the world. And then there's big stuff, too. There's hidden temples under the sand, fantastic pyramids, private structures as well, and some of the great statuary that we've ever found. These are in the Museum of Fine Arts, and you may have seen them. We owe all of this to one guy, and you know where that photograph was taken? Right outside that door. Yes, this is the class of 1889, and my predecessor was George Reisner, and there you can see him in his class photo. In those days, they took them right outside the doors of Mem Hall. So, this is the guy who created something called the Harvard University Boston Museum of Fine Arts expedition. And all of you should be feeling justly proud of a 40 year expedition that worked at 23 different sites, up and down the Nile. I'm just going to talk about the Giza pyramids, up towards the top of this map, here, but everything in red that you see is a Harvard MFA expedition site. So this guy died at the pyramids in 1942, and he's actually buried in Cairo. But he left behind a massive archeological archive, and it's full of stuff like this. And so problem solving, as David was saying the beginning of the hour, here, this is basically all about problem solving. So how do we take this incredible archeological archive, that's locked up in boxes, and rolled drawings, and diaries, and type scripts, and glass plate negatives. How do we make that accessible? How do we study the past, in ways that we haven't been able to do before? And there's great stuff here. There's register books, on the right, that's the SQL database of it's time, right? Enter every object, give a drawing, give it a number. Diaries that describe what they did every single day. Photographic registers, and that's what we did. We started out making databases of all of these things. This is way back in the year 2000. And thanks to the Mellon Foundation in New York, and about 3 and 1/2 million dollars. So it's linking. It's intelligent connections between all these diverse types of data. Photographs, drawings, diaries, statuary, records, notes, cards, everything. All of it centered, in the middle there, around the tomb that relates. So pick a certain tomb, find out what we got. What do I mean by that? Let's walk it through one particular piece. So here is a statue lying in its burial pit, as it was found in 1936. We find it, we take it up to the dig camp-- which by the way, behind the pyramids, was called Harvard camp. We take photographs of it, and glass plate negatives. There you see the statue of the standing male from the Fifth Dynasty. It gets entered in the diary record for what happened that day, in April of 1936. Then we have the SQL database, right, the object register book, where it gets a sketch, and a description, and measurements, and photographic negative numbers, and all that. Plan and sections of the tomb shaft of the pit that it actually came from. Preparing of the manuscript for publication, eventually. And then the big decision. Does it go off to the Cairo Museum? Does it come all the way back to Boston? And the packing list tells you what went where. And eventually this particular statue came back to Boston, and you can see it today, in the Museum of Fine Arts. So our database-- and there's a sample page on the right, which is pretty confusing looking, and we're working on something better, now, right here at Harvard. That's the page that would link the tomb, and all the associated data. So you could do any kind of faceted search on the items that you see down on the right hand column there. Who are the people related? What are the objects? What are the photographs? What are the drawings? What unpublished, what's published? All of that together. So the relationships get pretty complex, as you can imagine. Here's one of our little site maps, that shows us each of those blue balloons, the big ones, would be a site, or a tomb, and you can see all the stuff spinning off of it. Related items, that allow you for faceted searching. And the more items there are, the more granular that you can get. So, problem solving. How do you take this traditional archeological archive, and put it in some kind of organized arrangement, that for today's technology, will make it useful for scholars? So here's our layout of our forthcoming website, and all the different pull down menus, and options that we're trying to do. And we did create this Giza website, you can see the URL at the top, there. That's where the traditional data is. Then we teamed up with a 3-D modeling company in Paris, called [INAUDIBLE] System. And we said, why don't we build a 3D model of the entire site of Giza? And my megalomania was, of course, to try to put every single tomb, and every statue, and every ceramic pot, back in place, eventually. But we're not there yet, but we're getting there. So down below, this website is also fairly old now, and it only works on PCs, unfortunately, not Macs, and we're working on something new. So the goal is to combine the traditional data, up top, and the 3-D data, down below, into a new, Harvard owned, Harvard hosted, Giza website. And that's where the computer technology comes in. So it's Studio Max, and Maya, and programs like this. Starting with the archeologically responsible maps, and plans, and drawings, creating wireframe renderings of these tombs, and the statues, and the objects. And then putting them together, and adding textures, and adding realistic appearances. So here's a cluster of tombs on the west side of the Great Pyramid. You can see the original archeologists plan drawings, there in front. From there, we get to this, and we get some pretty realistic and amazing things. Now you can start to experience a place like the Giza Plateau, in ways that a human being can't, when you go to the site itself. We can study what's above ground, we can study the burial shafts that are down below. I always dream of this, what I call the tombs eye view, of Giza. Being underground, in the limestone bedrock, and looking upwards. So we launched all of this material a few years ago, and it got tremendous worldwide press, in lots of different languages, and now we want to take it further. So it's time to upgrade. And here's a sneak peek at what I hope will be launched next year, early next year, just a prototype of our new Giza website. And there you can see the 3-D model that we've created. So there's a teaching classroom above the geological lecture hall, where we do this in VR. Students come in, put on the 3D glasses, and experience the model this way. And it's not just a video, it's a real time model. So I can dive down a shaft, or go to the left, or go to the right, whatever it is that they want to experience. It's a pretty cool way to look at the site. The next step, of course, is what you've just seen, is to take it to the headset level, and then get it out of the classroom, and make it accessible all over the place. So to do this kind of thing, you've got to study the reaction, the focus groups. And here's just a sample of one of our sample users, who would then use the web, try to search for something for a school report, maybe go on the website, what pages would they go to? Would they even end up at our home page or would they dive right in. We're studying this bit by bit, and we hope maybe some of you might be interested in checking this out, and giving us your feedback at some point, too. That allows us to lay out the various pull down menus, and how the searching should go. Suddenly, we're trying to be all things, to all people, right? Someone who knows nothing about the pyramids, but just wants to know, hey, what's cool here? Or, a Ph.D. candidate, who's trying to do a dissertation on every statue of a seated female facing to the left on a tomb wall that's on the south floor, or on the west side of the pyramid. Trying to provide everything for everybody. So lots of cool stuff still to come, and my fantasy is that eventually everyone's got one of these headsets, whether it's Google Cardboard, or HTC Vibe, or whatever. Wherever you are in the world, everyone logs into the same file, and we are all standing virtually together in front of the Sphinx, and I can be giving my lecture there. And then I'll say, push button two, and we'll go inside the Great Pyramid and continue to talk. So I want to leave you with just one other experiment that we did, which was kind of fun, and that's where the computer world has taken us back into the physical world. Normally you go from physical into virtual. We went backwards in this experiment. So in 1925, that area that you see circled right there, was the site of an amazing discovery. A hidden, disguised burial shaft, that went 100 feet down underground. And at the bottom of this, was a chamber that had tons of stuff, completely deteriorated, and in tiny little bits. And it turned out to be the burial place of the mother of the King who built that Great Pyramid, right to the right. Her name was Queen Hetepheres, and she had a lot of amazing furniture down there. But it was in tiny fragments, because all the wood had deteriorated. So there were reproductions and restorations of some of her stuff, but this is the fanciest one. This is a throne, or a chair. And it took about a decade for the archeologists to make that reconstruction drawing. Could we maybe dim the lights a little bit, and see the 3-D model here? This is our 3-D model of experiencing that chamber, with everything restored. So now you see all the furniture, the bed canopy, the curtain box, the chairs, the carrying chair. And over on the right, that's the fancy chair, with these amazing Falcon arms, and inlaid faience tiles, and gold gilding. So we studied the original fragments, these are in the basement of the Cairo Museum, and tried to figure out, could we put this together? And yes, indeed, we could. So we made 3-D printing models from our computer model, nice tiny little ones. We should sell those in the shop someday. There's our 3-D computer model of the chair. And we thought, can the computer actually drive the milling machines to actually make this thing? And sure enough, they can. So this is a CNC routing machine, a shop bot, and you see it's actually carving one of these lion shaped legs. And there's the arm, the Falcon is taking shape in this piece of wood. All made possible by ones and zeros, right? By the computer model, originally created from archeological plans and drawings, into 3D Studio Max, and then out the other end as wood, and as gilding, and as faience tiles, which we created with the ceramic center across the river, and my thanks to Cathy King for her help there. And then, wouldn't you know it, we have a full size, gold and inlaid chair of Queen Hetepheres. Which you can see in the Semitic Museum on Divinity Avenue, any time. Free admission. Come by any time and experience that chair. So, the computers, and the databases, and the simulations, and the VR, are helping us go in all these different directions, ask new research questions we haven't been able to ask before, and hopefully get new answers as well. So some of my classes end up in this visualization lab classroom that I mentioned before, where, in 3-D. Or even in aerial shots, like in Google Street View, and Google Maps, and things, we can experience the site as it is today, as it was in 1920, during a great discovery, or all the way back to the Fourth Dynasty in 2500 B.C. It's great fun. And as I mentioned, the next step is to get it out of the classroom, and into hands, like yours, so you can all be experiencing this type of amazing, immersive, exposure to digital archaeology. Back at the site, we're involved with some other interesting projects, too, such a shooting cosmic particle rays at the Great Pyramid, right there. These are muons, and what they tell you, is where there might be unknown cavities, corridors and chambers, inside the Great Pyramid. These have been announced in the news recently, and we have more work to do. But you're looking at the facade of the Great Pyramid, and all those little white dots are showing anomalies, or voids, where, who knows, there may be previously uncharted corridors and chambers. Stay tuned for more on that. So I'm also, in addition to Professor of Egyptology, I'm the Director of the Harvard Semitic Museum, and my goal is to try to blend the ancient artifacts with some of these new technologies, in the galleries. So I hope, next time you come, you'll be able to see touch tables, and some of these VR experiences, and ways to bring these ancient artifacts alive. And in previous years, we've actually listed the types of interesting projects and challenges that we face, in the hopes that experts like you, might want to get involved at some point, and build some tiny little app here and there. I know we're a little late in the semester to take on any of this this year, but keep these things in mind, if it's something that you want to get involved with. Or, just for more exposure to ancient Egypt, a couple of classes that are kind of fun. One is a Gen Ed class I do, called Pyramid Schemes, and the other is Just on the Giza Plateau, and those are coming up in the not too distant future. Why is this important? Why should we worry about this? Well, take a look at what's happening at the site, and at these objects. Things that were in great condition as late as 1920, now look like this. So before, above, after, down below. Or, over on the right, the beautiful paint on that sarcophagus, which today is in the Brooklyn Museum, and you'd never know it was decorated or painted. All of it is gone. So many ways that you can study these archeological sites better, from the archives, from the photographs, from the VR reconstructions, from the immersive modeling, than you can even if you go out to the site, or even if you look at the artifacts today. Which one of these things will survive longer than the other, do you think? I leave it to you, to be the judge of that. Right? How many devices do you have, that just don't work anymore? Or the disks that run on them don't play? Or something's locked up and frozen on you? Well, down below, limestone rules. So I will finish with that. I thank you for thinking about the future. And I thank you for taking this course, and I also want you to think about the past and the future together, and the ways that we can combine these tools, and unleash, not only where we're headed, as a civilization, but where we've come from. Thanks very much. [APPLAUSE] 00:31:31,177 --> 00:31:33,010 DAVID MALAN: So in addition to acknowledging all of the course's staff, who have been so involved behind the scenes, we wanted to take a moment and acknowledge some of the course's students, by way of something that might offer us a bit of comfort, perhaps, versus this past weekend. Let me go ahead and open up a window here. So we have a few acknowledgements to make. And one of them, we thought, would be fun to do by way of this game here, that will rematch Harvard against Yale, and some others, for which we need, for just a moment, one volunteer. One volunteer. Some other hand? Any other hands there? No? OK, two hands, I guess, does it. Come on up. What's your name? Arpith: Arpith. DAVID MALAN: Arpith. All right, Arpith's going to come on up, and from here we'll transition to later problem sets, and a final look at-- nice to see you-- what lies ahead. So this is Ivey's Hardest Game, by one of your predecessors. Come on around over here. I'm going to go ahead and hit click the green flag, as you may recall from some 12 weeks ago. If we can crank up the volume here. You're going to go ahead and press the spacebar to start, and use the up, down, left, right arrows. [VIDEO PLAYBACK] [MUSIC PLAYING] - Can't touch this. 00:32:43,376 --> 00:32:47,002 Can't touch this. Can't touched this. 00:32:50,780 --> 00:32:51,900 Can't touch this. DAVID MALAN: So notice, of course, the loops that must be involved here, the if condition that just executed. 00:33:00,110 --> 00:33:01,225 The copy operation. 00:33:05,780 --> 00:33:06,485 Slightly faster. 00:33:09,590 --> 00:33:10,550 Very nice. Lots of the variables. Up to level five. 00:33:13,090 --> 00:33:14,590 - Can't touch this. Yeah, that's how we livin' again. Can't touch this. Look in my eyes, Can't touch this. 00:33:24,020 --> 00:33:27,857 Fresh new kicks and pants, you gotta like that now you know you wanna dance. Now move, outta your seat, and get a fly girl and catch this beat. While it's rolling-- DAVID MALAN: You have lives you can spend. - Like that. Like that. DAVID MALAN: Nice. Nice. - Can't touch. Yo, I told you. Can't touch this. Can't touch this. DAVID MALAN: Nice. Level seven. - Yo, sound the bell. School's in, sucker. Can't touch this. Give me a song, or rhythm, making them sweat that's what I give them. They know, when you talk about the Hammer, you talk about a show that's hyped and tight. Singers are sweating so pass them a mic. Or a tape, to learn what it's gonna take and now he's gonna burn. The chart's legit either work hard or you might as well quit. That's word, DAVID MALAN: Level eight. - Can't touch this. Can't touch this. DAVID MALAN: Second to last level. Level nine. - Break it down. 00:34:24,920 --> 00:34:27,780 DAVID MALAN: Level 10! [MUSIC PLAYING] 00:34:34,493 --> 00:34:34,992 - Stop. Hammer time. [INTERPOSING VOICES] So wave your hands in the air, bust a few moves run your fingers through your hair. This is it for a winner Dance to this and you're gonna get thinner. Now move, slide your rump, just for a minute, let's all do the bump. DAVID MALAN: You all right? - Can't touch this. Arpith: Is it beatable? DAVID MALAN: It's beatable. With practice. - Can't touch this. Ring the bell, school's back in. Break it down. 00:35:11,300 --> 00:35:14,060 DAVID MALAN: Try one or two more times. Two. 00:35:18,810 --> 00:35:19,310 - Stop. Hammer time. DAVID MALAN: All right, one more! One more! 00:35:25,520 --> 00:35:27,455 Oh! All right. We'll post this online, thank you. We'll post that online, if you'd like to tinker, as well. So you may recall that in addition a problem set zero, there was problem set four, for which there were some icing on the cake at the end. Whereby you were challenged to find as many of the computer scientists as you could. And we wanted to acknowledge a few of your classmates, Pedro, Vicki, and Mikhail, all of whom sent us quite a few selfies of the staff, beknownst or unbeknownst to them. So some fabulous prize awaits you, via your email. In problem set five, meanwhile, you'll recall that we had the big board. And this was an opportunity to try to minimize how much running time, and how much space you ultimately use. It turns out, that this year's big board was dominated largely by CS50s own staff, who were formerly students, at least, themselves, and had an extra year to refine their code. But we did want to acknowledge CS50's own Derek Wang, for being atop the board among the students. So congratulations to Derek, you, too, will see something in your email, as well. Now you might recall, this year was the first ever coding contest, which was either an opportunity for a well deserved week off, or to challenge your classmates with a number of coding problems that were available online. And you can work in teams of two-- or one, or two, or three, or four, and we'd like to acknowledge the teams that ultimately ranked atop that big board. In third place this year, which now feels a little dated, was, We Miss You HUDS, stay tuned to your e-mail for a fabulous prize. In second place was, The Fabulous Prizes. In first place, was Big Board, Big Boys. Congratulations to you. And the lucky raffle winner which has drawn pseudorandomly among all of those who participated, was Madeleine. So stay tuned to your e-mail as well. Now there still remains a few things for everyone else here in the room, and that, indeed, includes the CS50 Hackathon. So at the CS50 Hackathon, you'll have an opportunity to arrive around 7:00 p.m. and depart around 7:00 a.m., and hopefully bite off a huge portion of your final project along the way, as well as partake, after signing in, in Philippe's around 9:00 p.m., and Dominoes around 1:00 a.m., and if still standing around 5:00 a.m., will we charter some Harvard shuttle buses and head to IHOP for breakfast. Meanwhile, throughout the evening, will the staff be building their own projects, like this. Decorating the space and all the food in a support structure that you might like, but ultimately it's this kind of opportunity. Really one of those few collegiate experiences that, hopefully you take with you for some time. This one focused alongside classmates and staff, in accomplishing your very last goal for the term. So beyond that, oh, there will be therapy dogs, too. Picture here is Milo and Jordan, and Maria, from on stage. So, take a look at this URL here, this will be on the course's website if you'd like to register in advance for that. And we'll follow-up via email with more details. And then lastly, is truly the climax of the course. Back in the day, would we do final project presentation in a fairly traditional way. Everyone gathers in their sections, and everyone walks through their projects, and no one is all that inspired. And so a few years back, what we decided to do, was to invite the whole campus. And so indeed these days, do some 2000 plus people attend, students and faculty and staff, and even middle school students, and high school students, from the nearby area, to come see what you have accomplished by term's end. And we'll set up a whole lot of tables, you'll bring your laptops, there'll be food, friends from industry, and more. And it will be quite the opportunity, ultimately, to take pride, we hope, in all that it is, that you've accomplished this semester. Just like your predecessors past. And there will be cotton candy this year as well. So, in all seriousness, we do hope that out of this class, you have gotten a better appreciation for how to go about solving problems, and some more tools in your toolkit. And hopefully ultimately all the more comfort and confidence in approaching those problems, whether they're inside or outside of computer science. Before we adjourn to the pub downstairs, where quite a bit of cake awaits, allow me to dim the lights one more time for fall 2016, and give you what was CS50. [VIDEO PLAYBACK] [MUSIC PLAYING] - (SINGING) You're like gold dust. 00:39:47,288 --> 00:39:50,807 It rains over DAVID MALAN: This is CS50. 00:39:54,890 --> 00:40:00,730 - (SINGING) A foreign sun, that I thought I'd never see. You're like gold dust. 00:40:08,474 --> 00:40:14,980 Keep coming down that street. There's a hollow in this house whenever you go. 00:40:21,920 --> 00:40:23,872 [INAUDIBLE] [MUSIC PLAYING] 00:41:03,400 --> 00:41:08,314 DAVID MALAN: This was CS50, 50 and cake is now served. [MUSIC PLAYING]