1 00:00:00,000 --> 00:00:01,728 2 00:00:01,728 --> 00:00:03,020 YULIIA ZHUKOVETS: Hi, everyone. 3 00:00:03,020 --> 00:00:05,440 This is a session on CS50's Curriculum. 4 00:00:05,440 --> 00:00:06,530 And my name is Yuliia. 5 00:00:06,530 --> 00:00:09,110 I am a preceptor here at Harvard. 6 00:00:09,110 --> 00:00:13,508 And today, we're going to talk about CS50's curriculum, what materials 7 00:00:13,508 --> 00:00:15,550 are there available, how do you put them together 8 00:00:15,550 --> 00:00:18,880 and ultimately create your own curriculum for your classroom 9 00:00:18,880 --> 00:00:20,000 and for your students. 10 00:00:20,000 --> 00:00:23,290 But before we jump into the specific materials themselves, 11 00:00:23,290 --> 00:00:27,920 let's talk about three key principles that we like to adapt here at CS50. 12 00:00:27,920 --> 00:00:32,710 First of them being accessibility, so we really 13 00:00:32,710 --> 00:00:35,740 want to make sure that all of the materials, lectures, 14 00:00:35,740 --> 00:00:38,390 problem set that we use here at Harvard campus 15 00:00:38,390 --> 00:00:40,690 and Yale campus are also available to all of you 16 00:00:40,690 --> 00:00:44,300 online to teach in your own classrooms and schools. 17 00:00:44,300 --> 00:00:48,070 And in addition to that, we also make sure to include notes, subtitles, 18 00:00:48,070 --> 00:00:50,830 transcripts, anything else that will make 19 00:00:50,830 --> 00:00:53,860 the teaching experience and the learning experience for students 20 00:00:53,860 --> 00:00:55,510 the most accessible. 21 00:00:55,510 --> 00:01:00,440 The second kind of, like, pillar of our principles is community. 22 00:01:00,440 --> 00:01:04,129 So, again, be it the big events on Harvard 23 00:01:04,129 --> 00:01:08,240 campus, like the Hackathon and the Fair, and also the online communities 24 00:01:08,240 --> 00:01:10,970 that we have, for example, on Discord, community 25 00:01:10,970 --> 00:01:13,310 is an integral part of the CS50 experience, 26 00:01:13,310 --> 00:01:14,910 both for teachers and for students. 27 00:01:14,910 --> 00:01:17,420 And you, by being here, participating in this workshop, 28 00:01:17,420 --> 00:01:20,310 are definitely immensely contributing to that. 29 00:01:20,310 --> 00:01:24,210 And last one and not least, though, is rigor. 30 00:01:24,210 --> 00:01:27,860 So last year, we actually asked our workshop participants 31 00:01:27,860 --> 00:01:30,170 to define rigor, what it means for them. 32 00:01:30,170 --> 00:01:35,580 And some of them said it means being very precise or meticulous. 33 00:01:35,580 --> 00:01:38,630 But also one of the participants mentioned 34 00:01:38,630 --> 00:01:42,770 that it is setting high expectations for his students in the classroom 35 00:01:42,770 --> 00:01:45,680 and being their biggest supporter and cheerleader on the sidelines, 36 00:01:45,680 --> 00:01:50,930 supporting them and guiding them through this learning process. 37 00:01:50,930 --> 00:01:53,960 Now that we've talked about these few principles, 38 00:01:53,960 --> 00:01:56,870 let's actually talk about how to build your own curriculum. 39 00:01:56,870 --> 00:01:57,830 What exists out there? 40 00:01:57,830 --> 00:01:59,550 How do you put it all together? 41 00:01:59,550 --> 00:02:03,890 So we're going to look at this tool called cs50.tf. 42 00:02:03,890 --> 00:02:06,770 And so if you would like to follow along with me, 43 00:02:06,770 --> 00:02:11,160 feel free to put that link in your web browser. 44 00:02:11,160 --> 00:02:15,380 And as you open up that link, you should see the following screenshot 45 00:02:15,380 --> 00:02:17,880 where it would say CS50 Handbook. 46 00:02:17,880 --> 00:02:20,930 And this is not only the tool that we provide for educators online, 47 00:02:20,930 --> 00:02:25,190 this is also something that we use here on campus when we teach our CS50 48 00:02:25,190 --> 00:02:29,990 flagship course, or other courses like CS50 Python, SQL, and R, 49 00:02:29,990 --> 00:02:32,580 as you see on the nav bar on the left. 50 00:02:32,580 --> 00:02:37,460 But what we're going to focus on today is the highlighted portion, CS50 AP 51 00:02:37,460 --> 00:02:41,420 and CS50 X. The main difference between the two 52 00:02:41,420 --> 00:02:46,820 is that CS50 AP includes just a few more modules, and the CS50T course 53 00:02:46,820 --> 00:02:49,430 that Professor Malan mentioned earlier, just 54 00:02:49,430 --> 00:02:52,370 to make sure we comply with the AP standards 55 00:02:52,370 --> 00:02:55,130 and hitting all the necessary requirements. 56 00:02:55,130 --> 00:03:01,040 So if we go to, for example, CS50 AP link, this is what you would see. 57 00:03:01,040 --> 00:03:06,200 A table of contents that really should link all the necessary things that you 58 00:03:06,200 --> 00:03:09,110 would need to create your own curriculum and facilitate the learning 59 00:03:09,110 --> 00:03:11,130 experience in the classroom. 60 00:03:11,130 --> 00:03:15,860 And where we're going to look first is the curriculum component 61 00:03:15,860 --> 00:03:17,640 that I highlighted here on the slides. 62 00:03:17,640 --> 00:03:20,210 So, again, we will jump to the next link, 63 00:03:20,210 --> 00:03:24,230 which would be a different website that you can see above in the tab. 64 00:03:24,230 --> 00:03:28,550 And maybe my helpers behind the scenes can put the links in the chat 65 00:03:28,550 --> 00:03:30,660 so that people can easily click on them. 66 00:03:30,660 --> 00:03:33,500 But one of the biggest pages on this website 67 00:03:33,500 --> 00:03:39,870 is the curriculum page, where you can see the whole plan outline in one place. 68 00:03:39,870 --> 00:03:44,210 And as I mentioned before, it would include the CS50 X curriculum that we 69 00:03:44,210 --> 00:03:48,950 teach here on campus and also available on EdX, but also the CS50T component 70 00:03:48,950 --> 00:03:52,710 [? has ?] some specific AP modules below. 71 00:03:52,710 --> 00:03:55,100 But that's a lot of stuff, right? 72 00:03:55,100 --> 00:03:59,180 You might not have enough class time or enough resources. 73 00:03:59,180 --> 00:04:01,770 So how do you fit it all and make it work? 74 00:04:01,770 --> 00:04:06,470 It is really the principle take what you need, or adapt and adopt, 75 00:04:06,470 --> 00:04:08,130 as David mentioned earlier. 76 00:04:08,130 --> 00:04:11,270 And for example, if I have, say, six weeks, 77 00:04:11,270 --> 00:04:15,500 and I want to teach these five topics, how would I structure it? 78 00:04:15,500 --> 00:04:20,149 Classically in CS50, we allocate one week for each unit. 79 00:04:20,149 --> 00:04:21,690 But it is a college class, right. 80 00:04:21,690 --> 00:04:23,130 It can be really intensive. 81 00:04:23,130 --> 00:04:27,140 But what if you want to teach this material to middle school students 82 00:04:27,140 --> 00:04:30,690 or maybe to high schoolers that are not necessarily taking AP class? 83 00:04:30,690 --> 00:04:33,360 It is up to you how you want to structure it. 84 00:04:33,360 --> 00:04:37,280 For example, you can dedicate the first four days to Scratch, 85 00:04:37,280 --> 00:04:39,290 get some experience with that. 86 00:04:39,290 --> 00:04:41,870 Then spend a little bit more time on C, getting 87 00:04:41,870 --> 00:04:44,960 into the details of the new language, kind of glance 88 00:04:44,960 --> 00:04:48,410 through arrays and memory, making sure you complete those exercises. 89 00:04:48,410 --> 00:04:52,080 But maybe ultimately focusing the last two weeks on Python. 90 00:04:52,080 --> 00:04:55,220 And a very cool thing that I'm also going to mention in the end 91 00:04:55,220 --> 00:04:58,580 is that it is there are a lot of other courses 92 00:04:58,580 --> 00:05:01,820 that are not necessarily the CS50 flagship course that you 93 00:05:01,820 --> 00:05:03,600 could incorporate into your curriculum. 94 00:05:03,600 --> 00:05:07,010 For example, CS50 P class, you can peek into it 95 00:05:07,010 --> 00:05:11,090 and grab some lectures, shorts, materials, or other problem sets 96 00:05:11,090 --> 00:05:17,300 and wean them into your CS50 curriculum, so to say. 97 00:05:17,300 --> 00:05:19,580 And, again, as I mentioned before, it is really 98 00:05:19,580 --> 00:05:23,240 all based on adapting and adopting and taking what you need, 99 00:05:23,240 --> 00:05:27,650 and making sure that you're crafting the unique experience that you need 100 00:05:27,650 --> 00:05:29,850 for your students in the classroom. 101 00:05:29,850 --> 00:05:33,350 But as we all know, and as Guy touched on in the previous session, 102 00:05:33,350 --> 00:05:37,160 there are certain standards that you need to meet in your school, 103 00:05:37,160 --> 00:05:39,030 or even in your district or state. 104 00:05:39,030 --> 00:05:40,800 And there are so many different ones. 105 00:05:40,800 --> 00:05:45,740 And so we, as kind of the central part of this endeavor, 106 00:05:45,740 --> 00:05:47,780 cannot really facilitate the exact standards. 107 00:05:47,780 --> 00:05:51,360 But we can help you figure out what exactly we can provide for you. 108 00:05:51,360 --> 00:05:55,110 And, again, you can take what you need from our materials. 109 00:05:55,110 --> 00:06:00,410 So, for example, if you go on that same AP website into the Syllabus link, 110 00:06:00,410 --> 00:06:03,960 you can see a breakdown for each unit, the topics 111 00:06:03,960 --> 00:06:07,980 within each module, the sample problems, and also the big ideas 112 00:06:07,980 --> 00:06:15,300 covered in these topics as outlined in the College Board AP guidelines. 113 00:06:15,300 --> 00:06:20,340 And maybe not so as to standards for specific CS classes, 114 00:06:20,340 --> 00:06:23,280 but maybe for yourself, there's also a list 115 00:06:23,280 --> 00:06:27,780 of topics atop of each lecture that can help 116 00:06:27,780 --> 00:06:31,930 you see what lecture-specific weeks you actually want to use. 117 00:06:31,930 --> 00:06:36,720 For example, if I want to touch on return values or variables, 118 00:06:36,720 --> 00:06:41,730 I can go into a specific lecture and grab some material from there. 119 00:06:41,730 --> 00:06:46,270 So what are actually weeks comprised of? 120 00:06:46,270 --> 00:06:48,550 I can mention in weeks and units. 121 00:06:48,550 --> 00:06:52,210 But what is the exact breakdown of those things? 122 00:06:52,210 --> 00:06:57,450 So let's focus first on the video content and maybe the educational part 123 00:06:57,450 --> 00:06:59,650 that students can observe and learn from. 124 00:06:59,650 --> 00:07:03,550 So there are three parts lectures, shorts, and sections. 125 00:07:03,550 --> 00:07:05,710 And so let's jump into lectures first. 126 00:07:05,710 --> 00:07:08,640 So as you know, every fall here on campus, 127 00:07:08,640 --> 00:07:13,060 we film these big lectures in Sanders that Harvard kids come watch live. 128 00:07:13,060 --> 00:07:15,780 But we also record everything and post online for all of you 129 00:07:15,780 --> 00:07:18,610 to watch and for all of your students to access. 130 00:07:18,610 --> 00:07:21,340 But sometimes these lectures can be a little long, right? 131 00:07:21,340 --> 00:07:24,760 They can be 3, 3 and 1/2, 2 and 1/2 hours long. 132 00:07:24,760 --> 00:07:30,210 Not to say that you probably don't have time to watch that with your students 133 00:07:30,210 --> 00:07:32,130 during the classroom time. 134 00:07:32,130 --> 00:07:36,220 Probably it is hard for students to watch the whole thing in one sitting. 135 00:07:36,220 --> 00:07:42,130 So we've also created a tool that could help you kind of like crop them, 136 00:07:42,130 --> 00:07:48,010 subset them into specific sections that students can watch by themselves. 137 00:07:48,010 --> 00:07:53,260 For example, 20 or 30 minute segments of specific topics or parts of 138 00:07:53,260 --> 00:07:56,980 lecture that you want students to watch before a specific class. 139 00:07:56,980 --> 00:08:00,520 There are also shorts, which are, as the name suggests, 140 00:08:00,520 --> 00:08:03,850 shorter videos that dive into a specific subject. 141 00:08:03,850 --> 00:08:06,520 For example, in this case, variables and scope 142 00:08:06,520 --> 00:08:12,410 that provides sort of a different teaching perspective, very often 143 00:08:12,410 --> 00:08:14,950 recorded by Doug in our CS50 course, but also 144 00:08:14,950 --> 00:08:20,320 by Brian and Carter and others that really allow you to dive 145 00:08:20,320 --> 00:08:23,000 into a more specific topic. 146 00:08:23,000 --> 00:08:29,710 And the others are sections that are also pre-recorded in the Fall semester. 147 00:08:29,710 --> 00:08:33,820 It is a very similar format of how we do sections here on campus, 148 00:08:33,820 --> 00:08:38,860 and they're really meant to be timed to get hands on practice with the concepts 149 00:08:38,860 --> 00:08:42,370 that students just learned about in the lectures. 150 00:08:42,370 --> 00:08:45,620 It is also time to connect with the instructor or the teaching fellow 151 00:08:45,620 --> 00:08:49,710 to ask those questions that arise during lectures. 152 00:08:49,710 --> 00:08:53,810 You can have it as assigned material for the students 153 00:08:53,810 --> 00:08:56,750 to watch before they come to your classroom, 154 00:08:56,750 --> 00:08:59,930 or watch these sections yourself and use it 155 00:08:59,930 --> 00:09:05,290 as an inspiration for your own classroom time. 156 00:09:05,290 --> 00:09:09,370 Now that we've covered the content that students can watch on themselves 157 00:09:09,370 --> 00:09:11,530 and you can draw inspiration from, let's actually 158 00:09:11,530 --> 00:09:15,610 get into assignments, what kind of problem sets or practice problems 159 00:09:15,610 --> 00:09:19,250 students can complete on their own, or together in the classroom. 160 00:09:19,250 --> 00:09:24,250 And one thing that we, again, try to emphasize here on campus and overall 161 00:09:24,250 --> 00:09:26,260 in CS50 is that-- 162 00:09:26,260 --> 00:09:30,160 and, again, anchoring on the accessibility pillar, 163 00:09:30,160 --> 00:09:34,570 is that we want to make sure anyone with any kind of computer science 164 00:09:34,570 --> 00:09:38,990 background can participate in CS50 and get whatever they want out of it. 165 00:09:38,990 --> 00:09:43,250 So we try to distinguish people into comfy categories. 166 00:09:43,250 --> 00:09:47,140 So for example, those more comfortable, those somewhere in between, 167 00:09:47,140 --> 00:09:49,610 those less comfortable, and those least comfortable. 168 00:09:49,610 --> 00:09:55,670 And actually, in most of the weeks we provide different comfy levels of psets. 169 00:09:55,670 --> 00:10:00,670 So for example, if we're looking at Week 2, students who are less comfortable 170 00:10:00,670 --> 00:10:03,580 might complete Caesar, but students who are more comfortable 171 00:10:03,580 --> 00:10:05,970 might complete Substitution. 172 00:10:05,970 --> 00:10:10,100 This differentiation ensures that each student 173 00:10:10,100 --> 00:10:12,320 can be challenged according to their background, 174 00:10:12,320 --> 00:10:17,210 and they're not necessarily uniformly assessed across the board. 175 00:10:17,210 --> 00:10:20,600 Again, kind of going to the point of what if one of my students 176 00:10:20,600 --> 00:10:25,040 is certainly more comfortable and they already completed all the problems 177 00:10:25,040 --> 00:10:27,090 as they watched all the lectures. 178 00:10:27,090 --> 00:10:27,990 What do they do? 179 00:10:27,990 --> 00:10:33,140 So one of our friends, Margaret tans, who is a computer science teacher 180 00:10:33,140 --> 00:10:36,470 here in the states in New York, actually helped us come up 181 00:10:36,470 --> 00:10:38,430 with these practice problems. 182 00:10:38,430 --> 00:10:42,680 They're little, smaller exercises that students can complete, again, 183 00:10:42,680 --> 00:10:46,490 either in their own as extra homework or maybe during class time 184 00:10:46,490 --> 00:10:52,680 or, again, for those more comfy students to just get a little bit more challenge. 185 00:10:52,680 --> 00:10:56,790 And next thing that we're going to talk about is teaching resources. 186 00:10:56,790 --> 00:11:01,160 So we've covered lectures and problem sets and the kind of materials 187 00:11:01,160 --> 00:11:03,530 that exist out there, but what are the tools that 188 00:11:03,530 --> 00:11:08,040 can help you put this all together and create a successful curriculum? 189 00:11:08,040 --> 00:11:11,660 So on the same page that we saw before in the table of contents, 190 00:11:11,660 --> 00:11:15,170 we have the following section called Teaching Resources. 191 00:11:15,170 --> 00:11:18,060 And let's dive into one of them. 192 00:11:18,060 --> 00:11:20,210 So for example, on the very bottom, you can 193 00:11:20,210 --> 00:11:22,680 see a hyperlink for lesson materials. 194 00:11:22,680 --> 00:11:27,120 So these are materials that we use in sections that I mentioned before. 195 00:11:27,120 --> 00:11:30,110 It is the when our students get hands on practice 196 00:11:30,110 --> 00:11:32,370 and get to ask our teaching fellows questions. 197 00:11:32,370 --> 00:11:35,270 So each week, [? again, ?] unit will have 198 00:11:35,270 --> 00:11:40,280 its own page where we will outline sort of like topics 199 00:11:40,280 --> 00:11:42,590 that you might want to cover during that section, 200 00:11:42,590 --> 00:11:46,790 or discussion questions to spark interactions between the students. 201 00:11:46,790 --> 00:11:50,450 But also, some annotated slides that can be helpful for you 202 00:11:50,450 --> 00:11:52,290 as you build your lesson plan. 203 00:11:52,290 --> 00:11:56,240 Again, going with our theme of adapting and adapting, 204 00:11:56,240 --> 00:11:58,460 you can take these slides as an inspiration, 205 00:11:58,460 --> 00:12:03,890 or you can use them all together and incorporate them in your lesson plan. 206 00:12:03,890 --> 00:12:08,330 Another really helpful tool that one of our friends Douglas helped us create 207 00:12:08,330 --> 00:12:09,960 is daily checks. 208 00:12:09,960 --> 00:12:14,480 These are small, warm up questions and exercises that, 209 00:12:14,480 --> 00:12:17,840 again, get students thinking about these week's concepts 210 00:12:17,840 --> 00:12:21,200 and get them prepared to engage in the exercises 211 00:12:21,200 --> 00:12:23,220 and problems throughout the lessons. 212 00:12:23,220 --> 00:12:26,810 And lastly, feedback and grading, it is not just all 213 00:12:26,810 --> 00:12:30,112 about presenting the materials and having students complete the exercises. 214 00:12:30,112 --> 00:12:31,820 It's really important for us as educators 215 00:12:31,820 --> 00:12:34,620 to provide feedback and grade these assignments 216 00:12:34,620 --> 00:12:39,060 so that students can continue their learning journey successfully. 217 00:12:39,060 --> 00:12:42,200 And for that, we also have a couple of tools. 218 00:12:42,200 --> 00:12:45,560 First is the grading and feedback page that again you 219 00:12:45,560 --> 00:12:48,780 can navigate to from the CS50 Handbook. 220 00:12:48,780 --> 00:12:53,780 And before jumping into a specific outline for each week, 221 00:12:53,780 --> 00:12:59,460 we discuss overall what feedback is in CS50 and how we do it here on campus. 222 00:12:59,460 --> 00:13:03,590 And really all the problem sets are graded along three axes. 223 00:13:03,590 --> 00:13:06,840 First one is correctness, that is assessed by Check50. 224 00:13:06,840 --> 00:13:11,280 The second one is style, that we can run our style50 command on. 225 00:13:11,280 --> 00:13:16,710 And the last one is design, which is where all of us humans come in. 226 00:13:16,710 --> 00:13:22,050 It is really a way to assess is this program efficient, 227 00:13:22,050 --> 00:13:24,590 can it be optimized more, did the students really 228 00:13:24,590 --> 00:13:28,920 grasp all of the concepts and content that we taught them this week, 229 00:13:28,920 --> 00:13:32,570 and did they master this unit, so to say. 230 00:13:32,570 --> 00:13:38,353 And to grade design, we like to provide a 1 to 5 point scale, 5 being this 231 00:13:38,353 --> 00:13:39,020 was exceptional. 232 00:13:39,020 --> 00:13:40,100 Right? 233 00:13:40,100 --> 00:13:44,370 There is nothing else the student could have done, this is perfect. 234 00:13:44,370 --> 00:13:49,280 And in fact, we try to emphasize the point that most of the students 235 00:13:49,280 --> 00:13:53,030 will mostly get 3's or even 2's in the beginning of their learning journey. 236 00:13:53,030 --> 00:13:55,310 Because they're just starting to program. 237 00:13:55,310 --> 00:13:59,940 They don't know what an efficient program might be or how to optimize it. 238 00:13:59,940 --> 00:14:02,210 But as we progress through the class, we definitely 239 00:14:02,210 --> 00:14:07,870 see their design points increasing and, in fact, receiving a 3 on design 240 00:14:07,870 --> 00:14:11,540 for a specific problem set doesn't mean that a student scored a 60%. 241 00:14:11,540 --> 00:14:15,520 It just means that there is some way for improvement, and you as an educator 242 00:14:15,520 --> 00:14:17,260 can guide them towards that. 243 00:14:17,260 --> 00:14:19,210 Provide some suggestions of how they could 244 00:14:19,210 --> 00:14:22,400 have improved that specific program. 245 00:14:22,400 --> 00:14:24,850 And as I mentioned before, there's problems 246 00:14:24,850 --> 00:14:26,840 with specific grading guidelines. 247 00:14:26,840 --> 00:14:29,560 And if you click on one of those hyperlinks, 248 00:14:29,560 --> 00:14:33,010 you'll be taken to another page that will outline it problem set 249 00:14:33,010 --> 00:14:35,000 by problem set for that specific week. 250 00:14:35,000 --> 00:14:38,690 And if some of you are trying to access this right now, it might be locked. 251 00:14:38,690 --> 00:14:43,090 So to access that, there is another form that you 252 00:14:43,090 --> 00:14:48,160 can submit to get teacher access to the Vault50 resource 253 00:14:48,160 --> 00:14:51,130 and also to the grading guidelines. 254 00:14:51,130 --> 00:14:56,150 And to wrap this up, I just wanted to, again, mention our additional courses. 255 00:14:56,150 --> 00:14:58,840 CS50 doesn't stop in our flagship course. 256 00:14:58,840 --> 00:15:03,610 We also have courses on, as David said, Python and SQL 257 00:15:03,610 --> 00:15:07,920 and R, which we are just rolling out, which is super exciting. 258 00:15:07,920 --> 00:15:13,070 And, again, there's nothing stopping you from incorporating all of these 259 00:15:13,070 --> 00:15:14,370 into your curriculum. 260 00:15:14,370 --> 00:15:17,660 Maybe you want to start with a little bit of the 50x course. 261 00:15:17,660 --> 00:15:19,280 And then you're, like, wait, hold on. 262 00:15:19,280 --> 00:15:21,180 I'm going to do a whole semester in Python. 263 00:15:21,180 --> 00:15:24,055 So you'd go into the Python course and you grab some of the materials 264 00:15:24,055 --> 00:15:24,600 from there. 265 00:15:24,600 --> 00:15:29,220 The real magic of it all is that we have all of these materials available online. 266 00:15:29,220 --> 00:15:31,640 There's nothing stopping you at any point. 267 00:15:31,640 --> 00:15:35,060 And you can take exactly what you need to make 268 00:15:35,060 --> 00:15:38,500 your students' journey successful. 269 00:15:38,500 --> 00:15:39,000