Placeholder Image

Subtitles section Play video

  • PATRICK REBESCHINI: All right.

  • This is CS50, and this is Yale University.

  • Welcome to the grand finale.

  • Really, this is the last lecture of the course.

  • And I hope to interpret most of you when I say, wow, already?

  • And indeed, just think where we started off two, three months ago.

  • What we have achieved is simply unbelievable.

  • And typically, it's a good sign.

  • When time flies by, it means that we have been engaged a lot.

  • We have been learning a lot.

  • This is precisely the type of experience that we want to give as part of CS50.

  • So now today's is the last lecture, but the course

  • does not end here, as David will remind all of us in a bit.

  • In particular, the hackathon is coming up.

  • It's a great opportunity to meet friends in Cambridge, I thought,

  • but while potentially working on your final project.

  • And then while you're here in New Haven, the final

  • CS50 [? for ?] a great occasion to showcase

  • what you have achieved in these two, three months, and to present

  • this type of output not just to a friend of yours,

  • but really to the entire Yale community and beyond.

  • So this is CS50.

  • Indeed, today does not end year, but in a way,

  • we should start thinking about life beyond CS50.

  • And well, let me tell you, it does exist.

  • And so we decided to take the opportunity of the last lecture

  • to invite a few friends-- faculty from Yale College--

  • to present some of the great resources that Yale can offer to those of you who

  • want to dive more deeply into the realm and the wonder of CS

  • as a discipline and related fields.

  • So I'm going to introduce to you a few friends, faculty.

  • I would like to welcome all of them with a big round of applause.

  • So please join me in this.

  • [APPLAUSE]

  • And I have the pleasure to introduce Holly Rushmeier from the computer

  • science department.

  • Thank you, Holly.

  • HOLLY RUSHMEIER: So, yes, I'm Professor Rushmeier.

  • I am on the computer science faculty.

  • I teach a variety of courses.

  • Right now I'm teaching CPSC 201, Introduction

  • to Computer Science-- a course that I really love,

  • because it has the core ideas of computer science in it.

  • But another area that I really love, and what I do my research in,

  • is computer graphics.

  • And that's what I'll spend my few minutes here on.

  • And basically, what is computer graphics?

  • It's using computers to make and use images for exploration, communication,

  • and expression.

  • So exploration-- how do we understand things?

  • One of the things that we can do is read and write about things

  • to improve our understanding.

  • We also can explore things by drawing, gathering pictures, and manipulating

  • images.

  • We use graphics a lot for communicating ideas.

  • Creating a feature film-- that's communicating ideas.

  • That's telling a story.

  • Advertisements, documentaries-- all these things are using images.

  • And we have a part to play in creating those images.

  • And then some of it is just purely creative expression.

  • These images here are from some of our research work

  • here at Yale, including things like-- we're

  • interested in designing what makes things look like what they look like.

  • And that's a combination of their small-scale geometry-- whether they've

  • got little rings or bumps, or how they're woven--

  • and their large-scale geometry.

  • We're also interested in abstract visualizations to make things clearer.

  • So these strange little spheres floating and inside the matrix

  • are an illustration of a kind of calculation.

  • And we're interested in systems that help people.

  • So these images are showing a sculpture of the Madonna

  • from the Yale art gallery.

  • This is part of a system that we've created for art conservators

  • to study works of art using data from different imaging modalities.

  • And then on the bottom is another visualization.

  • It's visualizing the results of a perceptual experiment

  • that we did about how things look when they move.

  • So just a little bit of the span of things

  • we consider in computer graphics.

  • A little bit about-- another way of looking at graphics

  • is that we observe problems in the real world.

  • People want to design something new.

  • They want to tell something new.

  • They want to understand something new.

  • And we're going to produce something in the real world.

  • We're going to make pictures.

  • We're going to make objects.

  • But what we do in computer graphics is we get those physical things

  • we observe into the computer, and then we

  • create the data, data structures, algorithms, to work with those objects,

  • to create the solutions that then allows us

  • to make those things in the real world.

  • So in the physical world, we may be simply observing

  • shapes and forms and colors and lights and how people perceive things.

  • Or we may be using instruments to measure shapes and colors.

  • We may be designing new instruments or conceiving

  • of new ways of putting existing instruments together.

  • And we may just be observing how people perceive things,

  • or we may be doing psycho-physical experiments to figure out

  • how people perceive things.

  • So then we bring them into the computer.

  • We think of new ways to represent objects, shapes, colors,

  • their interaction.

  • We've-- how people can interact with those shapes to create new things.

  • What are good interfaces for people to create new things,

  • to express themselves, or to explore an idea?

  • And then we put things out into the physical world.

  • I had sort of a-- images from my oldest work and some of my newest.

  • My oldest work-- that's from like 30 years ago--

  • was when we were first trying to make images that would

  • be indistinguishable from real scenes.

  • So we were building a real scene-- a real simple scene--

  • and trying to make a physical image that looked exactly like it

  • and then set up an experiment where the challenge is, well, gee,

  • that's a real physical box.

  • That's a picture of a box.

  • We had to come up with the solution to overcome that.

  • So here at Yale, you have graphics courses.

  • You can take straight-up the standard computer graphics,

  • some special topics-- including a new one

  • that we have in computational issues in design and fabrication.

  • And we have a wide range of projects that people can work on,

  • including-- in particular, in my work-- I'm

  • very interested in digital humanities and analyzing

  • the shape and form, materiality, of things like manuscripts.

  • Cultural heritage-- maybe you want to get out in the cemetery at night

  • and take data and start examining old stones.

  • Or we have more hardcore computer graphics--

  • new methods for sketching, extracting, and reusing textures and building

  • new scanning systems.

  • So those are some ideas.

  • So thank you very much.

  • PATRICK REBESCHINI: Wonderful.

  • Our second guest today is Amin Karbasi, from the computer science and the EE

  • department.

  • So Amin, all yours.

  • AMIN KARBASI: Hello.

  • So I thought today that I'm going to talk about sensing data.

  • So basically, my work is about, in the realm

  • of big data, how we can actually reason about-- how

  • we can pick and reason about very uncertain data

  • and get useful information.

  • And in particular, I'm going to talk about three very specific applications.

  • The first one is the video summarization.

  • So what it means is that it would be really cool if instead of listening

  • to the whole CS50 lectures, there would be an algorithm that tells us

  • these parts are the most important part to look at.

  • The second application is going to be about automated teaching.

  • So instead of Patrick and David teaching you,

  • it would be really cool if a machine can teach you new concepts.

  • And the third one is about whether a robot can actually learn and reason

  • about the environment.

  • OK.

  • So the first application that I'm going to talk about

  • is the video summarization.

  • I'm going to show you a very short clip, and the idea here

  • is that we have an algorithm that picks frames of this short clip such

  • that if you look at these frames-- here are four-- you can basically

  • understand what is happening.

  • OK, so we can put these frames together and it tells a story.

  • OK, so that is one application, and we had worked on this one.

  • The second application that I'm going to talk to is about automated teaching.

  • So here the idea is that instead of-- so I

  • want to teach you a new concept without telling you

  • how to learn this new concept.

  • I am just going to show you some examples.

  • And so in particular, I made some imaginary insects.

  • I even called them vespula and weevils.

  • You have not seen them before.

  • And I'm going to show you examples.

  • I need you to cooperate.

  • And then you have to tell me whether this is a vespula or weevil.

  • In the beginning, you may not have any idea.

  • But you're smart-- I hope that after a few examples you can actually tell OK.

  • Ready?

  • Good.

  • OK.

  • So that is the first example.

  • Who thinks that's a weevil?

  • Raise your hand.

  • Who thinks that's a vespula?

  • OK.

  • So that is a vespula.

  • OK.

  • Good.

  • Now, how about the second one?

  • Who thinks that's a weevil?

  • Who think that's a vespula?

  • OK, that's a weevil.

  • OK.

  • How about the third one?

  • Weevil?

  • Vespula?

  • Very good.

  • OK.

  • And the last one.

  • Weevil?

  • Vespula?

  • Excellent.

  • I didn't tell you how to distinguish between them.

  • Somehow, you actually figured it out, right?

  • So that is the main idea of automated teaching through examples.

  • And then we also-- the question is, among all possible examples

  • that I could show you, I chose them very specifically such

  • that you basically get the concept and then generalize it in your head.

  • And the last example that I'm going to show you is about the work

  • that we did on a real robot.

  • So here the idea is that there is a robot that

  • has to open the door of a microwave.

  • It has a visual sensor, but the sensor is not actually very good.

  • So the robot doesn't know exactly where the door is.

  • It might be a little bit high, low, it might be tilted,

  • rotated-- so the robot has to make sense of the environment.

  • How does it do it?

  • Well, by basically touching different points and reducing the uncertainty.

  • The question is, among all possible positions that the robot can touch,

  • which ones are going to give the robot the most amount of information?

  • So let's look at how a robot does that and how we actually

  • taught the robot to do it.

  • So this is the uncertainty that the robot has.

  • In the beginning, it is very uncertain.

  • It touches one point.

  • Some of the uncertainty collapses.

  • Some remains, so the robot has to make more interactions with the environment.

  • It touches another point.

  • Now there are less uncertainty, more information,

  • but it doesn't exactly know where the button is.

  • And then finally, it's going to touch another point.

  • And now it is very certain where the button of the microwave door is.

  • And now it's going to open it.

  • Good.

  • So basically, I talked about three different problems,

  • and in all these problems, the question was,

  • which frame we should pick, which example we should show,

  • which position we have to touch.

  • These are very different applications, but it turns out

  • that they have exactly the same framework.

  • And this is what they work on.

  • So if you want to know more, well, you can come to the CS or EE.

  • [APPLAUSE]

  • Our And our next friend is Sahand Negahban

  • from the statistics department.

  • Please, Sahand.

  • SAHAND NEGAHBAN: So, hello.

  • I don't have pretty slides, but instead I made a little demo

  • because I really like this example.

  • And so this is about life after CS50 and you guys

  • have learned a lot of nice tools.

  • You've built a web server, I guess, you played around with API.

  • So now you can go on the internet and extract a ton of data.

  • The problem is a lot of times on the internet data is noise

  • and you need to deal with it.

  • And so I really like this example.

  • This is an example a lot of people use in machine learning classes.

  • And it's the example of where you have sort of a couple audio signals,

  • and you want to decouple them.

  • So-- the audio works, right?

  • The audio signal that I have-- play.

  • [AUDIO PLAYBACK]

  • [INTERPOSING VOICES]

  • SAHAND NEGAHBAN: It's basically the combination--

  • [INTERPOSING VOICES]

  • [END PLAYBACK]

  • SAHAND NEGAHBAN: OK.

  • So what that was, if you're not aware, it

  • was two sports announcers, soccer announcers,

  • broadcasting the World Cup, where Argentina was playing England.

  • And so it was a British commentator commenting

  • on Maradona scoring against England, and then

  • an Argentinian commentator commenting on Maradona scoring against England.

  • Now, you guys, your brains could have figured that out.

  • If you could speak Spanish, I'm sure you could

  • have figured out what he was saying.

  • If you speak English-- I think you all do--

  • you know exactly what the British commentator was saying.

  • But we'd want a computer to be able to do that, too.

  • So using something called independent component analysis,

  • which we taught in the course that I'm teaching with Dan Spielman called

  • Computational Tools in Data Science-- that's

  • CPSC 262-- you can kind of tease apart the two signals

  • and figure out what they were individually.

  • [AUDIO PLAYBACK]

  • - [SPEAKING SPANISH]

  • SAHAND NEGAHBAN: So this is just the Spanish broadcaster.

  • - [SPEAKING SPANISH]

  • [END PLAYBACK]

  • SAHAND NEGAHBAN: So he's very happy.

  • The British commentator is--

  • [AUDIO PLAYBACK]

  • - If we hadn't been able to control the play mid-field,

  • the way that Maradona has been able to do--

  • [INAUDIBLE] There's no doubt about that one.

  • [END PLAYBACK]

  • SAHAND NEGAHBAN: [INAUDIBLE] the position,

  • because these are two signals that kind of happened at the same time.

  • I mixed them together artificially, but now we

  • wanted an algorithm to sort of understand how to split it up.

  • So another setting that I also like, and I encourage you to maybe take

  • other computational classes also related to statistics

  • is, you might go online now you might want to say,

  • I want to find data that's related to each other.

  • Say you have some crazy new idea for tracking the S&P 500

  • and you want to use it to trade.

  • And so that's great.

  • You can find a lot of signals to help you predict,

  • but you could run into some problems.

  • And so now I'm going to shamelessly steal somebody else's-- this website

  • called Spurious Correlations, which I personally, I love as an example.

  • The basic idea here, it's going to have signals that look like they're related.

  • You've all heard the whole notion correlation is not causation.

  • If two things are correlated, it doesn't actually mean they're linked together.

  • It doesn't mean that one implies the other.

  • Well, in fact, a lot of times correlation

  • doesn't even mean correlation in a sense.

  • So these are a bit macabre.

  • So warning, I guess.

  • But here's an example.

  • So this is the trend of US spending on science and space and technology

  • versus this suicides by hanging.

  • These shouldn't be related.

  • This is Tyler Vigen's website, Spurious Correlations.

  • I think it's pretty nice.

  • There are a lot of weird ones that he talks about,

  • per capita cheese consumption, this one.

  • [LAUGHTER]

  • These aren't even just restricted.

  • So Google actually has a really nice thing called Google Correlate.

  • So you can actually put trends-- you guys,

  • I'd encourage you to check out the paper that they have associated with it.

  • It's really nice.

  • But you could put something in here and see links.

  • So I could say maybe put weight, and then you'll see trends.

  • Like OK, low calorie, low calorie snacks, weight loss, good diet.

  • That makes sense.

  • But you could put maybe a weirder search like this.

  • And you get some things that don't-- Nissan Centra's up there with a 0.95

  • correlation.

  • You just get some interesting things.

  • So the point is I'd encourage you to take your computational tools

  • and play around, and look at the classes in computer

  • science, electrical engineering stats, and dealing with machine learning.

  • Thanks.

  • PATRICK REBESCHINI: Thank you, Sahand.

  • Great.

  • And finally, Mahesh Balakrishnan, from the computer science department.

  • MAHESH BALAKRISHNAN: Is this working?

  • OK, so I'm going to talk about systems.

  • So what are systems?

  • Computer science is typically partitioned into a few areas.

  • You have programming languages, AI, graphics.

  • Those are the guys who come up with these very cool ideas,

  • and you saw some of these pretty pictures and so on.

  • In systems, we are the guys who make it work.

  • OK.

  • So when you type in Facebook.com or Google.com,

  • and the page loads instantly.

  • An enormous amount of code goes into that.

  • Actually, I don't know why my slide title isn't showing up,

  • but that's fine.

  • If you go to Google, there are maybe tens of millions

  • of lines of code that go into showing you this web page and ensuring that

  • when you type in google.com, and you hit Enter,

  • that you see this web page within something like 200 milliseconds

  • because that's the amount of time beyond which users can perceive delay.

  • And also ensuring that 99.9999% of the time when you go to this website,

  • it's up and running.

  • And this is an enormous amount of code.

  • And so when somebody has a new search algorithm,

  • or somebody has some kind of a new virtual reality application,

  • you need a pretty big and complex system to make it work.

  • But it turns out that people who work in systems

  • don't really spend their time writing enormous amounts of code.

  • That's not where the intellectual effort is.

  • The intellectual effort is in something called an abstraction.

  • How do you make it easy to build some kind of a computer system

  • that consists of millions of lines of code?

  • And the answer turns out to be that you try to identify these abstractions.

  • To give you an example of what an abstraction is,

  • a file is an abstraction.

  • I'm guessing you guys have all interacted with file systems.

  • You have saved files, loaded files.

  • So a file is something that allows you to save data

  • without having to worry about how many hard discs, or RAM, or SSDs you

  • have on your machine, without worrying about whether your data is local

  • or it's in the cloud.

  • So that's an example of an abstraction.

  • And part of what we do in systems is we come up with these abstractions

  • to make it easy for other people to realize these cool applications

  • that they dream up.

  • And so we focus a lot on building real systems.

  • And we are really interested in end-to-end metrics.

  • You build a real system, and then you access it,

  • and you see how reliable it is, how fast it is.

  • If you look at the actual technical content of this, what this involves--

  • it typically involves coming up the new obstructions and implementing them.

  • And often we are the customers of EE people.

  • So when somebody invents some kind of new hardware--

  • and this could be virtual reality glasses,

  • it could be some new kind of architecture, a new kind of memory--

  • we are the ones who build the software layer that

  • knows how to use this kind of hardware.

  • So for example, if you have a new virtual reality app

  • and now you have something like the Oculus Rift

  • coming out that Facebook's selling these goggles,

  • we are the ones who would produce this intermediate level of code that

  • makes it easy for you to build your new application on top of the hardware,

  • without having to understand the nuances and the idiosyncrasies

  • of that hardware.

  • And so a lot of what we do, though, is to enable new applications.

  • So things that augmented reality, virtual reality.

  • 10 years back, social networks were a new application.

  • 15 years back, search engines were a new application,

  • and making these applications ubiquitous involved

  • a tremendous amount of system building.

  • And so the internet of things is another example that's very common right now.

  • I teach a class at Yale.

  • This is a senior level class on building distributed systems,

  • where we kind of walk you through what it takes to build something

  • like Google or Facebook.

  • And I'm going to give you a very quick example of the kind

  • of intellectual problems we deal with.

  • So let's say you come up with an example of a service,

  • and you want to run it online.

  • Well, you can run it on a single machine.

  • This is probably similar to the kinds of applications you've been working on.

  • But your problem now is, if you run it on a single machine,

  • that machine can crash.

  • So you need some kind of disk there so that when the machine reboots,

  • your data is still there.

  • You still have a problem that there's only one machine here.

  • If it crashes and doesn't come back up, Facebook.com is down.

  • So you need to replicate data, and this is the kind of thing

  • that we do all the time.

  • We replicate data so that the service never goes down.

  • You still have a problem, which is that, all of Facebook.com cannot live

  • on three machines.

  • And so we have this thing where we partition data across sets of machines.

  • And finally when you partition data across machines,

  • you have to deal with the fact that these machines are in different places

  • so moving things between them is difficult.

  • This is just a very quick summary of the kinds of things

  • that it's taken engineers at Facebook and Google,

  • say, 10 to 20 years, to solve.

  • And this is sort of the technical content we have in systems.

  • So if you stay in computer science, I hope that you look at computer systems

  • as a friendly, exciting area with a lot of opportunities.

  • We build real stuff and we need people to build these things.

  • Thank you.

  • [APPLAUSE]

  • PATRICK REBESCHINI: All right, great.

  • So this is just a snapshot of what life after CS50 might entail.

  • For those of you, again, who want to engage more deeply with the field of CS

  • and related.

  • But now, let's go back to the present and let us finish with style.

  • It is my greatest pleasure and honor, once

  • again, to introduce and to welcome here in New Haven, David

  • Malan and the Harvard team.

  • It has been a great year together, our second year of this joint course.

  • Let me say, the cross-fertilization that came out in both campuses

  • when it comes to improving and pushing the boundaries, terrific.

  • So I couldn't be more happy to welcome him on a stage again.

  • David Malan, please, big round of applause for David.

  • [APPLAUSE]

  • DAVID J. MALAN: Thank you so much to Patrick.

  • It's really nice to see everyone again.

  • I know it's been some time, and I know tensions are high

  • going into this weekend.

  • In fact, we just ducked down here and we're heading right back.

  • I'm guessing many of you might be joining us

  • up in Cambridge this weekend.

  • But I just wanted to emphasize, really right

  • at the start here, what a special collaboration this has been,

  • both last year and this.

  • Bringing these two campuses together, of all the campuses in the world

  • to bring together, I think has been this really special, really interesting,

  • and really challenging experiment.

  • And thanks to Patrick and Jason and Andi and Summer and Stelios,

  • and the whole team here and in Cambridge,

  • we think it's really been going well and we

  • hope that you'll give us all the feedback you

  • can over the next few weeks so that we can continue to build

  • on this and last year's foundation.

  • And I have a little bit of a confession.

  • I don't normally lift up my shirt when I'm in Cambridge,

  • but I just wanted you to know that underneath--

  • [APPLAUSE]

  • --underneath all those black sweaters, all this time.

  • Why don't we begin on just a sentimental note, thanks to a video

  • that CS50's production team has put together over the past few months,

  • in shooting some footage and stills both here and in Cambridge.

  • This then is a look back at some of the past several weeks.

  • [VIDEO PLAYBACK]

  • [MUSIC - GALANTIS, "GOLD DUST"]

  • - (SINGING) You're like gold dust.

  • It rains over me.

  • - This is CS50.

  • - A foreign sun, my eyes thought I'd never see.

  • You're like gold dust.

  • Keep coming down that street.

  • There's a hollow in this house whenever you go.

  • [END PLAYBACK]

  • DAVID J. MALAN: So you'll appreciate perhaps,

  • that this course has been entirely about problem solving.

  • And especially given the timing of this coming weekend,

  • it felt particularly appropriate to look a few years further back, back in 2004,

  • which if unfamiliar, was perhaps one of the best Harvard-Yale pranks

  • in history.

  • At which time we Harvard folks learned, well, that we suck.

  • But I thought I'd play a video.

  • If you're unfamiliar with this-- and even if you are,

  • it's great fun to look back on, again, one of the best

  • pranks at Harvard/Yale's past.

  • Let's take a look.

  • [VIDEO PLAYBACK]

  • - We're headed up to Boston.

  • Checking out the stadium for the prank.

  • A few years ago, I was at a math conference.

  • And I was sitting around the table at dinner with a few other mathematicians.

  • And one of them went to Harvard and started

  • telling the story of this amazing prank that was against Harvard.

  • And at that point, I felt I had to interrupt

  • and said, well, actually I can tell you a lot more about that.

  • OK?

  • DAVID J. MALAN: OK.

  • - The idea was perfected in a dorm room.

  • - We came up with the idea actually to prank them

  • with signs at the football game.

  • We threw some ideas out there as far as what the signs would say.

  • We eventually settled on "we suck."

  • - And my immediate reaction was, no, this will never work However,

  • the problem solver in me started thinking,

  • well, maybe we can make this work.

  • - The problem?

  • They had to infiltrate Harvard stadium without getting caught,

  • sneak in 1,800 placards, distribute them to unsuspecting Harvard fans,

  • and then convince those fans to prank themselves.

  • - That's great.

  • We thought about basically every possible thing that could go wrong

  • and tried to come up with a solution for it.

  • - And then you put two reds on top of it.

  • - They made fake Harvard IDs and fake back stories, fake placard designs,

  • and a 28-member fake pep squad.

  • On November 20, 2004, the fake Harvard students

  • smuggled the placards into the game.

  • - What do you think of Yale, sir?

  • - They suck.

  • - It's not going to say something like Yale sucks, is it?

  • - It says, go Harvard.

  • - But then, trouble.

  • - What houses are you guys in?

  • - [INAUDIBLE]

  • - How many extra are there?

  • - [INAUDIBLE]

  • - I just showed him the front of this ID, and all of a sudden

  • he just ran away, and he felt so embarrassed.

  • - Having escaped one confrontation, they couldn't risk another.

  • It was time.

  • - This just looks like a total mess.

  • We have absolutely no idea if this is going to work.

  • - What was once a prank became a legend.

  • We We [BLEEP] did it!

  • We [BLEEP] did it!

  • - And immediately we started hearing chants from the other side, you suck.

  • - You suck, you suck, you suck.

  • - And I think it was that point in time that we knew we had pulled it off.

  • - One more time!

  • Come on, Harvard!

  • There it goes again.

  • - I really think it didn't matter that Harvard won, because of the prank.

  • For a lot of Yale students and alumni, we definitely won that year.

  • [END PLAYBACK]

  • DAVID J. MALAN: All right.

  • So if we come back then to the present, I just

  • wanted to remind you of this quote with which we

  • began the semester, because we are here now in week 11, some 12 weeks later.

  • And what ultimately matters in this course is not

  • so much where you end up relative to your classmates,

  • but where you end up now, relative to yourself way back in week 0.

  • And you'll recall perhaps, that in week 0 we looked at computational thinking,

  • we introduced scratch.

  • Your first problem, set 0, was to do exactly that.

  • Build most anything of interest to you.

  • And one of the traditions we have in the class, is to ask of the staff,

  • let me first disclaim, we love all projects equally.

  • We do have a few favorites, and we've plucked out a few

  • that we thought it would be fun just to play here all these weeks later

  • to show just how far we have come.

  • If someone might like to volunteer and play a few scratch-- that was fast.

  • Come on up.

  • OK, what's your name?

  • BILLY: Billy.

  • DAVID J. MALAN: Billy, come on up, Billy.

  • You are clearly from Yale.

  • All right.

  • Come on over.

  • So one of our first of many staff favorites was this one here,

  • Bob the Bear, by Mandy Lee YP.

  • And I will go ahead and open this one on my machine

  • here so that we can see the first of 3.

  • So Bob the bear has some instructions with which we're going to begin here.

  • I'll full screen this, and it's perhaps among the most adorable as well.

  • [MUSIC PLAYING]

  • So click Bob.

  • [MUSIC PLAYING]

  • Very nice.

  • Notice we have two variables up top.

  • One is points, one is timer.

  • You have 32 seconds to get as many points as you can.

  • Think of course, of all the programming constructs underlying this.

  • We've got some loops, for instance, an event listener with the keystrokes.

  • Apparently some animation, which is doing move,

  • move move, move, in some kind of loop.

  • A GIF that makes the bear eventually stop.

  • I'm really just trying to justify playing this game.

  • He's only got 6 seconds left.

  • 6 points, nice.

  • Very well done.

  • That's all they gave us.

  • OK, congratulations.

  • Thank you to Billy.

  • Can we get one other volunteer up here for Cat

  • goes 2 Yale, final, which was their final submission, it seems?

  • Volunteer here, OK, come on up.

  • All right.

  • Joey's coming on up to play JP Bosco's Cat goes 2 Yale.

  • All right.

  • This one too felt particularly apt.

  • Let me just get it full screened.

  • Uh-oh, spoiler.

  • Stand by.

  • This is how we solve problems.

  • Come on.

  • Come on.

  • There we go.

  • All right.

  • Cat goes 2 Yale, final.

  • Press the space bar.

  • So you have to grab those three things, so a book, a medal, and a piano.

  • And apparently avoid sleeping, playing games, or exercise.

  • [MUSIC - TOBY FOX, "IT'S SHOWTIME"]

  • Nice.

  • Notice the score goes up and down, plus 1 or minus 1.

  • Nice.

  • Nice.

  • Only level, 1.

  • No, I think it's an infinite loop forever.

  • There you go, you won.

  • Very nicely done.

  • Nicely done.

  • And can we get one final volunteer?

  • One final volunteer?

  • [INAUDIBLE] Come on up, come on up.

  • All right, so here is Spot the Freshman, Star Wars Edition.

  • And this one is by Justin CS-24.

  • What's your name?

  • JAY: Jay.

  • DAVID J. MALAN: Jay, all right.

  • Nice to see you.

  • Come on up.

  • And once full-screen co-operates, here we go.

  • [MUSIC - STAR WARS, "IMPERIAL MARCH"]

  • [MUSIC - STAR WARS, "IMPERIAL MARCH"]

  • Click on the student first.

  • Nice.

  • Caught one freshman.

  • You can click on --

  • [MUSIC - STAR WARS, "IMPERIAL MARCH"]

  • Well done nonetheless, nicely done.

  • So you'll recall, we'll post these links all online

  • if you'd like to play as well.

  • So you'll recall too, that in problem set 4,

  • there was a bit of a scavenger hunt at the end.

  • So after recovering a whole bunch of the JPEGs

  • from the recovered image, the forensic image,

  • you were challenged to find as many computer scientists

  • as you clued on campus.

  • And we're very happy to say that Theodore found the most teaching

  • fellow TAs and CAs here on campus.

  • So Theodore will be receiving a fabulous prize for his section

  • and all the students in that section.

  • So stay tuned for a note from Jason on that.

  • Also, in problem set 5 you'll recall we had some misspellings

  • and there was a so-called big board here and a competition across campus

  • with the here TAs here, the TFs at Harvard, all of the CAs,

  • as well as all of the students.

  • And while usually a student does actually top the big board,

  • it's actually CS50's own Shreyas who's the top of this year's big board.

  • So congratulations to him and several other staff

  • that spent quite a while on this problem set.

  • But he too will be receiving a fabulous prize from us as well.

  • You'll recall later in the term we had a CS50 coding

  • contest, which coincided with break.

  • And we had a number of folks both here and in Cambridge participate in this.

  • And it was a number of challenges that all had to be solved in C.

  • And we wanted to acknowledge that the top Yale performer was Julia, a.k.a.

  • @apple_cider, who will similarly be receiving a fabulous prize.

  • So congratulations to Julia as well for ranking atop the list.

  • I wanted to acknowledge now, just a few folks before we take another look back,

  • as well ahead.

  • CS50s production team.

  • So a curious evolutionary treat of this experiment with Yale,

  • has actually been that the course is now pretty much equivalently offered

  • in Cambridge.

  • Whereas last year, we had a lot more live lectures in Cambridge,

  • this year have they been pre-produced, as you know, a few days in advance.

  • So functionally, the students in Cambridge

  • are having pretty much the exact same experience.

  • We might shoot most of the lectures there, but literally in parallel,

  • each week are students looking at the course's videos

  • online, attending sections in person office hours,

  • and the weirdest one is that literally every week at 1:00 PM,

  • we have students sitting down here at SITAR and in Cambridge

  • at Chang-Sho or in other restaurants.

  • Sort of dining in parallel, this sort of strange bizarro world

  • where the exact same thing is going on in two different places at once.

  • But it's testament, I think, to just how accessible

  • what the team's work has now become from the production team.

  • So our many thanks to them for that.

  • And wanted to give you a glimpse and perhaps

  • an explanation of what all of those outros are at the end of the videos.

  • Most any time I sit down at one of our CS50 lunches,

  • the question always comes up, so what's with the videos

  • at the end of the lectures?

  • And if you may have noticed, at the end of every video

  • this year has there been a little vignette, inspired by the film

  • Citizen Kane, if you're familiar.

  • And if you're not, do check that out at some point.

  • And CS50's team in Cambridge over the summer

  • decided to write their own narrative inspired by that.

  • Completely scripted by the team, completely

  • produced and edited, and ultimately acted by the team,

  • and wanted to show you today what will be appended to today's video

  • so that you needn't actually tune in online

  • to what is happening right here today.

  • So this is week 11's, and there's going to be one more part released on Monday.

  • [VIDEO PLAYBACK]

  • [MUSIC PLAYING]

  • - Any updates on the mailing case?

  • People are getting desperate for some answers.

  • - No.

  • I mean, I've been all over town and just haven't found anything new.

  • I feel like I might as well just stay here at my desk

  • and stare at the ceiling.

  • - Well, what about your Rosebud lead?

  • Nothing there?

  • - No.

  • Total dead end.

  • I feel like we may never know who or what this Rosebud really is.

  • - I don't think any word can explain a man's life.

  • Try not to be too hard on yourself.

  • Get some sleep.

  • I'm sure you'll come up with something tomorrow.

  • [END PLAYBACK]

  • DAVID J. MALAN: That there is CS50's own Lauren Scully, as well as Christian.

  • And fun fact that we like to joke about, Christian

  • was supposed to be wearing a fedora from wardrobe,

  • but that day we could only find a cowboy hat,

  • I believe, which is why he's dressed like that instead.

  • But wanted to acknowledge as well the team here in New Haven--

  • Patrick and Stelios and Summer and Andi and Jason, without whom,

  • certainly, the course wouldn't be possible.

  • And it's really so much behind the scenes that goes on between the two

  • campuses in Cambridge and New Haven.

  • Thanks to our team back home as well.

  • And we couldn't be more grateful to all of the efforts they put in here.

  • We wanted to take a special moment to call out one fellow in particular.

  • While shopping today, we also picked up a little something,

  • as Patrick is about to become a father as well, So congratulations.

  • Here you go.

  • Everyone on the internet knows now.

  • We also wanted to certainly call a screen full of team members who

  • can just barely fit on the screen, and we

  • hope that many of these faces and names will soon be you indeed.

  • We'll be following up before long about how

  • you too, can get involved as a TA or a CA this coming year

  • and really be part of this.

  • And indeed, this too has been a very special thing.

  • As you may know, two-plus years ago there

  • were no undergraduate learning assistants or TAs on campus,

  • leading their own sections and responsible

  • for their own groups of students.

  • And now, not only is CS50 in its second year of this tradition,

  • now is that same feature possible in CS courses here at Yale more broadly.

  • So being part of that too, is one of the unique opportunities perhaps ahead,

  • and we'll continue to publicize this URL here that you'll see in the days

  • to come.

  • We, in particular, too, wanted to call out

  • to one fellow who used to go by the email address,

  • essentially, pumpkin@cs50.yale.edu.

  • And that was for some time because he used

  • to dress like this when he led his own sections at Harvard.

  • So no joke, this was one year, some five or six years ago,

  • where Jason led his section roughly around Halloween, I believe.

  • In subsequent years, I believe at least one other year, he wore this outfit.

  • But it's very much deflated because I think the pump broke, the air pump.

  • But he continued to wear it, and it became known for us as our pumpkin.

  • And it was really special honestly, because then upon graduating,

  • of course, he came here to Yale and has been here for the past year and a half

  • or so now.

  • And truly, without Jason, would CS50 at Yale not have been possible.

  • It was him and it was Professor Brian Scassellati last year,

  • and last year's team as well that really stood up this whole operation.

  • And so one of the things Jason used to do

  • for us when he was with us in Cambridge is start every staff meeting

  • with a joke.

  • And these jokes over time just got better, and better, and longer,

  • and longer.

  • And literally today did Facebook remind me that one,

  • they care about me and the memories that I share,

  • but two, one of those memories, five years ago today,

  • starred CS50's own Jason Hirschhorn at one of our grading parties for a quiz.

  • And so I thought I would play for you this film, shot

  • before I knew that vertical videos were bad, and a look back at the joke

  • Jason told to us some time ago as our thanks to him.

  • Here.

  • [VIDEO PLAYBACK]

  • - Whoo!

  • [APPLAUSE]

  • - I have to say, this is totally unexpected, I didn't prepare anything.

  • Just go with a joke that comes to mind.

  • Some of you might have heard this, but if you have, just bare with me.

  • So, there's this moth.

  • No, I'm just kidding.

  • That's a really good one, though.

  • I usually tell people that.

  • It's funny.

  • It's about a Cheerio.

  • And not just any Cheerio, a really sad and lonely Cheerio.

  • Because every day, this Cheerio goes to school and it sees all the friends,

  • and the friends don't want to hang out with it.

  • In recess, it sits by itself while all its friends are playing handball.

  • I know we all played that game in like fifth grade.

  • So the Cheerio doesn't have any friends, and he's really lonely.

  • And so he goes home one night, and he gets on his knees

  • and he prays to God to not be a Cheerio anymore because you realizes he

  • has any friends because of the Cheerio.

  • If we need to stop every couple seconds to talk about a Cheerio then

  • we're not going anywhere.

  • Bear with me.

  • I don't know, whatever.

  • Imagine, use your imagination.

  • So anyway, a trip.

  • So, it wakes up the next morning and it's not a Cheerio anymore.

  • It looks at its side and realizes it's a Honey Nut Cheerio.

  • And it's so happy.

  • It's like, oh my god, this is exactly what I wished for.

  • This is going to be a great day at school.

  • So it goes to school.

  • And it shows up, and everybody gives him some looks as he walks in.

  • He's like, yeah, as he's walking down the hallway.

  • Or he or she.

  • I don't want to be gender-normative.

  • As the Cheerio's walking down the hallway, everybody gives it looks.

  • And it's like, this is so much better.

  • I'm getting so much more attention.

  • But at recess, it realizes that everybody's just making fun of it

  • and they don't actually think it's cooler,

  • they think it's even more lame than before as a Honey Nut Cheerio.

  • So that night it gets home and it gets on its knees again and prays to God,

  • once again, to not be a Honey Nut Cheerio, because life

  • is miserable as a Honey Nut Cheerio.

  • So it wakes up the next day.

  • And it looks at its side, and it realizes, oh my goodness, I have color.

  • And it has now become-- what's the knockoff--

  • - Froot Loops!

  • - No, what's the knockoff Froot Loops?

  • - [INAUDIBLE], maybe.

  • - Tootie Fruitie.

  • - Tootie Fruitie.

  • He becomes a Tootie Fruitie.

  • And it's like, oh my goodness, I have color now.

  • I have some personality, some flair, some pizzazz.

  • Everybody's going to like me now.

  • - What color was it?

  • - It's purple.

  • Thanks for asking that.

  • It goes to school.

  • And once again, everybody's giving it looks, and he's like,

  • finally, being a purple Tootie Fruitie, everybody's going to like me now.

  • So at recess, once again, everybody's playing handball.

  • He goes up, says, like, hey, can I play handball?

  • And they're like, no.

  • And once again, nobody wants to play with him or hang out with him

  • or hang out with him because nobody likes a purple Tootie Fruitie.

  • Everybody likes Marshmallow Mateys.

  • But anyway, he goes home, gets on his knees once again,

  • and prays to God, please, none of this worked.

  • Please don't let me be a Tootie Fruitie or a Honey Nut Cheerio or a Cheerio

  • again.

  • I don't know what it is, but I can't be one of these.

  • Nobody wants to be my friend at school.

  • So it wakes up the next morning.

  • And it realizes, oh, it's name-brand now.

  • It's an actual Froot Loops.

  • It's like, finally.

  • This must have been what I'm missing.

  • I'm not one of those off-brand crappy things, I'm a name-brand Froot Loop.

  • - As opposed to Cheerios?

  • - A name-brand food with color.

  • I have everything I need to be popular at school.

  • But it's Friday, so they had school off and there's a big party that night.

  • And it's like, it's been invited to this party.

  • We'll call it semi-formal is the party.

  • It doesn't have a date, but it's really excited to go.

  • All the other cereals have dates, and they're all really excited.

  • The Marshmallow Mateys look particularly good.

  • But it goes to semi-formal, and it's at the party.

  • And it goes up to the bar and asks for some water.

  • And they're like, sorry, we don't have any water.

  • So he walks down to another bar.

  • And he's like, OK, can I have a Shirley Temple?

  • But he's like, sorry, you got to wait.

  • There's a long line.

  • So it can't get water, can't get a Shirley Temple.

  • And it sees across the way, there's some milk at the table.

  • So it's really excited to go get some milk,

  • but right as somebody gets in right before it-- not to eat itself,

  • I just thought of that.

  • That's weird.

  • So right as the Froot Loop's about to get some milk,

  • somebody gets in front of it and takes the last bit of milk.

  • So there's no milk.

  • There's been long lines for things, they've been out of things.

  • He hasn't been able to get a drink.

  • Finally, at the far end of the table, he sees this giant bowl of punch.

  • And he's really excited because there's no one there.

  • It's a clear shot between him and the punch bowl.

  • So he can finally now get a sip of punch because there's no punch line.

  • [LAUGHTER]

  • That's all.

  • - Wow.

  • [END PLAYBACK]

  • DAVID J. MALAN: All right.

  • All right.

  • I forgot how long that was.

  • We're just about out of time, but CS50 ultimately

  • is of course about problem solving.

  • And we did want to leave you with one, particularly high-level message

  • before we dive into one last bit of fun.

  • Which is that we began this semester looking at this.

  • Most any problem set that we did, most any test question or quiz question,

  • really can be reduced to the simple picture, this simple idea,

  • problems are just things that take inputs and your goal

  • is to produce outputs.

  • And of course, the thing in the middle, we claimed,

  • were those things called algorithms.

  • And that's where the sort of interesting thoughts and the problem solving

  • actually comes into play.

  • And so even as you advance to some of the higher level CS courses

  • that you heard about today, or any other courses,

  • or generally realize that at the end of the day,

  • this really is the mental model with which to exit a class like this.

  • Hopefully, we've helped clean up your thought in a bit of a way.

  • Hopefully we've given you a more methodical approach

  • to solving problems.

  • But at the end of the day, even if the material is new

  • and those inputs are new, the fundamental process

  • is ultimately going to be the same.

  • And there's a few ways then to tackle what problems remain in this semester.

  • Of course there's just now the final project.

  • And so coming up soon is the so-called CS50 hackathon,

  • to which you are all cordially invited.

  • This is an opportunity to arrive in Cambridge via buses

  • that we'll provide around 7:00 PM.

  • We'll serve first dinner around 9:00 PM.

  • We'll serve second dinner at around 1:00 AM.

  • And then if you're still awake, on the bus ride home

  • we'll stop at a really big IHOP for breakfast as well.

  • And in between meals will you work on your final projects.

  • So these are just some of the photos with which some of our Yale students

  • arrived last year.

  • Some of them toting pillows and really hunkering down for the evening,

  • as you may recall.

  • Signing in, meeting some of their classmates.

  • And this really is just meant to be one of those few collegiate opportunities

  • that you really we hope remember for some time

  • and certainly get a bit of work done that evening,

  • but bringing the two campuses together as well,

  • is one of the overarching goals.

  • And ultimately, it's a room full of people, and food,

  • and places to solve problems like your final project with one meal,

  • another meal-- Shreyas again.

  • You'll notice that even the TFs last year solved a lot of problems.

  • They built this apparently.

  • There was a lot of candy, and they built this.

  • They spelled that.

  • There's a little something for everyone, this is to say.

  • So you'll see this URL on the course's website as well,

  • but do sign up there to sign up for a shuttle bus ride.

  • And then thereafter, is the climax of the course.

  • Many years ago in Cambridge, we used to end the course

  • with a pretty traditional approach to final projects.

  • Students would submit their final projects,

  • everyone could convene in one last section,

  • and then everyone would present their projects one at a time.

  • And frankly, it's not a particularly enthralling way

  • to see what your classmates have done everyone just kind of there

  • out of obligation.

  • And so we tried to transform that thing on its head

  • a few years ago with the first-ever CS50 fair.

  • And now we're coming up on the ninth CS50

  • fair that will happen both in Cambridge, as well

  • as here at Yale for all students, faculty, and staff here to attend.

  • And this will be an event in commons that

  • looks a little something like this, with students like you now,

  • presenting your projects on laptops with food, and popcorn, and music,

  • and recruiters from industry, and friends ultimately,

  • delighting hopefully in the kinds of things that you have accomplished,

  • and as well will there be some cotton candy here.

  • Now we need, as we close things up here for fall 2016 for our student

  • volunteers, if I may.

  • One in back.

  • Two in way back.

  • Come on up.

  • Can we get someone from the side, anyone?

  • Anyone?

  • Billy, again?

  • Billy, come on up.

  • OK.

  • Yes, right in the middle.

  • Come on down.

  • Come on down, all four of you, and then back middle as well, I think.

  • Yes.

  • Back middle, come on down.

  • And if you guys want to take the side of the-- that

  • was the opposite of dramatic-- students.

  • If you'll take your four seats here, we have little Easy buttons

  • via which we'll be able to--

  • EASY BUTTON: That was easy.

  • DAVID J. MALAN: --buzz in.

  • But now we need four staff members, if I may.

  • Oh my god, yes, come on down.

  • Another staff member here, way in back and a fourth.

  • A fourth, yes, come on down.

  • We got the microphones as well.

  • OK, so we have our four staff members here.

  • Going to go ahead and give each member of the table this microphone.

  • Be sure to speak in your answer.

  • We'll do our best to adjudicate who has actually buzzed in first,

  • but this is our opportunity for our second annual family

  • feud of students versus staff.

  • And you'll recall, just a few days ago when you submitted problems,

  • did we ask you a few questions just for fun,

  • so that we would have actual answers based

  • on the most popular 100 responses.

  • So CS50's own Colton here is going to help me run the board.

  • We have time for just a couple of rounds of this.

  • And then actually, can we get you to come on up

  • and run the scoreboard up top?

  • We just need math on the board, depending on who has scored best here.

  • So the first question we're going to answer-- and let's see,

  • we'll do this control of the board kind of thing here in the middle.

  • And would everyone first like to introduce him or herself?

  • ADAM: Hi, I'm Adam.

  • I'm a TA.

  • SAM: Hi, everyone.

  • I'm Sam.

  • I'm an office hours lead, CS major.

  • I don't know if we should say that.

  • ANNIE: I'm Annie, I'm a TA.

  • BRAM: I'm Bram.

  • I'm also an office hours lead with Sam.

  • DAVID J. MALAN: Wonderful.

  • IVY: I'm Ivy, I'm a student

  • DAVID J. MALAN: I think we just need to turn up on our end.

  • It'll record.

  • IVY: I'm Ivy, I'm a student.

  • DAVID J. MALAN: Nice to meet you.

  • CLAY: Clay, Davenport 2020.

  • SHU: Shu, freshman in Pearson.

  • DAVID J. MALAN: Wonderful.

  • And of course.

  • BILLY: Billy, also Davenport 2020.

  • Right there.

  • DAVID J. MALAN: Wonderful.

  • So let's go ahead and give the mic to our innermost team members here.

  • One of you has to buzz in first to take control of the board

  • or pass to the other team.

  • So family feud is going to work as follows.

  • I'm going to ask you a question, and if you think you have the answer,

  • you're going to hit the Easy button first,

  • and then you'll have a chance to answer that question.

  • And if you get answer it correctly on the board, your team will take control.

  • If yours is the top answer or the other team can take control.

  • I'll guide us through this if that's unclear.

  • So I'm about to ask you a question and you're

  • about to hit that button if you have an answer.

  • All right.

  • Colton, name your favorite algorithm.

  • Graham.

  • GRAHAM: Bubble Sort.

  • DAVID J. MALAN: Show us Bubble Sort.

  • That was the number one answer.

  • So staff has control.

  • You'll have up to three strikes to mess up, at which point

  • control goes to the other team.

  • So Annie, name your favorite algorithm.

  • No need to buzz in.

  • ANNIE: Binary search.

  • DAVID J. MALAN: Binary?

  • ANNIE: Search.

  • DAVID J. MALAN: Binary search.

  • Number 2, very popular algorithm.

  • Sam, it's going to get a little harder now.

  • SAM: It's true, it's true.

  • I'm going to go with merge sort.

  • DAVID J. MALAN: Show us merge sort.

  • Number 3, Adam.

  • Name your favorite algorithm.

  • ADAM: My personal favorite, selection sort.

  • DAVID J. MALAN: Selection sort.

  • Show us selection sort.

  • First strike.

  • Some 100 other people disagreed with you.

  • You have two more chances.

  • Bram, back to you.

  • Name your second favorite algorithm.

  • BRAM: Breadth first search.

  • DAVID J. MALAN: Show us breadth first search.

  • Second strike.

  • Annie?

  • ANNIE: Linear search?

  • DAVID J. MALAN: Linear search.

  • So now students, if you answer this question in such a way

  • that your answer appears on the board, you take all of the points

  • into your category and then we'll proceed to the next round.

  • CLAY: All right, David, we're going to do insertion sort.

  • DAVID J. MALAN: Show us insertion sort.

  • And the students take control.

  • If you want to just jot down all 4 of those numbers and then tally it,

  • that's the student's current score.

  • So 41, 25, 22.

  • Write down 41, 25--

  • SAM: No, no we have 41.

  • DAVID J. MALAN: No students.

  • No, you lost.

  • No, you lost.

  • 41, 25, 22, and 11, and we have time now for just one more round.

  • All right.

  • SAM: Wait, you can yield and then you get the points you have?

  • DAVID J. MALAN: Yes, because they stole the points from you.

  • You lost.

  • OK.

  • So now, we're going to do one more round here.

  • So if you will have a chance now to buzz in because we have another face off,

  • and with Annie over here as well.

  • The next question, and the last question is going to be actually,

  • let's-- Name your favorite language.

  • Students.

  • CLAY: Python.

  • DAVID J. MALAN: I heard Python.

  • 66 classmates agree with you.

  • Name your favorite language.

  • IVY: C.

  • DAVID J. MALAN: Show us C. 14, very nice.

  • Billy, what's your favorite language?

  • BILLY: JavaScript.

  • DAVID J. MALAN: JavaScript.

  • On the board with 14.

  • SHU: HTML.

  • DAVID J. MALAN: HTML.

  • Not on the board.

  • Two more chances.

  • You're out of languages.

  • CLAY: SQL

  • DAVID J. MALAN: SQL.

  • Three languages still on the board.

  • These are answers from actual classmates,

  • top 100 answers on the board.

  • IVY: I'm just going to try to scratch, even though--

  • DAVID J. MALAN: You and everyone else would like to try scratch.

  • OK.

  • No, not on the list of actual answers.

  • Billy, it is on you.

  • We need your favorite language.

  • Be ready to steal, staff.

  • Do you want to add those up for us?

  • Yeah.

  • Yeah, let's add these up.

  • They have an unlimited amount of time.

  • BILLY: CSS.

  • DAVID J. MALAN: CSS.

  • All right, staff.

  • So let's go ahead and tally what we have here.

  • Those numbers stay, they have those points.

  • No, they keep those points.

  • Add those up.

  • 99.

  • All right, so, if the staff get any of the three answers on the board,

  • they're going to get 66, plus 14, plus 14,

  • and probably we should give them some multiplier.

  • But no, we'll see what the other answer is.

  • Give us your favorite language to steal.

  • ANNIE: English.

  • [CHEERING]

  • DAVID J. MALAN: Two students actually did that.

  • Let's see what number 4 would have been.

  • Java, three people said.

  • And lastly, number 6, actual answer, Spanish.

  • One person.

  • Thank you to our participants here.

  • We have time now for some concluding remarks from the whole staff for you.

  • Thank you to both of our teams here.

  • This now, is the final message from the staff

  • who will join us in just a few minutes out back for some cake.

  • So we will finish CS50 where we began.

  • Thank you to these up here, participants.

  • [VIDEO PLAYBACK]

  • - I'm Ana Leah, and this is CS50.

  • [MUSIC PLAYING]

  • - 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 with the course, and the connection that they

  • make the whole teaching staff.

  • - So as a student, I really struggled to learn pointers.

  • But I have a 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/Sociology prospective double

  • major, and now I'm a computer science major.

  • So if 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 an undergraduate

  • to teach a course to your peers and to really be a leader amongst your peers.

  • - When you teach something, you are 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 in section and 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, and TFs, and graders, and being on staff

  • is like the most fun part of CS50 and it has been super, super defining

  • of my whole experience at Harvard.

  • - To my students, I'd like to say--

  • - You're alive.

  • - I love you all.

  • - You guys are great.

  • - And comment your code.

  • - You should be a TF for CS50 to be able to empower other people.

  • It's as simple as that.

  • [MUSIC PLAYING]

  • [END PLAYBACK]

  • DAVID J. MALAN: This was CS50.

  • Cake is now served.

  • [APPLAUSE]

  • [VIDEO PLAYBACK]

  • [MUSIC PLAYING]

  • - Any updates on the mailing case?

  • People are getting desperate for some answers.

  • - No.

  • I mean, I've been all over town, and just haven't found anything new.

  • I feel like I might as well just stay here at my desk

  • and stare at the ceiling.

  • - Well, what about your Rosebud lead?

  • Nothing there?

  • - No.

  • Total dead end.

  • I feel like we may never know who or what this Rosebud really is.

  • - I don't think any word can explain a man's life.

  • Try not to be too hard on yourself.

  • Get some sleep.

  • I'm sure you'll come up with something tomorrow.

  • [END PLAYBACK]

PATRICK REBESCHINI: All right.

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it