[ Music ]
>> This is CS50 and this is this year's Fall 2010 teaching
fellows and course assistants.
If we could, a big round of applause for them.
[ Applause ]
>> Two of them in particular are graduating this year,
namely the course's head teaching fellows,
Yukhi Yamashita and Cansu Aydede, both of whom have been
with the course for three years now as staff.
In fact, Yukhi didn't start as one
of our head teaching fellows.
He was a teaching fellow in Fall 2008,
having just taken CS50 the year before, and he made the mistake
that fall of being a go-getter and e-mailing me a nice
and polite list of all of the typographical errors
in one of the problem sets.
But I thankfully took this the right way
and immediately promoted him to the position he has now had
with Cansu for a couple of years,
and it is because of Yukhi Yamashita, frankly,
that this course looks as pretty and as sexy as it does,
given that he is our designer.
So for Yukhi in particular, a round of applause.
[ Applause ]
>> So if we do this right, Cansu Aydede is likely to shriek,
because anytime she gets public recognition she seems
to do this.
In fact, when she was herself a freshman in Fall 2007 was
when we first met, and I met her over one
of the Annenberg Student Faculty Dinners.
And we got to chatting and she was self avowed,
one of those less comfortable, dare say one
of those least comfortable, in her own words.
And so for some reason, though, this conversation caught my eye.
She cared about CS50, she loved CS50, and even though she,
like many of you, had stories about working in the basement
of the Science Center 'til all hours,
she nonetheless stuck it through.
And now she is about to graduate as well as a senior,
having been the course's head teaching fellow now
for three years, the first and to my knowledge to have started
that role, as a sophomore at the college,
head of one of the largest college courses here.
And for that and for her leadership
over the past several years am I hugely grateful.
So to Cansu as well.
[ Applause ]
>> So even though it just is me that you tend to see
or not see a couple of times a week,
there are definitely a few other folks we'd
like to thank right here from the get-go, namely the folks
that run this course behind the scenes.
Besides the TFs, besides the CAs, besides myself,
we have two individuals here,
Chris and Hugh running cameras every day.
We have Barry in back.
We have the Memorial Hall team downstairs,
the folks in the classrooms across the university,
and it is by no means an easy feat
to book some 40-plus sections this fall.
So to all of you and to those behind the scenes,
thank you all so very much.
[ Applause ]
>> So, about that quiz.
So it was not the emotional note I really wanted us
as a class to end on.
It was admittedly a bit on the long side.
But realize that as many times as we've said verbally in class
and the syllabus and my e-mail this past week,
it really is one's relative trending
in the course that we look to.
And even though your percentage on something
like this might not be as high as you would have liked,
maybe not even as high as it was on the first quiz,
that really is sort of immaterial to the progress
that you've made, to the work that you've submitted.
In CS50 we really do pride ourselves
on making it a very much individualistic course
at semester's end.
I really do have this semester, will have,
some 500 conversations over e-mail or in person
with the teaching fellows.
And if you read the Crimson last spring,
frankly if it were entirely by the course's choice,
we would do away with grades altogether,
since I think it's very easy to lose sight
of what's really important in here.
And so hopefully today as we conclude this course and you see
where you began and where you're ending up and just a couple
of week's hence where you'll finish the course
as CS50 graduates, hopefully you'll really feel that delta
between week 0 and week 12.
So with that said, let us forge ahead with today.
You recall from week 0 if you shopped us that we served
up a little cake like this.
Back in the days when you were all newbs,
so to speak in week 0.
We went through our problem set 0 submissions.
Recall we did scratch back then.
And one of our shoppers actually submitted this story of sorts,
which we thought we would begin today's retrospective with.
So this is by a former CS50 student, Damen, and here we go.
[ Music ]
>> Thank you to Damen.
So speaking of phone books,
we do seem to have an infinite supply.
We thought we'd see just how much we've retained
this semester.
If we could get a couple of volunteers up here
to somehow involve these phone books.
Any takers?
Anyone? Yeah, come on down, very excitedly.
What's your name?
Oh. And who will match wits here with the second phone book?
Give me one person.
If we're not going to get anyone, numb up.
Come on, down, right here in front.
Yep, second -- I'll take either of you, whoever is least.
Okay. What's your name?
>> Herb.
>> All right, you of course have
to be comfortable here on camera.
What's your name for the audience?
>> Schwenn.
>> Schwenn?
>> Yeah.
>> Here we have Schwenn and we have Herb.
The goal at hand is to find Mike Smith in this here phone book.
Herb, you've been nominated to use linear search.
Schwenn, you've been nominated to use binary search,
but in order to tear these problems in half in the case
of binary search you must literally tear --
and even in the case of linear search, as you begin to search
for Mike Smith, must you tear each of your pages out linearly.
Perhaps as a group.
On your marks, get set, go.
[ Background noise ]
>> Oh, I did the yellow pages, oh.
[ Background noise ]
>> The winner!
[ Applause ]
>> So if you didn't notice, cleversteristic though it was
for Herb to start at the end,
the end of the phone book is the yellow pages,
which don't have humans.
It's the beginning, of course,
that starts with the white pages.
But sometimes optimizations do not work out so well.
So we started the semester with some newb cake.
We will end the semester with some leete cake.
In fact, thanks to teaching fellow Rose Cal, who e-mailed me
at like 7 a.m. this morning after having e-mailed me
at like 11 p.m. last night saying she was going
to Maxwell Dworkin to decorate the cakes.
The result is as of a few minutes ago, not just this cake
but this cake, and also this cake here.
Unfortunately these have now been cut into 450 pieces,
so that's the last you'll see of the design,
but there's a little frosting for each of you.
Also being handed out after today,
so there will indeed be cake in a little bit of time downstairs
in the pub as you guys exit today, but also being handed
out if you didn't request one already,
are these so-called shuttle boy cards, our sort of throw-back
to old school technology, namely a piece of plastic card
that you can put in your wallet.
Now, it wasn't really the plan to hand these out,
useful as they are for the calendar year
at the end of the semester.
This was the result of some production delays,
whereby we were trying to save some money.
We outsourced the project to a company in China.
Unfortunately I don't speak Chinese,
so ordering generally amounted to my emailing Yuhki, who does.
Yuhki would translate to Chinese, email China,
China would reply, Yuhki would translate back.
I would actually leave it in my inbox for two weeks
and then reply again, and then finally,
did our several thousand shuttle boy cards come, finally.
So if you already filled out the form a few months ago,
they went out by mail already, but the TFs
and CAs will also have them downstairs.
So now we have a little something special.
You've actually seen now this gentleman before,
so you can now put a face to the name.
But this is a first.
Just late last night, one
of our teaching fellows received a submission via one
of your classmates under a pseudonym announcing
that he had just printed his own CS50 song.
Let me go ahead and introduce this by saying in a moment,
you are about to hear Pranksta a/k/a CS50 song by Shwyntax,
and Shwyntax is releasing is debut mixed tape tomorrow,
11:23 to the Internet called Cointoss.
Check him out on Facebook or Soundclad.com,
to download some free music.
So I give you one of your very own classmates,
Shwyntax, and his take on CS50.
Listen close here to the lyrics.
[ Music ]
>> It's cs 50 AKA computer science 50, let's break it down.
I got a lot of codin to do before tonight,
and I aint got time to waste.
let's get it.
You say you a hacka but you never crack nothing.
We say you a pranksta and you need to stop frontin.
You just an amateur, sometimes I wonder bruh,
if n 2 is actually ya runtime average huh?
need a debugger man?
you made a bad program I'll be your gdb, jus lemme offer help
for free Your style's so fine, and so is ya design
But the correctness deserves a 1 outta 5 malloc'in every line,
like it's a pastime chock full a Memory leaks,
check with a valgrind
segfault from for loops, I fixed it
for you wanna make a hash function tell me what you
gon do?
I I gotta go home, so try that on ya own To me C is easy,
but to you it's tough, so: You say you a hacka
but you never crack nothing.
We say you a pranksta and you need to stop frontin.
You go on the internet but you neva hack nothing.
We've been programmin a long time and you aint got nothing.
You say you a hacka but you never crack nothing.
We say you a pranksta and you need to stop frontin.
You go on the internet but you neva hack nothing.
We've been programmin a long time and you aint got nothing.
DAAAMN homie, in high school you was the MAAAAN homie,
but what happened to you?
I got the sickest work ethic, when I code I don't sweat it Try
to compete with me ever,
listen you betta forget it Now jus remember that this fall,
told ya that I do it all, PHP and javascript, CSS, mySQL
You must be a pre-med,
always run to the TF Psets come you always cower, that's why you
in office hours Now you think you ready to work wit me
on the final project But we both know that Imma say
"ummm not yet" I know the truth must hurt,
work at ya comfort now otherwise guess what I'll tell ya what's
worse, now:
You say you a hacka but you never crack nothing We say you a
pranksta and you need to stop frontin You go on the internet
but you neva hack nothing We've been programmin a long time
and you aint got nothing.
You say you a hacka but you never crack nothing We say you a
pranksta and you need to stop frontin You go on the internet
but you neva hack nothing We've been programmin a long time
and you aint got nothing HAHA...DAAAMN HOMIE!
[ Inaudible ]
>> Shwyntax!
[ Applause ]
>> The single will be available for download
after today on CS50.net.
So a quick look at what's ahead.
So your feedback throughout this semester, knowing though all
of those surveys are,
do you realize the data is not for naught.
We do absorb all of this data, fine-tune the course
so that your descendants in this course
in Fall 2011 will hopefully benefit
from your experiences both good and bad.
In particular we are going to finally, after 21 years,
exit the basement of the Science Center,
which has never been a terribly fun place to spend the evening
and move ourselves sort of physics style,
to multiple undergraduate houses in the fall.
We will bolster brain break as well,
and so we as CS50 students will come more food
in some of the houses.
So stay tuned for that and we hope that enhanced
with a few workflow improvements, office hours
in future, so where you can now see your successors
in this course, will be all the more an efficient
and all the more a social experience,
much more so than cubicles
under fluorescent lights have ever allowed us.
Recall that last week we took a look at life after 50,
specifically looking at some of these courses here,
every one of which you can advance
to after having only CS50 under your belt.
If you missed any part of that week, realize we've chopped
up that lecture into 10 minute segments so that you can focus
on just one or more of these courses.
Recall, too, from the handout,
CS50.net/guide is the CS50 unofficial guide
to CS at Harvard.
And you'll see this little chart that tries
to help you make sense
of an otherwise unwieldy course catalog and navigate your way.
This is not to say that we expect or are trying
to convert all of you into computer science concentrators.
We are trying to convert most of you
into computer science minors, admittedly, but with that said,
the minor requires just 3 additional courses beyond CS50.
So even if you need a little bit of a breather this spring
if not a senior, do realize that there are
so many different exciting direction to go in.
And that's really what resonated with me after finishing CS50.
It's very easy to sort of get tunnel vision and think,
CS is just about programming, and that can be.
But as we said in week 0, it really is just a tool
that you can use to explore networking and hardware
and visualizations
and programming languages, databases.
There's so many different directions, and especially
for those of you considering a minor,
even if your concentration is in the humanities,
realize you'll still have a chance to get some depth in one
or more areas of interest to you.
So a very common question this year, especially has been,
what did Mark Zuckerberg take CS50?
We thought we would answer this authoritatively with Mark's plan
of study, so far as computer science goes,
before he left this campus -- though he did not.
So we perhaps should have mentioned that if your goal
in here at Harvard is to start the next Facebook.com of sorts,
you really want to start with CS51.
Moving on to CS121 in theory, 124 in data structures,
161 in operating systems, 182 in artificial intelligence,
and 91R is a research-oriented course.
But we went back a bit further.
Turns out that another gentleman
who left Harvard a bit early didn't even take any CS courses.
Admittedly there was no CS department back then.
These are the applied math courses that he took,
specifically Professor Harry Lewis, who you met last week,
who has many fun stories to tell
about Bill Gates' time here at Harvard.
So there are your authoritative answers
as to what those folks took, but now let's focus on you guys.
So for pset 0 recall you submitted a scratch project.
And just for fun, we asked among the staff,
which projects did you find the cutest, the most amazing,
really, and search your own adjective there.
And we did get a number of nominations,
a few of which we wanted to recognize today.
One of the submissions that we will honor today
as the amazingest award, is going to go to the author
of this here Scratch Project.
[ Music ]
>> So if the next time you're at some wedding dancing
to that song, Nicole Bowman will have done her job.
If Nicole is here and would like to come up
and receive her Certificate of Distinction from CS50.
Nicole?
[ Applause ]
>> Congratulations from the CS50 staff.
>> Thank you.
>> So another project that we would like to honor
in the category of cutest is this one here.
This one requires a little bit of interaction.
Could we have a volunteer willing to steer this animation?
Anyone staring at me.
Yes? What's your name?
>> Me?
>> Yes. Are you comfortable coming up?
Travis? All right, come on up.
All right, Travis, we have here the handiwork
of one of your classmates.
Directions will appear on the screen in just a moment.
There we go.
[ Music ]
>> Actually I think the only thing you might have
to do is hit the spacebar.
That's okay.
[ Music ]
>> So congratulations to Travis and to Sam Singer.
>> Thank you very much.
>> Sam, are you here as well?
Sam? There we go.
[ Applause ]
>> Congratulations.
There you go.
All right, and lastly, we have a new category, as defined by one
of the teaching fellows.
This one goes in the super awesome category for 2010.
And I give you this project here.
[ Music ]
>> So the super award for 2010 goes to Kristin Logan.
Kristin, if you are here.
[ Applause ]
>> Congratulations from CS50.
>> Thank you.
>> All right, just a couple of more recognitions here.
In problem set 5, recall that you were challenged
with scouring campus for all sorts of computer scientists.
A few of you indeed found a whole lot of them.
We've linked to the galleries on the course's Web site,
but ultimately the two sections that submitted both the most
and the most on time were Matt Chartier
and Yuhki Yamashita's section.
Receiving them on behalf
of those sections here first will be Joseph,
Paul and Kristin.
If any or all of you three are here, this is of course Joseph
with Professor Stu Shieber.
Joseph, Paul?
Anyone? Kristin?
Okay.
[ Applause ]
>> Very nicely done.
There we are, all right.
One, and here you go.
And two. And three.
And congratulations.
And CS50 stress balls is what these are.
All right.
In the other section here,
this fellow pretty much found almost all
of the computer scientists on campus single-handedly,
because I don't know what's with the other students
in this particular section,
but you made poor Zack introduce himself to every TF,
CA and professor on campus.
But Zack, if you are here
to receive your section prize, Zack, come on down.
I will say, while he's up here,
we did have to disqualify a couple of photos,
namely this one was subjected to some staff analysis.
[ Laughing ]
>> We used the enhanced feature and then saw quite a bit
of pixilation there around the edges.
But nonetheless, congratulations to Zack.
>> Thanks a lot.
>> It is. So just two such recognitions to go.
So in Pset 6, this being really the only academic
of these awards here, we had the big board and the speller
and your fastest implementation possible of the dictionary.
It turns out that as of last night, those who ranked the top
of the list were these 10 folks here,
which is a feat unto itself.
I will say here -- this is the first time this has happened --
finishers number 1 and 2,
it turns out they're not actually CS50 students.
We did some investigation.
It turns out these are some uberzealous undergraduates
who did ask us for Cloud accounts, and we thought,
go get 'em, let's see what you can do with the Cloud.
Turns out, they won.
So we're going to go ahead
and recognize instead our own CS50s, Joseph Rusher.
If Joe, you are here today to accept 1st place on behalf
of CS50 for the big board.
Joe, come on down.
[ Applause ]
>> So that is still linked on the course's Web site
if you would like to play around.
Congratulations, Joe.
>> Thank you.
>> There you are.
All right.
So lest you be feeling a little disappointed
that you didn't make the top 10, realize that I didn't, either.
So I clocked in at 153.
So my try wasn't doing so well.
But thankfully, our own CS50 teaching fellow Ken Parreno set
a nice Omega bound for us all here in 353, using a total
of 5,661 seconds to implement his dictionary.
So congrats to anyone above Ken this semester.
In problem set 7, we had one last big board.
This one, too, we realized there are some opportunities
for exploitation when it comes to trading
or simulating trades thereof.
This is how the big board looked at the close
of markets this past week.
Michael Shen, with $30 billion, completely trouncing Zack.
I mean, we're not even going to give a 2nd place,
given that there's an additional comma in Michael's there.
Michael, you may recall from quiz 1,
as having user name dshen.
So Michael, if you are here,
we have a little certificate for you as well.
Michael? There he is.
[ Applause ]
>> Very well done.
I should share one anecdote, which is I think,
because of a bug in the --
because of a bug or lack of feature
in the staff's implementation of CS50 Finance,
we made the poor design decision of only using a 32-bit integer,
the result of which is that I received a very nice note
from Michael asking for a refund
of the $20 million my floating point error cost him.
So we did add that back to his cash balance.
Congratulations.
[ Applause ]
>> All right.
So how did we actually get here?
Recall that just 12 or so weeks ago, this is what most
of you were writing for the very first time.
70 percent of you in this class claim
to have never programmed before, and we started
with certainly something relatively simple,
something relatively fun scratch.
But if you now think back to the week after that and the week
after that, realize the trajectory that you've been
on all these many weeks.
This was hard in week 1 of this course.
You may recall having various bugs,
having trouble getting the pound signs to print and such.
And this was problem set 1 where you simply had
to print some ASCII R, which if you now look back at your code,
it's probably longer than the program needs to be,
now that you have some better programming chops.
But it was also the first of several challenges.
And if you haven't already, do take a moment to look back,
even to grimace just a little bit, at the work you first did
in the course, because really,
this is when we were only using four loops, while loops,
variables, and the like.
And the week after that, granted,
we did introduce a sexier domain, that of cryptography,
but at the end of the day the program you submitted still did
something relatively simple, still a blinking cursor,
typing in text at the prompt,
and then getting back some plain text or cipher text
with our Caesar and visionair ciphers.
One week after that we finally started moving into the realm
of modernity and games, and yet we still were limited
by ASCII art, of sorts.
This of course, was the game of 15,
but with problem set 4 did we introduce a library,
the first of several libraries.
Namely this one was ncurses.
And even though you still had to interact
with your programs using but a keyboard and no mouse,
at least now you were starting to find yourself perhaps
in a domain, in a user interface a bit more familiar to you.
Fast forward one week later and you discovered
that it was indeed Professor Plum in the lounge
with the candlestick, and this is very much a real-world
problem, that of forensics and data recovery.
The jpegs you recall were another part
of that piece set, and thereafter.
And this one should give you a bit of pause,
especially if things like this were difficult
at the start of the semester.
Realize that by problem set 6,
you were implementing fairly sophisticated data structures
and memory that are very easy to draw on the screen like this,
but consider how difficult it probably was wiring these data
structures together, getting all these pointers right,
cashing down all of those memory related bugs with bal grids,
whether you did a hashtable like this or a tri like this.
But certainly even if you didn't make the big board,
the fact that you were finally wiring something like this
up in memory, using just numbers at the end of the day
in the most simple of instructions,
is really testament to just how far you've come
over these several weeks.
And then, simply so that we actually end the semester
demonstrating that you've not learned C;
you've learned computer science and you've learned programming,
we introduce of course, PHP and a little bit of HTML, CSS,
JavaScript and SQL, and finally do interact
with a more familiar mechanism, namely a browser.
Finally are you able to go in the 8th problem set
to implementing, my God, a three-dimensional video game
of your very own campus, including some
of your very own friends.
And again, think back to where we began, which was here.
And that is in fact just over 12 weeks' time, all the result
of what you put into this course.
To give you a sense, in fact,
of just how much this latter context, that of the web, HTML,
SQL, JavaScript and like resonates, here is a chart
that depicts exactly what kinds
of projects most students have declared themselves as tackling
for this year's final projects.
Website is up there at the top, Tool, which is sort
of an all-encompassing generic term we use,
IOS for the Apple platform, SMS, Facebook.
Now, I'm being a little disingenuous here,
so you'll recall perhaps that Brian Kernahan a couple
of weeks ago cautioned against lying with statistics.
In fact, I kind of am,
given that I'm using what's called a logarithmic scale.
Using base 10 on the axis there, if we really present this data
as a computer scientist should, you'll see that web,
this world wide web is perhaps here to stay.
A supermajority of you, up from 60 percent
to 80 some odd percent this semester,
are tackling web-based final projects.
But this, too, is really testament to the fact,
especially when you have to respond to friend's questions
as to, what did you learn?
What languages did you learn?
It's sort of an immaterial question.
It ultimately is about the ideas and the fact
that we spent 75 percent of the semester in C
so that you have a foundation now on which to build
with any language in this class or beyond.
In fact, the languages being used
for projects certainly involve some of those web-based ones,
but there are folks using C, a language called Ruby, Java,
Objective C, Python, Actionscript, C plus plus
and a few more down below.
So you will see certainly come to CS50 Fair,
what all of your classmates have done,
especially if it's not a world familiar to you.
Now, with that said, some of you might have seen this in section,
but you can take things too far.
You can take your enthusiasm too far.
Don't do this.
Okay, I wasn't sure that would go over,
a little chuckle, interesting.
So the talking point here for this slide is,
my note to myself is, we will share proposals
on the course's Web site.
This was my visual cue to say that.
So no, in all fairness,
given that there are 400-plus projects,
many of them being implemented by individuals, some by groups,
we will post if you have opted in by your proposal,
all of those proposals online just
so that you can get a sneak teaser
of what your classmates are going to be working
on over the next couple of weeks.
For the first ever CS50 hackathon, we will be heading
down the street to Microsoft.
Some of you who tuned into Office Space
with us might recall that they have a beautiful space there,
very high tech.
Frankly, there's a lot of Xboxes, ping-pong table,
way more toys than we have here in our own building.
So they have a capacity of up to 240, which is good,
because on Thursday, 12/2, that is the last day
of classes overflowing to the first day of reading period.
The plan is to be there around 8 p.m.
to 6 a.m. Food will be served multiple times, and the plan is
to offer you a chance to really dive in by yourself
or with your friends to your final project.
Essentially what we'll do at the start
of the evening is challenge you to decide for yourself
by 6 a.m. what would be a good point to be at,
what would be a better point to be at,
and what would be the best point to be at.
Frankly, if my own experience and your own experience
in the course is any indication,
it's rare that you ever actually accomplish as much
as you want in the allowed time.
So we're all really going to shoot for at least exiting
that morning, stumbling home
with having accomplished something good.
But you'll still have a week after that to continue your work
on the TFs and CAs and I will be there in attendance with you.
And then, of course, the CS50 Fair, a word on this.
So the CS50 Fair, if you haven't been, is a large exhibition
across the streets at Northwest Science Labs.
It will be adorned with plenty of food and music and balloons.
Essentially we'll divide the afternoon into three shifts.
You'll find out in a week
or two's time what shift you're in, 1, 2 or 3.
You'll bring your laptops, you'll set up shop according
to the instructions you'll receive, and then exhibits,
your final projects, the people standing around you,
your friends who have drooped by,
to other folks in attendance.
Last year's was attended by 1,000-plus individuals in total.
This year, and as well as your classmates will we have
recruiters from Google, Facebook, Microsoft, Apple,
Amazon, Disney there to just chat you up,
see if you're interested in internships,
see if you're interested in free stuff
that they have there or full-time jobs.
Also in attendance this year will be President Drew Foust,
Dean Mike Smith, Dean Sherry Murray
and a whole bunch of others.
So not to freak you out, it really is meant
to be a very casual opportunity and a chance to sort
of take pride in what you've accomplished,
but it's also meant to be really the true climax of the semester.
And that said, to incentivize your friends
to actually come see your projects out of more
than just love for you, there will be a raffle
with amazing prizes, which will include such things
as last year's Xbox, Wii, Playstation,
those kinds of things.
So we will -- if your text messages
to them is not enough, the prizes will be.
So now we have an opportunity for one last interaction.
For this we need at least three volunteers from the staff,
three prefabricated volunteers
from the staff, want to come on up?
But we'll need two teams as well
from among the student audiences.
Marta seems to be volunteering.
We need -- yes, you two.
Oh, now you want to participate.
All right.
How about you two here, three,
and your friend is nominating you for six in total, I think.
Come on up.
We'll divide you into two teams.
Friends' nominations are binding.
So come on up.
Hopefully we have enough seats here.
We need a head teaching fellow to run the scoreboard.
Cansu Aydede, very willingly.
All right.
And what is this advanced preparation going on?
Okay, so we're going to have a little three-team thing here
and like two few chairs, it seems.
We'll figure that out.
So let's put the teaching fellows and staff
over here if you could.
Do we need an extra chair or two?
Yep, okay.
Here's one, need one more.
Still one.
It's like musical chairs.
All right, one of you gets the piano bench.
>> There are chairs here.
>> Even better, even better.
All right, so I'm going to go ahead and queue up the screen.
This is a little tradition we have here in CS50.
We kind of make up some rules as we go -- fair notice.
But we made a little Web site using our HTML skills here.
Namely I'm going to go to CS50.net.
All right.
So now, if I have this set, let's try this.
>> This is Jeopardy.
>> All right, very good.
>> And now, here is the host of Jeopardy.
>> Okay, that'll be me.
And here we go into Single Jeopardy.
So the way this is going to work is kind of like Jeopardy,
but again, we're going to make some things up as we go.
We'll have a few rounds of questions and then --
oh, I guess we have two big teams this year?
That's fine.
Shall we do that?
Okay, so these four staff
against these 2, 4, 6, 7 students.
No, that's good.
That's good.
So, and Yuhki and Cansu are going to be the arbiters here
as to whose hand goes up first.
We only have time for a few questions in each round,
because we do want to get to cake.
But here we have in the coin toss beforehand,
the students won the toss, which means students,
somehow if you don't yet have a leader you're going
to need someone to take direction here,
take the lead here and pick a category.
>> We'll be on week 2 for a thousand.
>> Week 2 for one thousand.
Now, let's -- do you--
>> Week 2.
>> Week 2 for one thousand.
So lest you all be feeling left out, realize,
these are your questions.
So those quiz review questions Yuhki asked you for,
as you may have noticed, they really make the quiz.
Because a lot of these questions are like,
what's 3 in binary, what's 4 in binary.
So we read some of our own, but we did bring these here today.
So I have here some week 2 questions.
And when you answer, just be sure to speak
into the nearest microphone, for those playing along at home.
So week 2 for one thousand, your question is going to be --
and again, raise your hand to be called on first.
The question is what will happen
if you access memory outside of your array?
>> We got it.
>> It's not in how many hands to up.
Oh, the staff?
The staff has control.
Marta?
>> You will get a seg fault.
>> You will in fact get a seg fault.
For $1,000.
All right.
Staff are in control here.
What category would you like?
>> Week 2 for 800.
Your question from our students here is going to be,
your question is going to be -- they're all like, what is scope?
What is a global variable?
What's a local variable?
Okay. How about, where does malloc store data?
Students?
>> On the heap.
>> That is correct for $800.
All right, students you have control.
>> Week 4 for a thousand.
>> Week 4 for one thousand.
Your question from week 4 is going to be, what
[ Background noise ]
>> Okay. What are the consequences of a call to malloc
without a later call to free?
Students?
>> What is memory leak?
>> That is true, though this student put you will leak
memory, in quotes for some reason.
So but that is correct for 1,000 in week 4.
Very well done.
All right, what would you like next?
>> 1,000 week 3.
>> What's that?
>> Week 3 for 1,000.
So in week 3, your question is going to be
which sort is fastest?
Marta? Wait, wait -- oh, it was students.
Students?
[ Laughing ]
>> Heap sort?
>> I quote, "selection sort I think."
I'm sorry, that -- it's selection sort,
according to the answer key.
So negative 1,000 for students.
>> Oh, no, really?
>> Yes, that's how Jeopardy works.
All right.
So staff has taken the lead by 200.
Students though, you're still in control.
>> Week 0 for 1,000.
>> All right.
We have time for one or two more questions
in Single Jeopardy here.
Week 0 for 1,000.
And your question is going to be, your question is going
to be, what does the work algorithm mean to you?
Students?
>> An algorithm is a way of solving a problem.
>> That's actually pretty close, an algorithm is a process
which you can use to solve a problem.
We'll give it to them.
[ Applause ]
>> All right, last question in Single Jeopardy.
Students, you're still in control and in the lead.
[ Background noise ]
>> You know, I'm doing this randomly, so you could, too.
Week
>> Week 1 for 1,000.
>> Week 1 for 1,000 is what I heard.
All right, so Week 1 for 1,000, your question,
the last in Single Jeopardy here, is going to be --
What is the standard compiler used by C?
>> GDB.
>> GC
>> GCC.
>> Oh, oh, students minus 1,000 because he said GDB first.
And my team takes the lead again.
All right.
You can play that back again and again on the video.
All right, now we're in Double Jeopardy,
time for just a few questions here.
The weeks have changed from 5 through Rand.
What would you like?
>> Rand for 2,000.
>>? Rand for 2,000.
>> Rand for $2,000, trying to pull ahead.
And your question is going to be what is GDB?
Marta?
>> GDB is a debugger and not a compiler.
>> That is correct for $2,000.
Oh, that did not go over well.
Staff, you're in control.
Time for two more questions.
>> Week 7 2,000.
>> Week 7 for $2,000.
And your question from week 7 is going to be,
your question is going to be, what, what,
what is one advantage of a link list compared to an array?
Marta?
>> You can add elements easier and faster.
>> That is correct.
A link list allows for easier insertion
into the list, for $2,000.
All right, so that's 5,000 to 800.
So let's go with the $2,000 question.
How about week 9 for 2,000.
And let me know, we have like 7 to 10 pages of questions
for every week, except week 9, where you all kind
of petered out, it seems.
So week 9, your question for $2,000 and the last here
in Double Jeopardy before we finish with Final Jeopardy,
is going to be, what does -- students?
[ Background noise ]
>> What is your answers?
>> Hypertext infrastructure.
>> What?
>> What? Whoa.
Try again, keep trying.
>> Hypertext transfer protocol.
>> That's actually the answer of the question.
[ Applause ]
>> The question was indeed, what does http stand for?
So now we have a piece of paper for you each.
Hopefully one of you has a pen.
Staff can wager up to 5,000.
Students can wager up to 2800.
So you do have a fighting chance here.
Go ahead and pick your dollar amount, knowing only
that the category for Final Jeopardy is
[ Laughing ]
>> All right.
So you put your dollar amount down, as have the staff.
Okay, no changing your dollar amount.
Your question is this.
[ Music ]
>> All right.
So students wagered all of it, 2800, which will bring them
to 5600 and the win if the staff do not wager more than that
and get it right, and their ans --
extra time for the staff apparently.
Should I just read
>> [Inaudible].
>> No, that is incorrect,
because if the students did get it,
this is of course Rot 13 for, for the win,
and the students have indeed won.
[ Applause ]
>> So go ahead and stay here for just a minute.
We have one more song for you today before cake is served
up in the pub downstairs.
If we could dim the lights for this final moment.
We give you CS -- you never been --
normally you can't wait to get out of here.
All right, this is CS50.
[ Music ]
>> The end!
Cake is served downstairs!
Thank you to all.
[ Applause ]