[? LADORE: ?] My name is [? Ladore. ?] I'm 21.
I'm from Israel.
And my question is I would love to know some more
information about how your walk-through videos for various problems sets
are written.
Right now I am on problem set five, and I'm not
sure about most of the questions there.
And I'm sure the walk-through videos helped me
a lot to understand some of those basics and ideas of the code.
So, generally, what are your considerations
and/or inspirations when making one of those videos,
and how do you decide what to include in them or what not to include?
SPEAKER 2: That's a really good question.
I can speak, perhaps, to some of the history
and then have Brian elaborate on his particular approach to them.
So we've been doing these walk-through videos
for CS50, which are these short YouTube videos that
are embedded into the homework assignments
for CS50 itself, for those unfamiliar, for, probably, 10 plus years now.
And different Teaching Fellows or TFs have led them over the years.
[? Martin ?] [? Bralek ?] was the first some 10 plus years ago,
Tommy MacWilliam, after that, who you might remember from other CS50 videos,
and then Zamyla Chan, who held the title for, probably,
eight or so years while she was an undergraduate as well as a PhD student
at Harvard.
And she only just recently moved out into the real world.
In fact, as an aside, before I forget, those of you
who know Zamyla from past years of CS50, I've just pasted into the chat window
a URL of her graduation speech that she gave upon receiving her PhD.
But the motivation for the walkthroughs early on
was really to start to answer a frequently asked question or FAQ, which
was quite simply, where do I begin?
I had hoped we have fairly detailed specifications in the problem sets,
telling students what they ultimately need to do.
But they deliberately don't really tell the students how to do that,
and, frankly, we have found through trial and error
that the longer, the longer, the longer the problem sets, English language,
gets, the less, the less, the less the students
actually read it, even the native English speakers.
And so we wanted to use another media format
to convey ideas and hints for those students who
might want the additional guidance.
Early on, these walkthroughs were only in person.
We would hold them in a lecture hall on campus,
and students would come and attend these classes for help
with the current week's problem set.
And then over the years, we began to film those.
And then over the years further, we then got rid of the audience.
And we started to pre-produce the videos in a studio or in an office,
just so that we could get them just right.
We could alternate between text and code and the human speaking on screen,
and then, literally, integrate them into the problem sets themselves.
In fact, it's a very deliberate, if subtle, design decision
that when Brian leads them and Zamyla leads them,
they're against this white backdrop because we really
want the human element to blend into the homework assignment itself.
And, indeed, what was wonderful about Zamyla, especially,
who really became the face of these walkthroughs for so many years,
students really began to identify with her, really want to meet her,
really want to be her because she was literally the person there for them
in their time of need when they were struggling with homework assignments.
And so that's some of the history, and Brian has now taken up the baton
himself.
And, Brian, do you want to elaborate on your approach?
BRIAN YU: Yeah.
Certainly, I took a lot of inspiration from Zamyla's walk-through videos
and watching the way that she did them as well.
But my general approach with the walkthroughs
is to, first and foremost, convey any background knowledge needed
to solve the problems-- that a lot of our problems
connect computer science to other domains.
So with the election problems and the problems [INAUDIBLE],, for example,
I'll start the walkthrough just by talking
through how these elections work so that you understand what the election even
is before you start worrying about the code, or, likewise, with speller,
trying to talk through how a hash table works to get an understanding of that
before you start writing the code.
And then the next step in the walk-through videos
is I try to provide some ideas for how to start thinking about the problem
a little bit more methodically.
With a lot of these problems, I've been helping students
with them for five or so years now.
And I've started to see the way that some people try
to start to think about the problem, and so part of the goal of the walkthrough
is in my mind is to provide some guidance
and some hints as to where to start your thinking in terms of how you can then
translate that into code while still leaving the core of the problem
up to you to solve because we don't want to give the problem away
in the walk-through video.
But we do want to just give you that little first nudge
so that you have an idea of how you can begin writing up your own solution
and thinking about how you would go about solving
any of the problems in the problem [INAUDIBLE]..