DAVID MALAN: I teach computer science.
So thank you.
So I indeed teach CS50, and I took
this class myself as a freshman.
It was the fall of 1996,
but I almost did it.
In fact, I got to campus
and I didn't really
know what I wanted to do to be honest.
I kind of gravitated toward,
I think, things I knew.
Like, I thought back on high school, and
I kind of liked history, really liked
constitutional law, and
sort of liked English.
And so I very naturally,
my freshman year 1995,
gravitated toward things
with which I was familiar.
And I swear to God, I was
one of these students where
I went into one of my first
meetings with my freshman proctor
or RA who lives in the dorms with you,
and I can't believe she humored this,
I went in with a 32-course
proposal with what I wanted to do
in that first week or two of college.
Most of which, I ended up not
actually taking and thank God.
It wasn't until sophomore year that,
honestly, I finally got up the nerve
and got the confidence
to sort of veer off
of that path that just
felt most comfortable,
and I put my toes in
unfamiliar waters and finally
got up the nerve to take a class
called CS50 or Introduction to Computer
Science for concentrators
and non concentrators.
And that was only because
at the time, the professor
let me sign up for pass/fail because
I indeed had this fear of failure.
It was something unfamiliar to me.
I thought back on high school,
and it was one of those areas,
one of those kinds of classes to beware.
Frankly, it didn't even
seem all that enthralling.
I still remember looking through
the glass window of the computer
lab in my high school just
seeing all of my friends
kind of hunkered over computer
terminals, like, typing away.
It just didn't seem interesting, didn't
seem social, didn't seem germane,
and so when I finally got
to campus and put my toes
in these waters in shop
CS50, did I realize
that this whole field CS was actually
more familiar to me than I thought.
And the reality is that it opens
your eyes to intuitions and ideas
that you yourself might
already be familiar with,
you just kind of need to learn how
to harness it and think about it.
And indeed, most all of us have these
kinds of devices in our pockets,
or laptops, or desktops in our
homes, and for the most part,
we only do what people let
us do with them, right?
We download an app or
some piece of software,
and we use that because someone
else has made it for us.
And yet, with this same machine
and with this same device can
I actually build things, and create,
and solve problems of my own.
And they don't even need
to be all that unfamiliar,
so this is an old school problem like
looking someone up in a phone book.
If we imagine this is a really big
whitepages with like 1,000 pages,
and I'm looking for
someone like Mike Smith,
this isn't all that different
from what happens nowadays
on our iPhones and Android devices
where if you pull up your contacts app,
you probably see all of your
friends and family alphabetically
by first name or last name.
And that's essentially what we
have in this technology here,
and now if I wanted
to find Mike Smith, I
could sort of start at the beginning
of this problem, look down at the page,
and if he's not there, which
indeed he's not in the A section,
I might turn a page, turn a page,
turn a page and not see Mike Smith.
And so I continue proceeding
one more page at a time.
This is incredibly tedious,
it's incredibly slow,
but it is correct because if
Mike Smith is in this phone book,
I'll eventually reach him.
Now, of course, I could optimize this.
I could think a little
harder about it, how
to solve this problem not just
correctly but well, efficiently,
and I could start to do something
like 2, 4, 6, 8, 10, 12, and so forth.
That's going to get me through
the problem twice as fast
and find like twice as fast,
but it's potentially flawed.
There's a flaw, right?
If Mike accidentally ends up
sandwiched between two pages.
So I might at least have to double back.
If maybe I hit the T
section in the book,
I might have to double
back one page just
to double check that I
didn't blow past him,
but that too is not something any
of us are going to do in this room.
All of us already have
the intuition for sort
of opening this problem to the middle,
looking down, realizing, oh, I'm
in the M section, so
Mike must clearly be
in the right half of this phone book.
And so we can tear the problem in
half, throw, if I may, half of it away.
And now what's interesting
about this problem
is that it's fundamentally the same,
but it's gone from 1,000 pages to 500.
But the algorithm, the
step by step instructions
that I can now apply myself are the
same-- go roughly to the middle,
look down, and I say, oh,
I'm now in the T section,
so I've gone a little too far.
And so I can again tear the problem in
half, throw that half of the problem
away, and now I've got 250 pages.
And if I repeat down to 125 and
again and again and again ultimately
theoretically we end up with just one
page on which Mike either is or is not.
And what I realized
early on is that that
is what computer science actually is.
It's about problem solving.
And we might bring to bear computers
and programming on those problems,
but those computers are really just
tools that we use and means to an end.
Computer science is not itself about
programming but about problem solving,
and yet it took me years until graduate
school when I was back here again
and this time focusing not
just in computer science
but dabbling in an elective.
I enrolled as an auditor in Anthropology
1010 Introduction to Archeology.
I admittedly had this sort of mid-grad
school crisis where I wondered,
why am I becoming a computer scientist?
Archeology is a lot more
interesting, a lot more
fun or so I thought sort of halfway
through my thesis work or aspirations.
But what archeology opened my
eyes to was the interconnections
of computer science with other fields.
In fact, it's such a
simple thing to imagine
going on Google Maps or
Google Earth these days.
For instance, to pull up
something like the place
we're currently in, searching for
something like Sanders Theatre and then
thanks to technology, being flown
down to where we are right now.
But in anthro 1010,
I had the opportunity
to see my professors actually leverage
this technology in a much more
compelling academic way
whereby we might have searched
for the great pyramids zooming
halfway across the world,
zooming down pretty low
thanks to satellite imagery,
and actually be able to see not
just well-known artifacts like this
but archaeological digs from which
my professor that semester had just
come back.
And he was able to give
us this aerial view
and really open our eyes thanks to
software and thanks to computer science
and its outgrowths to actually
exploring yet other problems still.
And so it's not just CS plus archeology.
I also realize quickly that I could
apply CS to frosh IM, so rewind
a few years.
Freshman intramural sports for some
time didn't even have a website.
Back in the day, we signed up for
sports and walked across the yard,
slid them under the doors of
the proctors, and registered.
Well, I instead discovered that I
could actually apply my newfound skills
and savvy from CS50, CS51,
and follow on courses
and actually solve that
problem with software,
but more generally did we
have this sort of opportunity
to combine CS with other things--
CS plus X, if you will,
where X, a variable,
might be the arts, or business, or
engineering, humanities, law, medicine,
sciences, applied
sciences, social sciences,
or any number of other fields.
In fact, at the end of this particular
course, this introductory course CS50,
do we end the semester with a
campus-wide celebration of what
the students in that class achieve
over the course of just one semester--
students who were just like
you sitting here some year ago.
In fact, in CS50, 53% of the students
this past year were first-year,
62% of those are among
those they describe as less
comfortable with the idea
of even being in a CS class,
not unlike myself some years ago,
68% had never even taken a CS course,
and yet at the end of the
semester at this so-called CS50
fair are expressions like
this all around the room
where all several hundred
students in the class
come together with a
few thousand students
and faculty and staff across campus to
celebrate in exactly what students have
accomplished by a bit of new exposure
to a field that they might not remain.
And indeed, the majority of students
in CS50 and in Introductory Computer
Science don't stay within the CS but
take these ideas and new skills back
to problems of their own domain
in a number of those other fields.
In fact, just to give you a glimpse
of some of this past year where
CS plus X was in fact personified
in some of our very students,
Lyra and Sarah here
implemented an iPhone app
that actually enabled people who are
color blind to effectively see colors
by taking a photograph of
something and then telling them
what the actual color is thanks
to the camera on the phone.
Nick here implemented software
that used image recognition
to take printed old school music like
this, run it through software that
figured out what those notes
were so that he could then change
it to be targeted at one
instrument instead of the other
for which it was designed.
Allison and Rita actually
implemented a site
for Harvard student
agencies on campus here
to facilitate the pairing
of Harvard students
with high school students
for tutoring opportunities.
Angela and Isabel, virtual
postering an event board website
so that students could
publicize and bring themselves
together across campus.
Stephen and Stuti here,
a stock simulator iPhone
app so that you could actually
simulate buys and sells of stocks.
Chris and Enxhi here,
an app that actually
allows you to compose a
reading list for yourself
by scanning ISBNs and other such
decodes in the back of a book.
And then lastly, folks like
Lucas here, who actually you
can see him talking into an Amazon
Alexa at top right commanding
his computer to do something,
so it's a car simulating
the sorts of things that are very
much in trend in industry today.
And then Billy, and Sam,
and Victor here, they
wrote a website that
allows you to mimic text.
So you read in and scan in text from
well-known dignitaries, or politicians,
or authors, and you can
generate text that's
very much reminiscent
of and statistically
equivalent to the kind of language those
humans might have written themselves.
Jeanette, and Ken, and
Mary here implementing
a website that allowed students to
actually improve their bill of health
by actually dropping the Raman and
getting recommendations for food.
Alice and Ian, anonymous chat
servers for peer counselors.
Luke, one of our students
at Yale, visualizations
of NBA player's missed or hit shots.
From the court, Mai-linh
and Maria, a website
that allowed them to actually
stop themselves from using
websites like Facebook and
other such distractions
so that they could actually
focus on their own studies.
And some of our students
even did something
like this using virtual reality--
the ability to put on headsets like
this these days and be able to look up,
down, left, right and
actually see a virtual space
that isn't physically here but is
recorded effectively or created
in software so that you can explore
other areas beyond your present tense.
And indeed, this is what we ourselves
in CS50 focused on exploring this year,
CS plus X where X is
education considering
how we might bring to bear this
technology to bring high school
students, adult learners from around
the world to a place like this
that we're all fortunate to
enjoy and experience and have
as a place of learning and yet bring it
to others virtually around the world.
In fact, this is a clip from our
first lecture this past year,
and if you can see, at the
top there is a special camera
that we put right in the
middle of Sanders Theatre here.
And it's got eight lenses that look
up, down, left, right, forward, back,
and via these eight lenses do we
end up getting essentially eight
videos that thanks to CS50's team
behind the scenes, we stitched together.
So all of these
individual circles you see
become just part of a sphere to
create this virtual world around,
and so long as you have
a headset like this
or another headset like
this Google Cardboard can
you actually achieve this
and experience this yourself.
In fact, we ourselves in CS50
and our team of TFs, and CAs,
and producers decided to go beyond
our own comfort zone this past year
and define X in this case to be
an opportunity where X is dance
and X is music, and thanks to CS50's
own, Lauren Scully and our production
team, thanks to some of
our friends on campus,
the Harvard Veritones, one of
the acapella groups on campus,
did we head up to the Harvard
dance studio just a few weeks ago,
build a 360 degree set like
this, plant that special camera
right in the middle, and capture
the experience of song and dance
in this virtual space.
In fact, I think we have just a minute.
This is perhaps best explained through
experience and not through retelling.
Do we have a moment for one
volunteer from the audience?
OK, come on up.
What's your name?
JESSICA: Jessica.
DAVID MALAN: Jessica?
Jessica, come on up, and as you
see, this young man here also
jumped up on stage.
This is Connor who was where you
sat two years ago at Visitas.
This was him in that same first
lecture and he's joined CS50's team
since to help us bring this together.
Jessica, nice to meet you.
So Connor's going to
get you set up here,
and the one disclaimer
is that you have to be--
and I should have said this before--
you have to, one, be comfortable
appearing here on camera, and two,
do you like surprises, too?
JESSICA: I guess so.
DAVID MALAN: I guess so.
OK, we'll take that, and
so what you're about to see
is just a minute clip from what we
think is the first ever collegiate
virtual reality recording of an acapella
performance by the same group on campus
featuring the Veritones of Niya Avery.
And in three dimensions here, as I
switch our screen over, will Jessica,
our brave volunteer, be able to
look up, down, left, or right.
And if we could dim the lights at this
point, will you see on the overhead,
thanks to the wire she's connected
to, what she's experiencing.
And we can increase the volume, too.
And there's Niya.
So you'll notice that
she looks up and down.
You're seeing exactly what she's
saying in this dance studio.
[MUSIC PLAYING]
JESSICA: Oh, woah.
[SINGING] I tried hard to make you
want me, but we're not supposed to be.
And the truth will always haunt
me even though it set me free.
You haunted me, taunted
me all in my brain.
Turn off the light and now all
that remains fills me with doubt,
and I'm shouting your name out loud.
Why do you want to put
me through the pain?
I get the feeling I'll never escape.
I can't hide away from the shame of you.
Tears on the ground, tears on my
pillow, you won't bring me down.
I'll get over you.
This is to get me through,
and I'll get over you.
I'll get over you.
I'll get over you.
When did you lose your emotion?
When did you become so cruel?
And if you want to cut me open, it
says a thousand words about you.
In time, I know you'll leave
me like a distant memory.
I know love can be so easy
if I start by loving me.
You haunted me, taunted
me all in my brain.
Turn out the light and all that
remains fills me with doubt,
and I'm shouting your name out loud.
Why do you want to put
me through the pain?
I get the feeling I'll never escape.
I can't hide away from the shame of you.
Tears on the ground, tears on my pillow.
You won't bring me down,
and I'll get over you.
I'll get over you.
Tears on the ground, rain at my window.
The pain washes out,
and I'll get over you.
These tears will get me
through, and I'll get over you.
I'll get over you.
I'll get over you.
I'll get over.
I don't need you to call me tonight.
I don't need you to
see if I'm all right.
You left me, so leave me, I'm fine.
I'll be here getting on with my life.
Tears on the ground, tears on my
pillow, you won't bring me down.
I'll get over you.
The rain on my window,
the pain washes off.
I'll get over you.
I'll get over you.
[APPLAUSE]
