1 00:00:00,000 --> 00:00:00,090 2 00:00:00,090 --> 00:00:01,500 [? LADORE: ?] My name is [? Ladore. ?] I'm 21. 3 00:00:01,500 --> 00:00:02,560 I'm from Israel. 4 00:00:02,560 --> 00:00:08,100 And my question is I would love to know some more 5 00:00:08,100 --> 00:00:12,780 information about how your walk-through videos for various problems sets 6 00:00:12,780 --> 00:00:14,310 are written. 7 00:00:14,310 --> 00:00:17,970 Right now I am on problem set five, and I'm not 8 00:00:17,970 --> 00:00:21,330 sure about most of the questions there. 9 00:00:21,330 --> 00:00:24,270 And I'm sure the walk-through videos helped me 10 00:00:24,270 --> 00:00:33,170 a lot to understand some of those basics and ideas of the code. 11 00:00:33,170 --> 00:00:36,230 So, generally, what are your considerations 12 00:00:36,230 --> 00:00:39,440 and/or inspirations when making one of those videos, 13 00:00:39,440 --> 00:00:45,302 and how do you decide what to include in them or what not to include? 14 00:00:45,302 --> 00:00:47,010 SPEAKER 2: That's a really good question. 15 00:00:47,010 --> 00:00:48,890 I can speak, perhaps, to some of the history 16 00:00:48,890 --> 00:00:52,895 and then have Brian elaborate on his particular approach to them. 17 00:00:52,895 --> 00:00:54,770 So we've been doing these walk-through videos 18 00:00:54,770 --> 00:00:57,790 for CS50, which are these short YouTube videos that 19 00:00:57,790 --> 00:00:59,540 are embedded into the homework assignments 20 00:00:59,540 --> 00:01:05,129 for CS50 itself, for those unfamiliar, for, probably, 10 plus years now. 21 00:01:05,129 --> 00:01:08,810 And different Teaching Fellows or TFs have led them over the years. 22 00:01:08,810 --> 00:01:11,810 [? Martin ?] [? Bralek ?] was the first some 10 plus years ago, 23 00:01:11,810 --> 00:01:15,980 Tommy MacWilliam, after that, who you might remember from other CS50 videos, 24 00:01:15,980 --> 00:01:19,040 and then Zamyla Chan, who held the title for, probably, 25 00:01:19,040 --> 00:01:23,360 eight or so years while she was an undergraduate as well as a PhD student 26 00:01:23,360 --> 00:01:23,870 at Harvard. 27 00:01:23,870 --> 00:01:27,030 And she only just recently moved out into the real world. 28 00:01:27,030 --> 00:01:29,720 In fact, as an aside, before I forget, those of you 29 00:01:29,720 --> 00:01:34,155 who know Zamyla from past years of CS50, I've just pasted into the chat window 30 00:01:34,155 --> 00:01:39,410 a URL of her graduation speech that she gave upon receiving her PhD. 31 00:01:39,410 --> 00:01:41,960 But the motivation for the walkthroughs early on 32 00:01:41,960 --> 00:01:46,520 was really to start to answer a frequently asked question or FAQ, which 33 00:01:46,520 --> 00:01:49,020 was quite simply, where do I begin? 34 00:01:49,020 --> 00:01:53,750 I had hoped we have fairly detailed specifications in the problem sets, 35 00:01:53,750 --> 00:01:56,450 telling students what they ultimately need to do. 36 00:01:56,450 --> 00:02:00,140 But they deliberately don't really tell the students how to do that, 37 00:02:00,140 --> 00:02:02,420 and, frankly, we have found through trial and error 38 00:02:02,420 --> 00:02:07,100 that the longer, the longer, the longer the problem sets, English language, 39 00:02:07,100 --> 00:02:09,710 gets, the less, the less, the less the students 40 00:02:09,710 --> 00:02:12,230 actually read it, even the native English speakers. 41 00:02:12,230 --> 00:02:14,690 And so we wanted to use another media format 42 00:02:14,690 --> 00:02:17,840 to convey ideas and hints for those students who 43 00:02:17,840 --> 00:02:20,570 might want the additional guidance. 44 00:02:20,570 --> 00:02:23,090 Early on, these walkthroughs were only in person. 45 00:02:23,090 --> 00:02:25,670 We would hold them in a lecture hall on campus, 46 00:02:25,670 --> 00:02:28,820 and students would come and attend these classes for help 47 00:02:28,820 --> 00:02:30,500 with the current week's problem set. 48 00:02:30,500 --> 00:02:32,840 And then over the years, we began to film those. 49 00:02:32,840 --> 00:02:36,170 And then over the years further, we then got rid of the audience. 50 00:02:36,170 --> 00:02:40,120 And we started to pre-produce the videos in a studio or in an office, 51 00:02:40,120 --> 00:02:41,870 just so that we could get them just right. 52 00:02:41,870 --> 00:02:46,580 We could alternate between text and code and the human speaking on screen, 53 00:02:46,580 --> 00:02:49,740 and then, literally, integrate them into the problem sets themselves. 54 00:02:49,740 --> 00:02:52,430 In fact, it's a very deliberate, if subtle, design decision 55 00:02:52,430 --> 00:02:55,300 that when Brian leads them and Zamyla leads them, 56 00:02:55,300 --> 00:02:57,740 they're against this white backdrop because we really 57 00:02:57,740 --> 00:03:02,720 want the human element to blend into the homework assignment itself. 58 00:03:02,720 --> 00:03:05,960 And, indeed, what was wonderful about Zamyla, especially, 59 00:03:05,960 --> 00:03:09,170 who really became the face of these walkthroughs for so many years, 60 00:03:09,170 --> 00:03:12,650 students really began to identify with her, really want to meet her, 61 00:03:12,650 --> 00:03:17,360 really want to be her because she was literally the person there for them 62 00:03:17,360 --> 00:03:21,440 in their time of need when they were struggling with homework assignments. 63 00:03:21,440 --> 00:03:25,340 And so that's some of the history, and Brian has now taken up the baton 64 00:03:25,340 --> 00:03:25,940 himself. 65 00:03:25,940 --> 00:03:28,885 And, Brian, do you want to elaborate on your approach? 66 00:03:28,885 --> 00:03:29,510 BRIAN YU: Yeah. 67 00:03:29,510 --> 00:03:33,290 Certainly, I took a lot of inspiration from Zamyla's walk-through videos 68 00:03:33,290 --> 00:03:35,630 and watching the way that she did them as well. 69 00:03:35,630 --> 00:03:37,700 But my general approach with the walkthroughs 70 00:03:37,700 --> 00:03:41,647 is to, first and foremost, convey any background knowledge needed 71 00:03:41,647 --> 00:03:43,730 to solve the problems-- that a lot of our problems 72 00:03:43,730 --> 00:03:46,130 connect computer science to other domains. 73 00:03:46,130 --> 00:03:49,520 So with the election problems and the problems [INAUDIBLE],, for example, 74 00:03:49,520 --> 00:03:51,680 I'll start the walkthrough just by talking 75 00:03:51,680 --> 00:03:55,340 through how these elections work so that you understand what the election even 76 00:03:55,340 --> 00:03:59,370 is before you start worrying about the code, or, likewise, with speller, 77 00:03:59,370 --> 00:04:03,140 trying to talk through how a hash table works to get an understanding of that 78 00:04:03,140 --> 00:04:04,988 before you start writing the code. 79 00:04:04,988 --> 00:04:07,030 And then the next step in the walk-through videos 80 00:04:07,030 --> 00:04:12,020 is I try to provide some ideas for how to start thinking about the problem 81 00:04:12,020 --> 00:04:13,557 a little bit more methodically. 82 00:04:13,557 --> 00:04:15,890 With a lot of these problems, I've been helping students 83 00:04:15,890 --> 00:04:18,643 with them for five or so years now. 84 00:04:18,643 --> 00:04:20,810 And I've started to see the way that some people try 85 00:04:20,810 --> 00:04:24,102 to start to think about the problem, and so part of the goal of the walkthrough 86 00:04:24,102 --> 00:04:26,870 is in my mind is to provide some guidance 87 00:04:26,870 --> 00:04:30,800 and some hints as to where to start your thinking in terms of how you can then 88 00:04:30,800 --> 00:04:33,950 translate that into code while still leaving the core of the problem 89 00:04:33,950 --> 00:04:36,887 up to you to solve because we don't want to give the problem away 90 00:04:36,887 --> 00:04:37,970 in the walk-through video. 91 00:04:37,970 --> 00:04:40,720 But we do want to just give you that little first nudge 92 00:04:40,720 --> 00:04:44,600 so that you have an idea of how you can begin writing up your own solution 93 00:04:44,600 --> 00:04:46,840 and thinking about how you would go about solving 94 00:04:46,840 --> 00:04:50,410 any of the problems in the problem [INAUDIBLE].. 95 00:04:50,410 --> 00:04:51,000