>> [THEME MUSIC PLAYING]
DAVID J MALAN: Hello world.
This is CS50Live.
So it's been brought to my attention that over the past few episodes
I may have said a few things that are incorrect.
Well, among the first for instance, was that this popular website
we've been using for the courses discussions
is not in fact called Redder.
It's apparently called Reddit.
>> Meanwhile, it is the case that for quite some time the United States was using
00000000 to protect its missiles.
However those missiles were nuclear, and not apparently, "nuke-you-ler."
>> Meanwhile.
I love you.
This is indeed currently, supposedly, the most popular password
right now for people to be using.
But this-- if we zoom in-- is not in fact how you make a heart.
>> Lastly, CS50's own Shelley Westover, whom you may remember from such films
as this one, noted that she is not in fact
a camera "operater" but a camera operator.
Now speaking of camera operators, the team
has graciously allowed me to borrow this camera today,
so that we can take a look at what's actually
going on all this time behind the scenes.
So if you will, shall we go ahead and take a tour of the studio?
We're here in beautiful Hauser Studio, in Widener Library.
Against the backdrop here is this green screen, otherwise known
as a chroma-key, or cyc wall physically.
And in fact, if I walk up closely to this,
notice how the ball has a slight curve to it rather than a normal sharp angle.
That allows us to keep shadows off of the edges,
and it also allows us to make sure that we can superimpose
almost anything we want nice and cleanly.
>> Now up here is a whole bunch of lights controlled
by a main panel of switches which we'll see in just a little bit.
Up here is an LED light with so-called Barn Doors on it.
This is what casts very directed light.
Really gives me my glow during the show.
And then over here we have a fluorescent light, which casts softer light.
Now both of these are cheaper to operate,
and a lot cooler to operate than more traditional incandescent bulbs
that a lot of folks still tend to have in their homes.
Now if we turn around here, you'll see what I see.
So we have a couple of our cameras over here, one of which
has a teleprompter on it.
>> We actually don't really use a teleprompter in CS50Live,
but for the shorts, against those white backdrops that you may recall,
we actually use them quite a bit.
Spending quite a bit of time in advance scripting the material so as
to get it just right.
>> Now over here, you'll actually see a camera up on the ceiling.
Let's zoom in on that.
That's the so-called bump cam that gets those shots
that you see at the very beginning or the very end of CS50Live.
And it's hard to see in the lighting up there,
but it's actually hung upside down, and we're
able to fix in software after the fact by flipping it vertically.
>> Now-- hi [? Andrea-- ?] over here, let's head over to that light panel
that I mentioned earlier.
This light panel has a whole bunch of switches,
and they hate it when I actually do this,
but we can actually throw some lights up and down here.
I can't quite see the effect, but we're kind of wreaking havoc on our cameras
right now.
But let's fix this.
Oh boy, let's move on.
>> So in here is the closet in which all of the studios wires
are ultimately routed.
And this is sort of the brains behind the operation,
behind the scenes, huge fans in here.
In fact, if I lean in you can hear quite a bit of noise.
So there's actually quite a bit of insulation on these wall
so as to keep that noise out when we do in fact shut the doors.
But way up there you can see all the cables coming in and out of the closet.
And over here you can see a copy of the teleprompter
that we saw just a moment ago.
>> Alright, let's head into the so-called control room.
So over here, I still don't quite understand this one,
this is where we keep our flammables apparently.
But over here we have a whole bunch of workstations
where the CS50's team and other HarvardX teams work.
And over here we have our audio station.
Let's take a look.
Hey Patrick.
So here we again have a whole bunch of dials
we can move up and down to actually change the levels.
This time for audio.
And in fact, if I do this here-- I'm going to slowly bring down this audio
level, and I'm going to keep talking in this usual voice of mine here in Hauser
Studio for CS50 live, and at some point you're not going to be--
>> [VOLUME LOWERS UNTIL VOICE IS INAUDIBLE.]
>> Now if I raise it back up you'll start to hear my voice again.
Now, you don't have to do everything manually.
In fact we have some presets.
So if I go over here to the Layer menu, I can actually toggle between 1
in 16 and 7 in 32, and you'll see this happen.
Actually pretty neat.
I do this quite a bit as well-- watching.
>> Anyhow, let's move over here and you'll see a whole bank of hard drives,
really.
These are all SSD's that you might have in today's laptops, and even
some in today's desktops.
And they store things like this-- which is actually
just a hard drive, which is about 500 gigs in SSD.
And you can see the interface there via which
it connects to the innards of that.
This is where all of our footage is ultimately stored,
from one or more cameras that we might be using for a particular shoot.
>> Now over here-- Oh, Hey Ramon.
Thanks.
Ramon's never really given me much attention there,
but we'll just move on.
If Ramon-- if I could take a look over here, we have a whole bunch of buttons
that we can play with as well.
And meanwhile there's a whole bunch of displays up here
on two massive, big screens.
And this is really like the innards of a television studio.
All of the video signals come in here, and what
we're able to do by touching the switches and dials is actually
produce a show in real time.
So for instance, we have this little throttle here,
like you might see in a plane.
If I start to gain this back, notice what happens on the two images
up there.
Fading between the two, and so we've gone from one to the other.
And if I push that back up, now we've got back the original images.
>> Meanwhile this joystick over here, like an old arcade console,
allows us to do this with that bump cam.
And there we go, there we go, there we go.
And now we have fixed that-- pretty much good enough
for the purposes of the show.
>> Now finally-- sorry Ramon-- we also have some buttons here.
DDR2, of my favorite games perhaps, and if I hit this, we now get this effect.
You might recall that from episode two of CS50Live.
If we push on title, this is what we can hit if anything actually goes wrong,
we're getting that screen there.
And now lastly, I think it's time for 60 seconds of Rob.
Oh, son of a--
>> [BASS GUITAR PLAYS]
ROB: Oh, come on!
Just use some animal video!
>> [MUSIC PLAYS]
>> [WOMAN SPEAKING JAPANESE]
>> Recently in the news was an article about CS50
in a popular website known as Life Hacker.
Now one of your classmates, Annabel from Australia, came across that article
and in turn CS50 itself.
She's now enrolled in the class and she would like to say hello.
ANNABEL: Hello world.
My name is Annabel, and I'm from Queensland, Australia.
The reason I'm taking this class is because I saw a post on Life Hacker,
and knew that this was the key to bridge the gap between being a newbie,
and a future in CS.
Taking this course will also be a bridge in many directions for my autistic son
who loves IT.
I'm also hoping that by the end to create
programs to assist my dyslexic daughter.
Currently I am an accountant, with a heavy interest
in technology, real estate, gardening, and instrumental music.
My name is Annabel, and this is CS50.
>> SPEAKER: Allow me next to introduce Betty,
who would also like to say hello.
BETTY: Hello, world.
My name is Betty, and I'm from southern California.
I'm taking this course because our society today
seems to be geared towards programming.
Programming is becoming essential for our lives.
And actually, I think it's already essentially now,
because a lot of the things that we use have to incorporate programming
in order for them to be created.
Basically, we are going to be geared towards a future filled
with technology, and programming is going
to be an essential part of that future.
So I think it's something that's really cool,
and that I should probably get to learning it.
So yeah, my name is Betty, and this is CS50.
DAVID J MALAN: Pictured here meanwhile, is
Raja from India, who has gotten so immersed in CS50
that he apparently had it tattooed on his skin.
>> And now, a tweet.
This one from Carter in Virginia, who wrote us with this-- "Consentino and I
are making good use of my snow day watching week one of Harvard's CS50
on TV via Chromecast and YouTube."
Who is Consentino?
Well, apparently he's his cat, but indeed, pictured here along
with Carter's feet, is a big screen TV in the background.
And apparently there are indeed using a Chromecast
to project CS50's week one onto that big screen TV wirelessly.
Now Chromecast, if you're not familiar, is actually kind of a neat device.
It's a fairly inexpensive plug that you can put into the back of your computer
into an HDMI port.
It has Wi-Fi access, and essentially allows you to stream wireless
content from your laptop onto your TV, or even control your TV
and download content like videos directly to it.
And now a note from Mohamed, one of your classmates in Pakistan,
who recently discovered this curiosity-- apparently
if you go to google.com on occasion and search
for me, David J. Malan, apparently this guy comes up once in awhile.
David H. Malan, who's apparently a British psychotherapist who
looks an awful lot like me.
Now it turns out if you click this feedback link
in the bottom corner you can actually report a problem,
as things being wrong to Google.
And let me-- since we are on the internet
here-- if you can help a guy out, and actually click that wrong link up top,
and just mention that David H. Malan is not in fact David J. Malan.
>> Now to be fair, there probably is a David H. Malan,
and he probably is a British psychotherapist,
so let's not report anything else as wrong,
but just that photo has probably been chosen algorithmically
incorrectly by Google's servers.
>> And now a hello from CS50's friend, Professor Harry Lewis.
Professor Harry Lewis was actually my own professor years ago
when I took an intensive course in Theory of Computation.
A theory course in which you explore the fundamental limits of computation,
and exactly what computers can and cannot do.
We recently visited Professor Lewis in his office
to take a look at some technologies past.
PROFESSOR HARRY LEWIS: I'm Harry Lewis, I'm a professor of Computer Science
here at Harvard.
I came to Harvard in 1964 as a freshman, and except for three years
off during the Vietnam War I've been here ever since.
So I now head the undergraduate program in computer science,
and I've taught lots of different courses over the years.
And I'd like to tell you a little bit about some
of the interesting things that have gone on a Harvard, of which I
have had some contact over the years.
>> Her's my undergraduate thesis, in 1968, which
I wrote a two dimensional programming language.
This is a core memory plane, those are a little magnetic doughnuts
that are strung on the intersections of wires.
And this was the way memory was done before semiconductors
became a viable technology.
This is a early 15 gigabyte iPod, which I keep around
not because anyone's impressed with having a 15 gigabyte iPod,
but because this is a 70 megabyte drive, and they
went in disk drives that were about the size of washing machines.
So that was only 70 megabytes of memory, that
gives you some sense of how things have scaled.
DAVID J MALAN: And now another tweet.
This one from William in the United Kingdom
who wrote, "David J. Malan, after a bit of Google stalking, it turns out Rob
has a twin brother.
Can we put him in CS50Live and play spot the difference?"
So William, this is indeed the case.
CS50's own Rob Bowden does have a twin brother.
In fact, here is Rob and Paul-- or Paul and-- pictured here
are two Bowdens, both of whom have actually TFed for CS50 in the past,
and indeed Rob is now on CS50's full time team.
>> Now, we too did bit of Google stalking, and it turns out
that twin brother Paul has his own YouTube
channel in which he fancies himself a bit of a comedian.
Let's take a look.
>> PAUL BOWDEN: Hey guys.
Paul Bowden here again.
I'm back with my second try at stand up.
Yes, I do know that I'm sitting down.
The first time didn't go as well as I had hoped for,
but I took the advice that you guys offered,
and this time I'm going to be a little less awkward, and a little better
on the joke front.
DAVID J MALAN: Now if you'd like to subscribe to Paul's channel on YouTube,
and you should, head to this URL here.
Now brother Rob is of course very proud of his twin brother.
In fact, pictured here is Rob as an animated GIF doing a fist pump.
Now this has actually been circulated on the internet quite a bit.
So if you Google around for this image here,
you can even make this your wallpaper if you would like.
And you should.
>> Now Rob here was cheering his brother on in a popular American game
show in which Paul was a participant.
Now, what game show was that?
Well we'll leave it to you, the internet,
to figure out exactly what game show Paul Bowden participated on,
and if you can find that out, let us know at Facebook, Reddit, or Twitter,
and we'll see if we can't show a little clip in the next CS50Live.
>> And now a piece of hardware.
As you may have heard, CS50 in some of it's on campus sections
uses a piece of hardware known as the Arduino.
Pictured here for instance, is the Arduino Uno,
a little circuit board that you can connect to a computer,
and then actually program it by writing C+ code,
and then burning it into the hardware so that it can actually execute programs.
Now one of your classmates here, Areor, decided
to wire up an Arduino Uno to his computer
and then implement, if you can believe it, Problem Set 2's Caesar.
>> Now we don't have any audio in this video, but let's zoom in
and take a look at the end result.
Now if you are a Redditer, you might have noticed this post
a couple of weeks ago advertising episode two of CS50Live.
Now one of your classmates, Louis from Montreal, Canada, after that episode
kindly posted, "Wow, that one was historical."
Only to correct himself a few minutes later with edit-- "hysterical, HA HA."
So we'll take it either way, but what was
funnier than that, is that Chris from Toronto, Canada
then followed up with as follows, "It would be hysterical
if the next episode was historical as a result of the production staff seeing
this comment."
Well indeed we did, and now some more history.
>> We pulled this up from the archives.
This is in a magazine, Popular Electronics, an issue from 1975,
which bore this headline, World's First Minicomputer Kit
to Rival Commercial Models.
The Altair 8800.
Now at the time there wasn't really a programming language
with which you could make this machine solve problems very easily,
and so a young Harvard student at the time
named Bill Gates decided with some friends of his
to write the first interpreter for programming language, known as basic,
with which to drive this piece of hardware.
We took a stroll recently with Professor Harry Lewis
to Maxwell Dworkin, Harvard's computer science building, where
the source code for that original BASIC interpreter still hangs.
And we ask him if he could give us a tour.
PROFESSOR HARRY LEWIS: What you have here
is a listing of an early piece of software
written by Bill Gates and Paul Allen, the founders of Microsoft.
So the code is interesting for two reasons.
First of all it became Microsoft's first product,
which was an interpreter for the basic programming language.
And secondly, this was one of the first attempts
to create an interpreter so ordinary people could use personal computers.
So Bill Gates was an undergraduate at Harvard.
I started teaching at Harvard in 1974.
This was done in 1975, so it was early in his career and early in my career.
I actually taught Bill in a course around this time.
Paul Allen was not a Harvard student, but he
had been a high school classmate of Bill Gates.
>> If you come and look at the listing, you'll
actually find a third name, Monte Davidoff, who was Gates' classmate here
at Harvard.
OK, so here's an interesting comment up here.
It says, "In 4k can delete square root but for loops should still work."
OK, so what that means is that there was two ways to compile this program.
One was to run on a version of this Altair computer
that only had 4K words of memory.
4,096 words of memory.
But the big version had 8 K, and so what this says is that in the 4K version
you had to delete some code to make it fit.
And one of the things that would be deleted
would be the square root routine, but apparently the for loops
should still work, even when you're compiling down
for just the 4K version of the kit computer.
>> Now if you zoom in on that source code you may have noticed a familiar name.
Indeed, User Holloway was the individual who
printed this source code in April of 1975.
Now those of you who've asked questions, perhaps on Reddit or elsewhere
for CS50, might have come across Glenn Holloway, one of CS50's team members
who has actually been with the course for some time,
and very graciously offers quite often to help students via the internet
with any problems that they might solve.
And indeed, it seems he was doing that even in yesteryear
when this source code needed to be printed out.
>> Now let's fast to present day, in fact this is truly breaking news.
Recently revealed was this project tango, an initiative by Google
and a number of other companies to actually create
software with which you can use a phone or similar wireless device
and walk around your physical environment
and actually make a 3D model of it-- which typically is incredibly time
consuming and/or expensive.
And yet, with today's technology you might soon be doing this yourself,
and you might soon be writing software yourself with which
to leverage this new technique.
Let's take a look.
>> JOHNNY LEE: My name is Johnny Lee, and I work in the advanced technology
and projects group at Google.
Our small team here, based in California,
has been working with universities, research labs, and industrial partners
to harvest the last 10 years of research in robotics and computer vision
to concentrate that technology into a very unique mobile phone.
We are physical beings that live in a 3D world,
yet mobile devices today assume that the physical world
ends at the boundaries of the screen.
Our goal is to give mobile devices a human scale
understanding of space and motion.
EITAN MARDER-EPPSTEIN: This is going to allow
people to interact with their environment
in just a fundamentally different way.
We can prototype in a couple hours something that
would take us months or even years before,
because we didn't have this technology readily available.
>> TED LARSON: What happens if you have all of these pieces in a phone?
How does that change what a phone is?
>> JOHNNY LEE: We have created a prototype phone
containing highly customized hardware and software, designed
to allow the phone to track it's motion in full 3D, in real time
as you hold it.
These sensors make over a quarter million 3D measurements
every single second, updating the position and rotation of the phone,
fusing this information into a single 3D model of the environment.
>> CHRIS ANDERSON: We have a problem called navigation indoors.
And it's a solution to that problem.
>> EITAN MARDER-EPPSTEIN: It tracks your position as you go around the world.
And it also makes a map of that.
>> CHASE COBB: Imagine that you scan a small section of your living room.
And then are able to generate a little game world in it.
I don't know of any other controller or gaming
device that can do that at the moment.
>> TULLY FOOTE: Putting all this together, they
pulled in experts from all around the world
and got them all working on the same project.
>> REMI EL-QUAZZANE: Those are very high caliber of people.
Why?
It's very simple.
I think, actually, people that believe in the vision.
JOHNNY LEE: Localization of mapping is there on your phone,
and you just use it.
It's this ability to follow in other people's footsteps.
>> DIRK THOMAS: And we can also benefit from what we do for the project
back for the open source community.
>> CHASE COBB: Use it for the visually impaired,
and give them auditory view of where they're going.
>> VINCE PASCUAL: Being able to map your home,
turn it around, let me see how this furniture works in the room.
>> EITAN MARDER-EPPSTEIN: Virtual windows to different worlds,
I mean the possibilities are really endless.
JOHNNY LEE: Over the next few months we will be distributing dev kits
to software developers to develop applications and algorithms on top
of this platform.
And we are just in the beginning, and we know there's a lot more work to do.
But we are excited about where it is going to go.
The future is awesome, and we believe we can build it faster together.
DAVID J. MALAN: And now the moment you've probably been waiting for.
You may recall that in the last episode we
shared this tweet from CS50's own Andrew Hill, who a few months back wrote us
this, "David J Malan, where's my lamp?"
Now since then a number of you have submitted videos making your case
as to why you should be the next recipient of a CS50 desk lamp.
We thought we'd share at first one from Mohamed in Morocco.
It turns out that Mohammed's birthday was this past week, so allow me also
on behalf of CS50 to say happy 19th birthday to Mohamed.
Let's take a look.
>> MOHAMMED: Hello, I am Mohamed from Morocco.
I am studying in another city-- which is a little far from my original city
where I am living with my family-- where I left my desk lamp.
So I'm living in a dormitory and this is my room.
You can see here that light is yellow, and I don't really like it.
I prefer the white one.
That's why I want a CS50 desk lamp.
You can imagine me sitting there and working with it.
DAVID J. MALAN: And now another submission.
This one Emad, a student in his dorm room.
>> EMAD: I'm Emad from [INAUDIBLE].
So why do I want a desk lamp?
First of all, it will act as a moderate source of light
for my studies of high school, as I've just started fourth year.
And as well as well as the online courses, especially CS50.
The most important reason is that it will
act as software for the course CS50.
For example, if someone comes in my home and asks
how did you get that beautiful lamp, I will tell them that CS50 class sent it.
And so I spread the word of CS50, and most importantly, I
remember if for my life.
I am Emad, and this is CS50.
>> DAVID J. MALAN: And now Tim from Malaysia, pictured here in the dark.
Listen closely.
DAVID J. MALAN: And now a family friendly film from Zevin
in Vancouver, British Columbia.
>> ZEVIN: Hi there.
I'm Zevin Lennick.
I'm doing EDX for CS50, and we can't find our lamp.
The house is dark.
What do you think?
>> SPEAKER 1: Maybe it's over there?
>> ZEVIN: Are you sure?
>> SPEAKER 1: Maybe.
>> ZEVIN: Should we go find out?
>> SPEAKER 1: Let's go.
>> ZEVIN: Alright.
>> SPEAKER 1: Whoa, look at that light.
>> ZEVIN: Maybe there's a lamp in there.
>> SPEAKER 1: Let's check it out.
ZEVIN: Do you want me to do it?
SPEAKER 1: No, I'll do it.
ZEVIN: OK.
SPEAKER 1: Stay away from my lamp!
Oh no!
DAVID J. MALAN: And now a submission from Eggers in Latvia
who really took things up a notch with this film.
>> EGGERS: (AS LAMP 1) Well, how you doing?
>> WOMAN: (AS LAMP 2) Mmm.
Hello.
>> EGGERS: (AS LIGHTBULB 1) This is awesome.
>> WOMAN: (AS LIGHTBULB 2) Yes.
Ooh!
EGGERS: (AS LIGHTBULB 1) Ooh!
EGGERS: (AS BABY LIGHTBULB) [LAUGHTER] Where is my lamp?
>> EGGERS: Hi, my name is Eggers.
And I am from Latvia.
And this is--
SPEAKER 2: Our study.
Stay tuned.
>> EGGERS: No, this is CS50.
>> DAVID J. MALAN: And now, last but not least, a
submission from Phillip in Germany.
>> PHILLIP: Hey there David, I'm Phil.
I'm a student of cognitive science from Germany.
Cognitive science is a field that studies the human mind
and brain, joined from disciplines like neuroscience, psychology, linguistics,
and even computer science.
Now last semester, I spent a semester abroad at Harvard.
And I also attended your course, CS50.
>> Now while I loved CS50, I never got my own desk lamp.
Now I raised my hand in almost every lecture in a desperate attempt
to get me on stage and receive my own CS50 desk
lamp-- or even just a fricking stress ball.
Now I finally got my stress ball at the CS50 fair,
but I'm still suffering deeply from that lack of a CS50 desk lamp in my life.
So Mr. David Malan, my question to you is quite simple.
Where's my [BLEEP] desk lamp?
>> DAVID J. MALAN: And now a bit more history.
You may recall the following film from week one of CS50.
>> [MUSIC PLAYS]
>> SPEAKER 3 : A triumph of mathematical and mechanical skill,
as this great new automatic calculator at Harvard University.
Intricate problems in mathematics put through the machine in coded form
on tape are accurately solved in a minute fraction
of the time required for human calculation.
Designed to expedite all forms of mathematical and scientific research,
the giant mechanical brain will work for the United States Navy until war's end.
DAVID J. MALAN: Now the Mark I is no longer in use,
but it does still live here on campus.
We decided to take one final stroll with Professor Harry Lewis
to take a closer look at Harvard's science center-- new home
to the Harvard Mark I.
PROFESSOR HARRY LEWIS: So we're in the Harvard Science
Center, which is the crossroads of the Harvard campus.
A lot of the science departments have their classrooms and offices in here.
What's behind us here is the Mark I computer,
which was early electromechanical computer.
>> So the Mark I computer is here at Harvard
because Howard Hathaway Aiken, who was the person who conceived and designed
the machine in collaboration with IBM engineers,
was a Harvard professor of applied mathematics.
And he wanted to relieve the labor of solving numerical equations
by mechanical calculation that was done on pencil and paper.
>> What we have here is actually only a chunk of it.
It was 51 feet long and when it was all in one piece.
It could do three additions per second, a multiplication took six seconds,
and a division took 15 seconds.
So this was a huge advance over doing things with pencil and paper,
but it was slow work, and keeping the machine going all the time
was a major feat of electromechanical engineering expertise.
>> It was used for ballistics calculations, for calculating
the trajectory of missiles.
And it was also used for a little bit of the calculation in the Manhattan
Project for determining the right parameters for the atomic bomb.
>> So what you see here are paper tape drives,
so the program was punched in paper tape and was on a loop.
What you see there are registers that would
correspond to the stored memory of the machine, which was only used for data.
The program itself was fixed.
These electric typewriters were used to print the output.
These dials, which have 10 positions, are
where you would insert the constants.
So the program was fixed on paper tape, and if you had a constant,
like you have in C+ code-- you set some variable equal to 47 at the beginning
of your program-- this is the equivalent here.
You would dial in the number 47 using these registers.
>> The computational equivalent of this is much less
than the smallest wrist watch computer that is now being produced.
DAVID J. MALAN: That's it for CS50Live.
Thanks so much to this week's contributors,
as well as to this week's team behind the camera.
Let's close the show with a look at a scratch project
from Lisa Chung in Boston,
>> [MUSIC- YLVIS, "THE FOX"]