1 00:00:00,000 --> 00:00:02,067 2 00:00:02,067 --> 00:00:03,400 DOUGLAS KIANG: All right, great! 3 00:00:03,400 --> 00:00:08,050 So I wanted to talk today about just some strategies that we've come up 4 00:00:08,050 --> 00:00:13,210 with for managing the CS50 classroom. 5 00:00:13,210 --> 00:00:19,940 You know, I've been teaching for, probably, about 30 years, I think. 6 00:00:19,940 --> 00:00:26,650 So I started first teaching CS50 when I was 7 00:00:26,650 --> 00:00:30,250 able to join a small group of educators in Seattle. 8 00:00:30,250 --> 00:00:35,710 We got together and were trained, and David's vision for CS50 and his-- 9 00:00:35,710 --> 00:00:39,820 just a way of sequencing the concepts really kind of 10 00:00:39,820 --> 00:00:42,820 had a huge impact on how I teach computer science. 11 00:00:42,820 --> 00:00:47,630 And so I'll always be really grateful to him and to his team for that. 12 00:00:47,630 --> 00:00:50,440 And a lot of what I'm going to present today-- 13 00:00:50,440 --> 00:00:52,930 the resources are in that folder. 14 00:00:52,930 --> 00:00:56,870 And a lot of it has just come from trial and error. 15 00:00:56,870 --> 00:00:59,225 We just try lots of different things. 16 00:00:59,225 --> 00:01:02,350 I'm very fortunate now to be at a school that offers four years of computer 17 00:01:02,350 --> 00:01:04,895 science, and CS50 is the intro course. 18 00:01:04,895 --> 00:01:07,270 So you have to-- it's a prerequisite for everything else. 19 00:01:07,270 --> 00:01:11,350 So if you want to take CS at Menlo, you have to come through CS50 first. 20 00:01:11,350 --> 00:01:14,380 And it's a rigorous course, but we provide 21 00:01:14,380 --> 00:01:19,150 lots of scaffolding and support, and we get everybody over the hump. 22 00:01:19,150 --> 00:01:21,670 And by the time they've had a year of CS50, 23 00:01:21,670 --> 00:01:25,180 they're ready to tackle all kinds of challenges in AI 24 00:01:25,180 --> 00:01:27,830 or app design or independent projects. 25 00:01:27,830 --> 00:01:33,310 And so we really love the foundation that CS50 gives us for this. 26 00:01:33,310 --> 00:01:36,558 So I think where we're going to start-- we're going to cover-- 27 00:01:36,558 --> 00:01:39,100 I'm hoping to cover these six things, and then have some time 28 00:01:39,100 --> 00:01:41,410 to take some questions at the end. 29 00:01:41,410 --> 00:01:43,857 But I'm going to talk about how we structure a lesson. 30 00:01:43,857 --> 00:01:45,940 I'm going to talk about this concept of belonging. 31 00:01:45,940 --> 00:01:49,390 If we want to create an inclusive environment for learners of computer 32 00:01:49,390 --> 00:01:51,520 science, what does belonging look like? 33 00:01:51,520 --> 00:01:53,980 I want to go over a quick game that we use 34 00:01:53,980 --> 00:01:56,820 to help prepare kids for the AP exam. 35 00:01:56,820 --> 00:02:00,970 I'm going to talk about a system for late work that has really changed-- 36 00:02:00,970 --> 00:02:02,890 solved a lot of our problems, and actually 37 00:02:02,890 --> 00:02:05,170 given a kind of a flexible framework for kids 38 00:02:05,170 --> 00:02:09,160 to actually get work in that doesn't become a pain for me and my grade book. 39 00:02:09,160 --> 00:02:14,410 I want to share some tools that we use for scoring the CS50 problem sets. 40 00:02:14,410 --> 00:02:17,410 And finally, I want to talk a little bit about this big experiment we've 41 00:02:17,410 --> 00:02:22,810 been doing this year, which has been essentially to really try 42 00:02:22,810 --> 00:02:26,410 to focus our feedback, on competencies, and get 43 00:02:26,410 --> 00:02:30,130 kids to master what we think all those qualities are that make you 44 00:02:30,130 --> 00:02:31,960 a good computer scientist without focusing 45 00:02:31,960 --> 00:02:36,950 overly much on a single grade describing how you've done. 46 00:02:36,950 --> 00:02:40,450 So with that said, I want to talk a little bit about lesson structure. 47 00:02:40,450 --> 00:02:45,730 So we typically-- I think of a lesson as spanning one or more days. 48 00:02:45,730 --> 00:02:47,950 And we usually start with an Unplugged Activity, 49 00:02:47,950 --> 00:02:50,200 then we go to what we call a birdhouse activity, which 50 00:02:50,200 --> 00:02:53,290 are guided activities, where everybody kind of has 51 00:02:53,290 --> 00:02:55,630 to come up with the same solution or similar solution. 52 00:02:55,630 --> 00:02:59,320 And then, where we can, we really try to push 53 00:02:59,320 --> 00:03:03,070 kids to do an independent project or an application of each concept. 54 00:03:03,070 --> 00:03:05,800 And I want to start by providing sort of a quick example, 55 00:03:05,800 --> 00:03:09,470 within the context of CS50, of what that might look like. 56 00:03:09,470 --> 00:03:13,920 So for the Unplugged Activity, kids come in to class. 57 00:03:13,920 --> 00:03:16,420 They have a paper-and-pencil activity we usually start with, 58 00:03:16,420 --> 00:03:20,890 so we give kids a bunch of scraps of paper on which we've got 1 through 9. 59 00:03:20,890 --> 00:03:24,820 And we ask them to keep track of the first number in that list. 60 00:03:24,820 --> 00:03:26,590 Let's call it j. 61 00:03:26,590 --> 00:03:31,900 That location-- we want you to swap that location with the last one. 62 00:03:31,900 --> 00:03:36,363 And then, we look at the next number, and we swap that with its counterpart. 63 00:03:36,363 --> 00:03:39,280 And we look at the next number, and we swap that with the counterpart. 64 00:03:39,280 --> 00:03:45,710 And we ask them, notice what's happening to this array, essentially, of numbers. 65 00:03:45,710 --> 00:03:50,580 And they'll notice that at some point, those numbers are entirely reversed. 66 00:03:50,580 --> 00:03:54,180 And then, if they continue swapping-- they move j, and then swap it 67 00:03:54,180 --> 00:03:57,730 with its counterpart-- look at what happens. 68 00:03:57,730 --> 00:04:02,350 By the time j gets to the end of the array, that list is in the same order 69 00:04:02,350 --> 00:04:04,080 again. 70 00:04:04,080 --> 00:04:09,480 And so we actually have them do this with index cards or pieces of paper. 71 00:04:09,480 --> 00:04:14,100 And then, we introduce the problem set, and the problem set is called Filter. 72 00:04:14,100 --> 00:04:18,029 It's one of the CS50 AP problem sets that involves working on an image. 73 00:04:18,029 --> 00:04:20,730 And essentially, that is the algorithm that they're 74 00:04:20,730 --> 00:04:25,480 using to reflect or reverse that image. 75 00:04:25,480 --> 00:04:27,310 But this is often-- 76 00:04:27,310 --> 00:04:30,522 if kids come up with a solution, this is often a solution 77 00:04:30,522 --> 00:04:31,480 that they come up with. 78 00:04:31,480 --> 00:04:33,147 And they say, hey, filter's not working. 79 00:04:33,147 --> 00:04:35,110 It's not changing anything. 80 00:04:35,110 --> 00:04:36,950 The image looks the same. 81 00:04:36,950 --> 00:04:39,980 And that's because there's a pretty common error in this code. 82 00:04:39,980 --> 00:04:43,270 This is something that lots of kids used to do, 83 00:04:43,270 --> 00:04:47,290 because they just sort of-- when they went through each row in the j loop, 84 00:04:47,290 --> 00:04:52,060 they started at the beginning, and they just went all the way to the end. 85 00:04:52,060 --> 00:04:56,298 And when we do the Unplugged Activity, when we started before, we hit Filter, 86 00:04:56,298 --> 00:04:58,090 if we start with the Unplugged Activity, we 87 00:04:58,090 --> 00:05:02,680 get kids to realize that actually, you only need to go halfway. 88 00:05:02,680 --> 00:05:05,990 Because if you go more than halfway, it ends up the same. 89 00:05:05,990 --> 00:05:07,660 So actually, Filter was working. 90 00:05:07,660 --> 00:05:09,220 It was reflecting it. 91 00:05:09,220 --> 00:05:10,090 It got halfway. 92 00:05:10,090 --> 00:05:13,760 It reflected it entirely, and then it continued and reflected it back again. 93 00:05:13,760 --> 00:05:15,640 And so it's not that nothing was happening. 94 00:05:15,640 --> 00:05:17,807 Something was happening, but it was happening twice, 95 00:05:17,807 --> 00:05:20,060 and you only really want it to happen once. 96 00:05:20,060 --> 00:05:24,380 And so this is an example of an Unplugged Activity. 97 00:05:24,380 --> 00:05:27,970 And so we start every class with a pencil-and-paper activity. 98 00:05:27,970 --> 00:05:31,030 Because we actually find that for emphasizing thinking, 99 00:05:31,030 --> 00:05:34,000 it's actually a distraction to have them working on the laptops 100 00:05:34,000 --> 00:05:36,337 and working in-- even working in the Sandbox 101 00:05:36,337 --> 00:05:38,170 or working with check 50 or everything else. 102 00:05:38,170 --> 00:05:40,810 We want it to really focus on the thinking. 103 00:05:40,810 --> 00:05:45,778 And so we actually will make this paper thing, and we'll say, 104 00:05:45,778 --> 00:05:47,320 work with a partner in this activity. 105 00:05:47,320 --> 00:05:48,310 You've got your cards. 106 00:05:48,310 --> 00:05:51,280 Go through and write down what is the number order, 107 00:05:51,280 --> 00:05:55,638 and what's the index of each number, as you go. 108 00:05:55,638 --> 00:05:57,930 And we have them see, what does that pattern look like, 109 00:05:57,930 --> 00:06:00,880 and we make sure that they can articulate what that is. 110 00:06:00,880 --> 00:06:04,110 And that's what we call a Daily Check. 111 00:06:04,110 --> 00:06:06,570 And when they do that Daily Check, we want 112 00:06:06,570 --> 00:06:11,730 to make sure that they're actually going through and thinking and articulating 113 00:06:11,730 --> 00:06:13,060 their thinking as they go. 114 00:06:13,060 --> 00:06:14,730 Now, we don't collect these. 115 00:06:14,730 --> 00:06:15,872 We don't collect them. 116 00:06:15,872 --> 00:06:17,580 We just ask the kids to do them in class. 117 00:06:17,580 --> 00:06:19,955 They're actually-- they only spend about 10 minutes on it 118 00:06:19,955 --> 00:06:23,280 at the beginning of class when I'm taking attendance. 119 00:06:23,280 --> 00:06:28,530 I've put, in the resources folder, Daily Checks for pretty much every problem 120 00:06:28,530 --> 00:06:30,480 set that we do. 121 00:06:30,480 --> 00:06:32,230 And there are multiple-- for many of them, 122 00:06:32,230 --> 00:06:34,540 there are multiple daily checks that we use. 123 00:06:34,540 --> 00:06:37,080 So if you look at filter, these are all the checks. 124 00:06:37,080 --> 00:06:39,540 They are intended to be printed out. 125 00:06:39,540 --> 00:06:40,920 They're worksheets, essentially. 126 00:06:40,920 --> 00:06:45,270 But they hit on everything, and they help to review and assess 127 00:06:45,270 --> 00:06:47,280 kids' knowledge for all of these. 128 00:06:47,280 --> 00:06:51,250 And we find that asking kids to articulate their thinking 129 00:06:51,250 --> 00:06:53,250 and solve these little problems at the beginning 130 00:06:53,250 --> 00:06:55,913 of every class in a very low stakes way-- 131 00:06:55,913 --> 00:06:57,330 because we're not collecting them. 132 00:06:57,330 --> 00:07:05,810 It's not-- we find that it really helps kids sort of fill in those gaps. 133 00:07:05,810 --> 00:07:08,600 And we also will give quizzes. 134 00:07:08,600 --> 00:07:10,340 And we'll draw questions for the quiz. 135 00:07:10,340 --> 00:07:12,320 Some of them will come from the Daily Checks. 136 00:07:12,320 --> 00:07:15,560 So if the kids are blowing off the Daily Checks-- 137 00:07:15,560 --> 00:07:19,370 or the other way to look at it, I guess, is if they're doing them faithfully 138 00:07:19,370 --> 00:07:23,000 and they're checking the solutions, they will do better on the quiz, 139 00:07:23,000 --> 00:07:25,640 because the quiz will contain stuff that they've already done. 140 00:07:25,640 --> 00:07:30,170 So that's in that Resources folder. 141 00:07:30,170 --> 00:07:33,320 I also have a guide that pretty much goes through all the concepts 142 00:07:33,320 --> 00:07:37,253 that are covered for each Daily Check, and what the relevant problem set is. 143 00:07:37,253 --> 00:07:38,420 And so we have them in here. 144 00:07:38,420 --> 00:07:40,920 And I love the fact that we have this community. 145 00:07:40,920 --> 00:07:43,670 I've learned so much from the different people in this community-- 146 00:07:43,670 --> 00:07:46,040 from Bill, from Margaret, lots of people. 147 00:07:46,040 --> 00:07:51,225 And you know, I've learned just as much or more, just from the contributions 148 00:07:51,225 --> 00:07:52,350 that other people have had. 149 00:07:52,350 --> 00:07:55,625 So if you-- it would be great to get people contributing 150 00:07:55,625 --> 00:07:56,750 more of these Daily Checks. 151 00:07:56,750 --> 00:08:00,080 If you find these useful and you want to add to them, please go right ahead, 152 00:08:00,080 --> 00:08:03,140 and let's add more of them and get this to be a really useful community 153 00:08:03,140 --> 00:08:03,840 resource. 154 00:08:03,840 --> 00:08:06,380 So I'm very excited to kind of introduce this-- hopefully, 155 00:08:06,380 --> 00:08:09,380 this, along with the practice problems, will be useful for people. 156 00:08:09,380 --> 00:08:12,800 157 00:08:12,800 --> 00:08:14,535 So those are the Unplugged Activities. 158 00:08:14,535 --> 00:08:16,660 Then, we go to what we call the Birdhouse Activity. 159 00:08:16,660 --> 00:08:20,140 And a Birdhouse Activity is kind of like a woodshop. 160 00:08:20,140 --> 00:08:23,200 You know how everybody makes a birdhouse as, like, their first activity? 161 00:08:23,200 --> 00:08:26,230 And birdhouses are great, because you can quickly assess them. 162 00:08:26,230 --> 00:08:27,400 You can look at the birdhouse, you know, what 163 00:08:27,400 --> 00:08:30,640 it's supposed to look like at the end, and you say, OK, this one-- the roof's 164 00:08:30,640 --> 00:08:31,240 a little crooked. 165 00:08:31,240 --> 00:08:32,919 It means you need to work on your measuring, 166 00:08:32,919 --> 00:08:34,419 or you need to work on your cutting. 167 00:08:34,419 --> 00:08:35,860 But everybody works together. 168 00:08:35,860 --> 00:08:37,630 They do the same project. 169 00:08:37,630 --> 00:08:39,549 That's a birdhouse project. 170 00:08:39,549 --> 00:08:44,590 And then, I think of birdhouse projects here as Sandbox Activities. 171 00:08:44,590 --> 00:08:48,580 Because after we do the Unplugged Activity, then we throw-- 172 00:08:48,580 --> 00:08:50,860 I might start the next 10 minutes of class. 173 00:08:50,860 --> 00:08:52,150 I'll start with the Sandbox. 174 00:08:52,150 --> 00:08:54,355 I'll say, OK, everybody go to this URL. 175 00:08:54,355 --> 00:08:55,730 I'm going to teach you something. 176 00:08:55,730 --> 00:08:56,980 This is how we do a swap. 177 00:08:56,980 --> 00:08:59,920 And I literally will walk them through on the board how to do this, 178 00:08:59,920 --> 00:09:01,150 and they kind of type it in. 179 00:09:01,150 --> 00:09:06,170 When they hit that URL that I give them, they open up their own copy of it. 180 00:09:06,170 --> 00:09:08,740 So the work that each student does in the Sandbox 181 00:09:08,740 --> 00:09:13,430 is different from everybody else's, but everybody starts from the same source. 182 00:09:13,430 --> 00:09:16,580 And then, the next thing we'll do is, we'll say, OK, now 183 00:09:16,580 --> 00:09:17,570 start writing the code. 184 00:09:17,570 --> 00:09:19,730 Practice reversing the number of orders-- 185 00:09:19,730 --> 00:09:20,870 the order of numbers. 186 00:09:20,870 --> 00:09:23,120 I'm going to give you a series of numbers in an array. 187 00:09:23,120 --> 00:09:24,265 I want you to reverse it. 188 00:09:24,265 --> 00:09:27,140 I don't want you to worry about how to print it out or anything else. 189 00:09:27,140 --> 00:09:28,650 I've already coded all that for you. 190 00:09:28,650 --> 00:09:32,120 But just within the context of this little Birdhouse Activity, 191 00:09:32,120 --> 00:09:35,000 I want you to talk with other people at your table 192 00:09:35,000 --> 00:09:40,280 and figure out how you go about incrementing the loop variable 193 00:09:40,280 --> 00:09:42,070 and swapping at each location. 194 00:09:42,070 --> 00:09:43,820 And then, once they've done that, OK, now, 195 00:09:43,820 --> 00:09:45,530 do it with a two-dimensional array. 196 00:09:45,530 --> 00:09:47,460 And we have them do that. 197 00:09:47,460 --> 00:09:50,240 And by the end of the first class, they've 198 00:09:50,240 --> 00:09:53,480 actually got working code in their Sandbox. 199 00:09:53,480 --> 00:09:56,450 And they can go to their recent Sandboxes, and they can pull it up 200 00:09:56,450 --> 00:09:58,820 and they can see it, so that when they actually 201 00:09:58,820 --> 00:10:02,270 start working on the filter problem set, they have working code. 202 00:10:02,270 --> 00:10:05,703 Whether they realize it or not, this is the basis 203 00:10:05,703 --> 00:10:08,120 of the code they're going to need to use to do reflection. 204 00:10:08,120 --> 00:10:10,700 And so we find for reflection and blur, and some of the, 205 00:10:10,700 --> 00:10:14,000 I think, the more difficult problem sets for a lot of students, 206 00:10:14,000 --> 00:10:16,902 by scaffolding it in this way with the Birdhouse Activity, 207 00:10:16,902 --> 00:10:19,610 with an Unplugged Activity, kind of helps them when they actually 208 00:10:19,610 --> 00:10:23,470 go to do the actual problem sets. 209 00:10:23,470 --> 00:10:27,385 And when you click Share, it'll bring up a bit.ly link, and then you can-- 210 00:10:27,385 --> 00:10:29,260 excuse me-- you can share that with students. 211 00:10:29,260 --> 00:10:32,250 So I find the Sandbox to be really, really helpful 212 00:10:32,250 --> 00:10:35,430 when I teach kids concepts. 213 00:10:35,430 --> 00:10:35,930 OK. 214 00:10:35,930 --> 00:10:38,270 Now, the problem with birdhouses is that most schools 215 00:10:38,270 --> 00:10:39,680 stop after the birdhouse, right? 216 00:10:39,680 --> 00:10:43,510 They say, OK, we've taught the skills, we've assessed the skills, let's move 217 00:10:43,510 --> 00:10:44,010 on. 218 00:10:44,010 --> 00:10:46,040 But everybody pretty much has-- it's very hard 219 00:10:46,040 --> 00:10:48,680 to differentiate with those birdhouses. 220 00:10:48,680 --> 00:10:54,830 And so where we can, we try to offer the chance for students 221 00:10:54,830 --> 00:10:56,480 to do an independent project. 222 00:10:56,480 --> 00:10:59,240 Now, Birdhouse Activities are really high on new skills, 223 00:10:59,240 --> 00:11:01,430 because you're teaching the new skills, and you're assessing them. 224 00:11:01,430 --> 00:11:03,320 But they're very low on creativity, because everybody's 225 00:11:03,320 --> 00:11:04,850 coming up with the same thing. 226 00:11:04,850 --> 00:11:09,110 An independent project, on the other hand, is fairly low on new skills, 227 00:11:09,110 --> 00:11:12,110 because I'm not asking you to demonstrate anything new, 228 00:11:12,110 --> 00:11:16,100 but what I'm asking you to do is apply what you've learned 229 00:11:16,100 --> 00:11:20,370 in some way that is more creative. 230 00:11:20,370 --> 00:11:24,740 And so that's where I think these Birdhouse 231 00:11:24,740 --> 00:11:27,960 Activities and independent projects go hand in hand. 232 00:11:27,960 --> 00:11:29,490 And so here's an example. 233 00:11:29,490 --> 00:11:32,000 If we've gone through Filter, the students have done Filter. 234 00:11:32,000 --> 00:11:35,540 The problem sets, really, are Birdhouse Activities, really. 235 00:11:35,540 --> 00:11:37,790 What do we do with that skill? 236 00:11:37,790 --> 00:11:41,930 What do we do now that we know how to do a blur, we know how to do a reflection? 237 00:11:41,930 --> 00:11:43,500 What would that look like? 238 00:11:43,500 --> 00:11:45,470 And so we give them a challenge. 239 00:11:45,470 --> 00:11:47,470 Your challenge is to make art. 240 00:11:47,470 --> 00:11:51,910 Your challenge is to modify an original photo, 241 00:11:51,910 --> 00:11:56,070 and that's the problem that we give people. 242 00:11:56,070 --> 00:11:59,260 And so the example is, take a photo. 243 00:11:59,260 --> 00:12:03,310 And you're going to apply some filter that you've created to that photo. 244 00:12:03,310 --> 00:12:06,040 And you can make it a combination of reflection 245 00:12:06,040 --> 00:12:10,120 or blur, or look up how other kinds of filters are created. 246 00:12:10,120 --> 00:12:14,210 And this became one of the favorite problem sets of our students this year. 247 00:12:14,210 --> 00:12:17,160 It wasn't one of the ones that are the normal curriculum. 248 00:12:17,160 --> 00:12:18,910 It was this thing that we asked them to do 249 00:12:18,910 --> 00:12:23,230 that didn't teach a lot of new concepts, but in fact, it just had them apply it. 250 00:12:23,230 --> 00:12:25,750 And we had each student write, in their own words, 251 00:12:25,750 --> 00:12:29,780 an artist statement that talked about, what kind of Filter did you use? 252 00:12:29,780 --> 00:12:31,750 How did you change it? 253 00:12:31,750 --> 00:12:32,795 And we posted it. 254 00:12:32,795 --> 00:12:34,420 We actually printed up a bunch of them. 255 00:12:34,420 --> 00:12:37,750 We printed it like an art gallery, with their artist statement 256 00:12:37,750 --> 00:12:40,270 along with the artwork. 257 00:12:40,270 --> 00:12:41,390 It was amazing. 258 00:12:41,390 --> 00:12:43,660 So the differences that students came up with-- they 259 00:12:43,660 --> 00:12:47,830 came up with all different kinds of examples. 260 00:12:47,830 --> 00:12:53,790 And ultimately, we had the students post them to a Padlet. 261 00:12:53,790 --> 00:12:57,890 And Padlet's a great bulletin board where kids can post all of these. 262 00:12:57,890 --> 00:13:00,420 Some kids did Minecraft-inspired artwork. 263 00:13:00,420 --> 00:13:02,700 And what I love about it is, they're all different. 264 00:13:02,700 --> 00:13:05,610 And even students who really struggled with Filter 265 00:13:05,610 --> 00:13:09,420 felt successful by the end of our artwork problem set, 266 00:13:09,420 --> 00:13:12,420 because they really had a chance to undertake 267 00:13:12,420 --> 00:13:17,990 that challenge in the context of something that they cared deeply about. 268 00:13:17,990 --> 00:13:20,600 So-- and it's something that was personal to them. 269 00:13:20,600 --> 00:13:24,670 So I guess my challenge to you would be to go beyond the birdhouse, you know. 270 00:13:24,670 --> 00:13:27,460 Let's introduce these things with the Unplugged Activities 271 00:13:27,460 --> 00:13:29,510 and the Birdhouse Activities and the problem set. 272 00:13:29,510 --> 00:13:35,590 But where you can, during the year, find ways to take a bit of a breath, 273 00:13:35,590 --> 00:13:39,970 and have them apply those same concepts in the scope of something 274 00:13:39,970 --> 00:13:42,700 that asks them to demonstrate it in a creative way. 275 00:13:42,700 --> 00:13:46,600 276 00:13:46,600 --> 00:13:48,450 So here's the next thing. 277 00:13:48,450 --> 00:13:52,050 I wanted to talk a little bit about this idea of belonging. 278 00:13:52,050 --> 00:13:57,850 And the idea about belonging is that if we want to be more inclusive, 279 00:13:57,850 --> 00:14:03,510 we have to move beyond the stereotype of a computer science person. 280 00:14:03,510 --> 00:14:10,140 As long as students can say, oh, the type of person who takes CS50 is, then 281 00:14:10,140 --> 00:14:13,510 I think we're sending the wrong message. 282 00:14:13,510 --> 00:14:14,880 It should be for everybody. 283 00:14:14,880 --> 00:14:16,268 Everybody can do it. 284 00:14:16,268 --> 00:14:17,310 Everybody should take it. 285 00:14:17,310 --> 00:14:21,630 It should not be an identifiable thing that you're this kind of person 286 00:14:21,630 --> 00:14:23,230 if you take this course. 287 00:14:23,230 --> 00:14:28,770 And so probably, the biggest message that we give to all of our students 288 00:14:28,770 --> 00:14:31,350 is this idea of, you belong here. 289 00:14:31,350 --> 00:14:35,460 That's the message that we weave throughout the entire year. 290 00:14:35,460 --> 00:14:38,940 We actually print up laptop stickers that-- 291 00:14:38,940 --> 00:14:42,870 we actually call our course CS1, but it's CS50. 292 00:14:42,870 --> 00:14:45,597 We actually got fortune cookies made up. 293 00:14:45,597 --> 00:14:48,180 It turns out the fortune cookie was invented in San Francisco. 294 00:14:48,180 --> 00:14:49,300 I didn't realize that. 295 00:14:49,300 --> 00:14:52,830 So it's a short drive for me, and fairly inexpensive. 296 00:14:52,830 --> 00:14:55,290 But we actually got these fortune cookies that 297 00:14:55,290 --> 00:14:57,090 were made up with different fortunes. 298 00:14:57,090 --> 00:14:59,370 And one of them is this idea of, you belong here. 299 00:14:59,370 --> 00:15:02,820 Because that goes along with what we really try to emphasize with our kids 300 00:15:02,820 --> 00:15:04,530 throughout the year. 301 00:15:04,530 --> 00:15:07,170 This was a tough year for kids coming back. 302 00:15:07,170 --> 00:15:10,650 Social, emotional development is one of the top priorities of our school-- 303 00:15:10,650 --> 00:15:12,550 is really taking care of kids. 304 00:15:12,550 --> 00:15:18,090 And when you put them in a course like CS50, which is a tough course, 305 00:15:18,090 --> 00:15:20,910 I tell them, even for me, when I started taking it, 306 00:15:20,910 --> 00:15:24,660 when I did Mario, there's a little voice in my head a lot 307 00:15:24,660 --> 00:15:28,980 of the time, when I really get stuck, that tells me, you're not smart enough. 308 00:15:28,980 --> 00:15:30,720 I have no idea what to do. 309 00:15:30,720 --> 00:15:31,770 You don't belong here. 310 00:15:31,770 --> 00:15:33,330 I shouldn't have taken this course. 311 00:15:33,330 --> 00:15:38,070 And to counteract that voice, we get the kids-- we lead them, actually, 312 00:15:38,070 --> 00:15:39,630 in saying this to themselves. 313 00:15:39,630 --> 00:15:44,220 When you get stuck, say this to yourself, I am smart, I am resourceful, 314 00:15:44,220 --> 00:15:45,860 I belong here. 315 00:15:45,860 --> 00:15:49,800 I am smart, I'm resourceful, I belong here. 316 00:15:49,800 --> 00:15:52,470 And we actually will walk kids through. 317 00:15:52,470 --> 00:15:55,050 We'll have them practice it as long as-- 318 00:15:55,050 --> 00:15:58,740 until they don't feel silly saying it, or at least feel less silly saying it. 319 00:15:58,740 --> 00:16:01,470 Because that is the message in our course. 320 00:16:01,470 --> 00:16:02,192 You are smart. 321 00:16:02,192 --> 00:16:03,900 You are resourceful, and you belong here. 322 00:16:03,900 --> 00:16:06,030 Every one of you belongs here. 323 00:16:06,030 --> 00:16:07,290 And it's a tough course. 324 00:16:07,290 --> 00:16:09,280 You're going to get stuck at different points. 325 00:16:09,280 --> 00:16:11,730 But there are people here who can help you. 326 00:16:11,730 --> 00:16:12,700 You do belong here. 327 00:16:12,700 --> 00:16:13,920 You're in the right place. 328 00:16:13,920 --> 00:16:18,490 That's the message we're really trying to send to them throughout. 329 00:16:18,490 --> 00:16:22,760 Now, people have studied the idea of belonging. 330 00:16:22,760 --> 00:16:25,240 It really has two components to it. 331 00:16:25,240 --> 00:16:29,430 It is really this idea that students have-- 332 00:16:29,430 --> 00:16:31,290 it's a perception of their own ability. 333 00:16:31,290 --> 00:16:34,350 One part of it is, do I fit in with the others, and one of them 334 00:16:34,350 --> 00:16:38,940 is, do I have what it takes to do the work. 335 00:16:38,940 --> 00:16:42,300 As much as we embrace-- 336 00:16:42,300 --> 00:16:46,110 popular culture embraces this idea of the geek, the nerd, the outsider, 337 00:16:46,110 --> 00:16:49,080 these stereotypes about who does computer science. 338 00:16:49,080 --> 00:16:52,635 That sends the opposite message to people about, do I fit in. 339 00:16:52,635 --> 00:16:56,670 In terms of, do I have what it takes, people are concerned about the rigor. 340 00:16:56,670 --> 00:16:59,100 We actually changed our course to give students-- 341 00:16:59,100 --> 00:17:03,840 we actually defaulted our course to be pass/no pass, or pass/fail. 342 00:17:03,840 --> 00:17:06,569 We call it pass/no pass, or credit/no credit. 343 00:17:06,569 --> 00:17:09,359 Students can petition to take it for a grade if they want, 344 00:17:09,359 --> 00:17:12,510 but we find that by removing the grade and substituting 345 00:17:12,510 --> 00:17:18,210 other ways of providing feedback, we really help remove a lot of that stress 346 00:17:18,210 --> 00:17:20,650 that students have about, do I have what it takes. 347 00:17:20,650 --> 00:17:24,569 And so this idea of belonging-- these are some strategies 348 00:17:24,569 --> 00:17:28,150 that we use for fostering a strong sense of belonging in our course. 349 00:17:28,150 --> 00:17:30,300 We want to provide positive role models. 350 00:17:30,300 --> 00:17:33,660 We want to share student success as much as possible-- so the art gallery 351 00:17:33,660 --> 00:17:36,360 idea with the artwork. 352 00:17:36,360 --> 00:17:39,750 Creating more adult advocates, promoting the context over the tools-- 353 00:17:39,750 --> 00:17:40,920 why are we doing this? 354 00:17:40,920 --> 00:17:42,210 And when David talked about-- 355 00:17:42,210 --> 00:17:44,550 in his first presentation this morning, he 356 00:17:44,550 --> 00:17:49,290 talked about taking these concepts that are fairly common in computer 357 00:17:49,290 --> 00:17:51,960 science, are fairly central, but providing them 358 00:17:51,960 --> 00:17:54,960 in a context like decoding a license plate 359 00:17:54,960 --> 00:18:01,620 or figuring out something that people see in real life all the time. 360 00:18:01,620 --> 00:18:02,580 That's the context. 361 00:18:02,580 --> 00:18:03,720 That's really important. 362 00:18:03,720 --> 00:18:06,210 Building community is super important, just as important 363 00:18:06,210 --> 00:18:08,670 as it is here-- building a community of teachers teaching this stuff. 364 00:18:08,670 --> 00:18:10,800 You want to build community in your classroom of students 365 00:18:10,800 --> 00:18:13,230 who are trying to learn this stuff, and foster this growth 366 00:18:13,230 --> 00:18:17,520 mindset-- this idea that this is hard, yes, but if I work hard at it, 367 00:18:17,520 --> 00:18:20,520 and if I take advantage of the resources that I have, I can learn this, 368 00:18:20,520 --> 00:18:23,360 I can do this, I can get better at it. 369 00:18:23,360 --> 00:18:24,460 So one of them-- 370 00:18:24,460 --> 00:18:28,420 this idea of promoting positive role models and sharing student successes-- 371 00:18:28,420 --> 00:18:31,190 students need to see other students who look like them. 372 00:18:31,190 --> 00:18:33,940 And so we're very fortunate at our school. 373 00:18:33,940 --> 00:18:37,013 We have a number of students who come back after having taken CS50, 374 00:18:37,013 --> 00:18:38,680 and they want to be teaching assistants. 375 00:18:38,680 --> 00:18:42,160 And so we have a whole program where students actually come back, 376 00:18:42,160 --> 00:18:44,110 and they work with other students. 377 00:18:44,110 --> 00:18:46,690 Primarily, they do office hours over Zoom, 378 00:18:46,690 --> 00:18:49,030 and they also help with scoring submissions. 379 00:18:49,030 --> 00:18:50,530 So we have, probably-- 380 00:18:50,530 --> 00:18:57,070 I think we have 91 students in our CS50 across five different sections. 381 00:18:57,070 --> 00:19:01,270 And so each one of our TAs works with one section 382 00:19:01,270 --> 00:19:04,330 and takes primary ownership of working with those students, 383 00:19:04,330 --> 00:19:07,090 and then helping to score and give feedback as well. 384 00:19:07,090 --> 00:19:11,080 385 00:19:11,080 --> 00:19:13,220 The idea of, do I have what it takes? 386 00:19:13,220 --> 00:19:16,660 So this idea of, can I do the work? 387 00:19:16,660 --> 00:19:19,090 We really have to look hard at, what are the things 388 00:19:19,090 --> 00:19:21,750 that we were doing at Menlo that potentially 389 00:19:21,750 --> 00:19:23,000 were giving the wrong message. 390 00:19:23,000 --> 00:19:26,090 So for example, here's a sample of course description. 391 00:19:26,090 --> 00:19:27,940 So this is a JavaScript course. 392 00:19:27,940 --> 00:19:30,040 This is supposed to be for students who don't 393 00:19:30,040 --> 00:19:31,870 have any prior experience with JavaScript, 394 00:19:31,870 --> 00:19:37,780 but if you read the course description, does this coarse description 395 00:19:37,780 --> 00:19:39,610 speak to its intended audience? 396 00:19:39,610 --> 00:19:43,385 397 00:19:43,385 --> 00:19:46,010 When we looked at something like this, we thought to ourselves, 398 00:19:46,010 --> 00:19:49,052 this is kind of like if you're going to take an Intro to Japanese course, 399 00:19:49,052 --> 00:19:52,620 and the course description was all in Japanese. 400 00:19:52,620 --> 00:19:53,120 Right? 401 00:19:53,120 --> 00:19:57,150 Like, this doesn't send the message like, this is safe. 402 00:19:57,150 --> 00:19:58,370 This is a safe place for you. 403 00:19:58,370 --> 00:20:01,280 You don't already have some experience with JavaScript. 404 00:20:01,280 --> 00:20:03,560 And so what we did is, we took-- 405 00:20:03,560 --> 00:20:06,830 we tried to take some of these other courses that we teach, 406 00:20:06,830 --> 00:20:10,803 and we tried to translate them into what's the context. 407 00:20:10,803 --> 00:20:12,970 The course title is not Intro to JavaScript anymore. 408 00:20:12,970 --> 00:20:15,420 Now, it's Building Websites for Nonprofits. 409 00:20:15,420 --> 00:20:16,420 Here's what we're doing. 410 00:20:16,420 --> 00:20:18,545 We're working closely with a community organization 411 00:20:18,545 --> 00:20:20,620 and getting programming experience. 412 00:20:20,620 --> 00:20:26,170 Here are some of the different places that we've done outreach for-- 413 00:20:26,170 --> 00:20:28,090 things that you'll recognize. 414 00:20:28,090 --> 00:20:30,140 These are the people that we're helping. 415 00:20:30,140 --> 00:20:32,590 And in order to do that, you need to learn JavaScript, 416 00:20:32,590 --> 00:20:34,548 but we'll cross that bridge when we come to it. 417 00:20:34,548 --> 00:20:38,590 Students signed up in droves for this, where before, that course description 418 00:20:38,590 --> 00:20:40,870 sent people running the other way. 419 00:20:40,870 --> 00:20:43,720 The other thing to do is think about creating more adult advocates 420 00:20:43,720 --> 00:20:44,510 in your community. 421 00:20:44,510 --> 00:20:48,400 We're trying to do a lot to change this perception of what computer science is 422 00:20:48,400 --> 00:20:49,750 to students. 423 00:20:49,750 --> 00:20:51,850 What we didn't realize for a number of years 424 00:20:51,850 --> 00:20:56,290 was that students were getting turned away by the course counselors, 425 00:20:56,290 --> 00:21:00,460 by the guidance counselors that were signing kids up for courses. 426 00:21:00,460 --> 00:21:03,190 A lot of them had inherent biases about computer science 427 00:21:03,190 --> 00:21:05,480 or about who does well in computer science. 428 00:21:05,480 --> 00:21:09,160 So they would say, oh, yeah, you've gotten B's and C's in math. 429 00:21:09,160 --> 00:21:11,172 You probably don't want to take CS50. 430 00:21:11,172 --> 00:21:12,880 You might want to try a different course. 431 00:21:12,880 --> 00:21:14,630 And that's the wrong message. 432 00:21:14,630 --> 00:21:16,900 We want to be open to everybody. 433 00:21:16,900 --> 00:21:21,970 A lot of those students could do just fine, math-wise, with it. 434 00:21:21,970 --> 00:21:23,890 For a lot of cases, CS50 was the one place 435 00:21:23,890 --> 00:21:27,580 where they had success in mathematics, because they had the context. 436 00:21:27,580 --> 00:21:31,090 So we didn't realize that some of our girls 437 00:21:31,090 --> 00:21:35,420 were getting turned away by counselors who-- 438 00:21:35,420 --> 00:21:37,760 bless their heart, they had the best of intentions, 439 00:21:37,760 --> 00:21:40,082 but they just were thinking, gosh, you know, 440 00:21:40,082 --> 00:21:41,540 you're already taking five courses. 441 00:21:41,540 --> 00:21:42,260 That's really hard. 442 00:21:42,260 --> 00:21:45,385 You might want to look at maybe taking an AP Environmental Science instead, 443 00:21:45,385 --> 00:21:46,410 or something like that. 444 00:21:46,410 --> 00:21:49,790 So we created these flyers and circulated them to the teachers 445 00:21:49,790 --> 00:21:53,960 and really talked to them and said, this is what a computer science course today 446 00:21:53,960 --> 00:21:55,520 looks like. 447 00:21:55,520 --> 00:21:56,960 It's real-world context. 448 00:21:56,960 --> 00:22:00,080 It's a whole TA staff that we have available. 449 00:22:00,080 --> 00:22:02,090 It's office hours regularly. 450 00:22:02,090 --> 00:22:04,527 It's flexing on deadlines. 451 00:22:04,527 --> 00:22:06,110 There's all kinds of stuff that we do. 452 00:22:06,110 --> 00:22:07,610 It's a pass/fail course. 453 00:22:07,610 --> 00:22:10,610 It's not the typical computer science course 454 00:22:10,610 --> 00:22:12,380 that maybe you took 20 or 30 years ago. 455 00:22:12,380 --> 00:22:14,005 That's the message we're trying to get. 456 00:22:14,005 --> 00:22:17,030 So think about, in your own school, who are your gatekeepers? 457 00:22:17,030 --> 00:22:20,540 Who potentially could encourage or discourage students 458 00:22:20,540 --> 00:22:24,830 before they even get to you and try to send that message? 459 00:22:24,830 --> 00:22:26,190 Awareness is really important. 460 00:22:26,190 --> 00:22:31,460 So we actually produced-- we just created this simple video-- 461 00:22:31,460 --> 00:22:32,480 one-minute video. 462 00:22:32,480 --> 00:22:35,813 We've gotten so much mileage out of this video to talk about what the course is, 463 00:22:35,813 --> 00:22:39,524 because we used students' own voices in it. 464 00:22:39,524 --> 00:22:40,560 [VIDEO PLAYBACK] 465 00:22:40,560 --> 00:22:43,110 - What would you tell people about taking the course? 466 00:22:43,110 --> 00:22:45,840 - I would say it's a really fun and enjoyable class, 467 00:22:45,840 --> 00:22:48,840 and I think that you learn a lot and get a lot out of the class. 468 00:22:48,840 --> 00:22:51,990 - What three words I would say-- number one would be "fast-paced." 469 00:22:51,990 --> 00:22:54,510 Number two would be "surprising." 470 00:22:54,510 --> 00:22:56,490 And number three-- I guess, "exciting." 471 00:22:56,490 --> 00:22:57,810 I know "surprising" and "exciting" are similar, 472 00:22:57,810 --> 00:22:59,730 but yeah, those would be my three words. 473 00:22:59,730 --> 00:23:01,290 - "Challenging." 474 00:23:01,290 --> 00:23:05,520 I would say, "intriguing," and I'd say, "hard," but it's good. 475 00:23:05,520 --> 00:23:08,802 - Gratifying, rewarding, and challenging. 476 00:23:08,802 --> 00:23:11,100 - Challenging, engaging, and rewarding. 477 00:23:11,100 --> 00:23:14,100 - Do you think you have to have a lot of experience to take this course? 478 00:23:14,100 --> 00:23:16,290 - I don't think you need to have a lot of experience to take this course. 479 00:23:16,290 --> 00:23:18,270 Because you don't need any skills to go in, 480 00:23:18,270 --> 00:23:21,043 and you'll come out with everything that you need to know. 481 00:23:21,043 --> 00:23:24,210 - I think I knew [INAUDIBLE] I think I knew how to do two things on Scratch, 482 00:23:24,210 --> 00:23:24,960 and that was about it 483 00:23:24,960 --> 00:23:25,290 [END PLAYBACK] 484 00:23:25,290 --> 00:23:25,873 [END PLAYBACK] 485 00:23:25,873 --> 00:23:27,990 - Stressful, challenging, satisfying. 486 00:23:27,990 --> 00:23:28,500 - Fun. 487 00:23:28,500 --> 00:23:29,670 - Fun and rewarding. 488 00:23:29,670 --> 00:23:32,760 - Exciting and worthwhile. 489 00:23:32,760 --> 00:23:36,120 - I think that the collaboration is probably the most fun. 490 00:23:36,120 --> 00:23:38,663 I really enjoy getting to meet new people and work with them 491 00:23:38,663 --> 00:23:40,080 and struggle through problem sets. 492 00:23:40,080 --> 00:23:43,950 And I definitely have made friends that I'll keep for a long time. 493 00:23:43,950 --> 00:23:49,428 494 00:23:49,428 --> 00:23:51,720 And again, it's consistent with our message throughout, 495 00:23:51,720 --> 00:23:53,850 but said in the voices of students. 496 00:23:53,850 --> 00:23:56,010 And we shot this in, like, a day on an iPhone, 497 00:23:56,010 --> 00:23:57,990 just went through and asked most of the kids 498 00:23:57,990 --> 00:24:03,930 just what three words come to mind when you think of CS50, and talk about it. 499 00:24:03,930 --> 00:24:07,500 So we've found this to be much more useful than anything I could tell 500 00:24:07,500 --> 00:24:10,910 them-- things that other students say. 501 00:24:10,910 --> 00:24:14,030 So I want to talk about this game, the Explore Game. 502 00:24:14,030 --> 00:24:18,300 So I actually was on the development committee for AP Computer Science 503 00:24:18,300 --> 00:24:18,800 Principles. 504 00:24:18,800 --> 00:24:22,340 So I helped with the revamp of that course 505 00:24:22,340 --> 00:24:26,120 when we decided to get rid of assessing the Explore task 506 00:24:26,120 --> 00:24:31,400 and we moved the assessment of those principles, the impact of computing, 507 00:24:31,400 --> 00:24:33,960 into what we're calling Stimulus Questions. 508 00:24:33,960 --> 00:24:38,360 And so when students take the exam, they have 509 00:24:38,360 --> 00:24:41,060 about five to seven multiple-choice questions 510 00:24:41,060 --> 00:24:43,730 that are based on a reading comprehension passage 511 00:24:43,730 --> 00:24:46,610 about a fictional computing innovation. 512 00:24:46,610 --> 00:24:50,060 And so here's an example that I just kind of quickly wrote. 513 00:24:50,060 --> 00:24:54,810 This is not a real example, but it's representative of what kids will find. 514 00:24:54,810 --> 00:25:03,530 And the idea of this is that we come up with some fictional innovation, 515 00:25:03,530 --> 00:25:05,600 and then we're asking students to identify 516 00:25:05,600 --> 00:25:07,850 what was the beneficial impact to society, 517 00:25:07,850 --> 00:25:11,420 what was a harmful effect to society, what are the effects on data 518 00:25:11,420 --> 00:25:13,760 security, privacy storage. 519 00:25:13,760 --> 00:25:17,180 All the things that we used to ask them to articulate in the written explore 520 00:25:17,180 --> 00:25:21,350 task, we're now trying to do through the stimulus questions. 521 00:25:21,350 --> 00:25:26,510 And the answer to this one by the way, oops, is B. It's-- 522 00:25:26,510 --> 00:25:29,245 you can share your bird call with other people, 523 00:25:29,245 --> 00:25:31,620 who can then turn around and share it with their contact. 524 00:25:31,620 --> 00:25:34,287 So that means that your content could potentially 525 00:25:34,287 --> 00:25:36,620 be shared with people who are not in your contacts list. 526 00:25:36,620 --> 00:25:38,900 So it's stuff like that, that we're asking kids 527 00:25:38,900 --> 00:25:42,680 to be able to infer from reading through these. 528 00:25:42,680 --> 00:25:45,740 Now, how do we go about practicing this? 529 00:25:45,740 --> 00:25:49,790 I actually came up with this game called Mission Feature Feature. 530 00:25:49,790 --> 00:25:54,910 And we have been able to use it for app design, but this, in many ways, 531 00:25:54,910 --> 00:25:56,160 is kind of what we were doing. 532 00:25:56,160 --> 00:25:57,993 We're coming up with the stimulus questions. 533 00:25:57,993 --> 00:26:00,230 It was like, OK, let's think about some. 534 00:26:00,230 --> 00:26:02,330 It can't be a real app. 535 00:26:02,330 --> 00:26:06,140 So what's some app that has a combination of features that have 536 00:26:06,140 --> 00:26:08,810 some impact on technology and society? 537 00:26:08,810 --> 00:26:12,740 And so I created this deck called Mission Feature Feature. 538 00:26:12,740 --> 00:26:16,490 You can just use one deck of cards, and it works for the entire class. 539 00:26:16,490 --> 00:26:20,600 And the cards, basically, are divided into Mission cards and Feature cards. 540 00:26:20,600 --> 00:26:25,310 And so we'll actually just play this in this group here. 541 00:26:25,310 --> 00:26:30,540 The idea behind it is, if you have a mission-- so for instance, 542 00:26:30,540 --> 00:26:33,470 let's say the mission you draw is finding a lost item. 543 00:26:33,470 --> 00:26:35,780 You're going to draw two features at random. 544 00:26:35,780 --> 00:26:38,580 One feature's a gyroscope, and one is a touch screen. 545 00:26:38,580 --> 00:26:41,930 So now, you have about five minutes to brainstorm, OK, 546 00:26:41,930 --> 00:26:48,020 what is an app that uses the gyroscope and the touch screen 547 00:26:48,020 --> 00:26:49,790 to find a lost item? 548 00:26:49,790 --> 00:26:55,460 And then, we'll ask kids to just speak, talk maybe a few sentences, 549 00:26:55,460 --> 00:26:56,300 give me a prototype. 550 00:26:56,300 --> 00:26:57,930 What's your app look like? 551 00:26:57,930 --> 00:27:00,170 And so a student might say, OK, I've got an app 552 00:27:00,170 --> 00:27:03,440 that uses a radio tag that broadcasts the location of your lost item. 553 00:27:03,440 --> 00:27:05,900 And then, as you tilt the device, you see an overhead map, 554 00:27:05,900 --> 00:27:10,070 and then you touch the screen to show where the signal is the strongest. 555 00:27:10,070 --> 00:27:12,710 And what is a harmful effect to that? 556 00:27:12,710 --> 00:27:18,500 OK, well, maybe, you know, maybe it is broadcasting-- well, 557 00:27:18,500 --> 00:27:22,310 this doesn't say it's broadcasting your location. 558 00:27:22,310 --> 00:27:27,110 But maybe potentially, it can leak the location of the item to other people, 559 00:27:27,110 --> 00:27:29,310 so somebody else can find it before you find it. 560 00:27:29,310 --> 00:27:32,120 But again, they don't-- and they're not coding this app. 561 00:27:32,120 --> 00:27:33,440 They're not creating it. 562 00:27:33,440 --> 00:27:36,220 But we'll run this in class, like, every few weeks. 563 00:27:36,220 --> 00:27:38,470 We'll just say, OK, it's Mission Feature Feature time. 564 00:27:38,470 --> 00:27:39,570 It takes 10 minutes. 565 00:27:39,570 --> 00:27:43,730 And it gets kids in the practice of quickly thinking through, 566 00:27:43,730 --> 00:27:45,980 what are these beneficial and harmful effects 567 00:27:45,980 --> 00:27:47,970 of all of these different technologies. 568 00:27:47,970 --> 00:27:50,077 And so let's just try this for fun here. 569 00:27:50,077 --> 00:27:52,160 I'm going to put a bunch of numbers on the screen. 570 00:27:52,160 --> 00:27:55,490 What I want you to do-- we're going to do a quick and dirty sort 571 00:27:55,490 --> 00:27:57,200 of random number generator. 572 00:27:57,200 --> 00:27:58,340 So pick one number. 573 00:27:58,340 --> 00:27:59,390 Focus on that number. 574 00:27:59,390 --> 00:28:00,747 Think about that number. 575 00:28:00,747 --> 00:28:01,830 Everybody pick one number. 576 00:28:01,830 --> 00:28:02,663 Keep it to yourself. 577 00:28:02,663 --> 00:28:04,910 578 00:28:04,910 --> 00:28:09,018 And then, once everybody's got a number, you're going to-- on the next screen, 579 00:28:09,018 --> 00:28:10,310 you'll see a bunch of missions. 580 00:28:10,310 --> 00:28:14,110 The mission number-- that's your mission, OK? 581 00:28:14,110 --> 00:28:16,400 Here we go. 582 00:28:16,400 --> 00:28:17,180 All right. 583 00:28:17,180 --> 00:28:18,822 So just remember what your mission is. 584 00:28:18,822 --> 00:28:19,655 That's your mission. 585 00:28:19,655 --> 00:28:24,880 586 00:28:24,880 --> 00:28:25,380 OK. 587 00:28:25,380 --> 00:28:26,855 Now, we're going to scramble it. 588 00:28:26,855 --> 00:28:28,230 So don't forget your mission, OK? 589 00:28:28,230 --> 00:28:30,090 You got your mission, everybody? 590 00:28:30,090 --> 00:28:30,607 All right. 591 00:28:30,607 --> 00:28:32,190 Now, you're going to pick two numbers. 592 00:28:32,190 --> 00:28:32,730 All right? 593 00:28:32,730 --> 00:28:35,775 Pick two numbers to focus on, and remember those two numbers. 594 00:28:35,775 --> 00:28:39,690 595 00:28:39,690 --> 00:28:41,310 All right, you got two numbers? 596 00:28:41,310 --> 00:28:43,350 OK, here's two features. 597 00:28:43,350 --> 00:28:47,610 Pick the two features that match with your two numbers, in other words. 598 00:28:47,610 --> 00:28:51,590 And then, I want you to think about, what's 599 00:28:51,590 --> 00:28:55,128 an app that accomplishes your mission, using those two features. 600 00:28:55,128 --> 00:28:57,920 And I will say, if you want to pick a different feature, that's OK. 601 00:28:57,920 --> 00:29:00,878 If you want to pick three features, like, pick a third one on your own, 602 00:29:00,878 --> 00:29:02,030 that's OK, too. 603 00:29:02,030 --> 00:29:07,090 But it has to use at least two of these features and your mission. 604 00:29:07,090 --> 00:29:09,910 And I want to give you a little bit of time to think about it. 605 00:29:09,910 --> 00:29:12,910 And then, when you have an idea, go ahead, and if you go to the Gestures 606 00:29:12,910 --> 00:29:17,960 at the bottom of the screen, you can go ahead and pick Gestures. 607 00:29:17,960 --> 00:29:19,600 And raise your hand. 608 00:29:19,600 --> 00:29:21,620 I'd love to just quickly hear some ideas. 609 00:29:21,620 --> 00:29:22,610 What was your mission? 610 00:29:22,610 --> 00:29:24,500 What were your two features? 611 00:29:24,500 --> 00:29:26,120 And what does it do? 612 00:29:26,120 --> 00:29:29,530 613 00:29:29,530 --> 00:29:31,420 All right, Jason, I'm going to-- 614 00:29:31,420 --> 00:29:34,315 let's see-- have you unmute. 615 00:29:34,315 --> 00:29:35,190 Let me see if I can-- 616 00:29:35,190 --> 00:29:36,720 I'm gonna unmute you, Jason. 617 00:29:36,720 --> 00:29:39,840 And what's your mission and your two features? 618 00:29:39,840 --> 00:29:41,100 What's it do? 619 00:29:41,100 --> 00:29:46,150 SPEAKER 1: I have to answer a question with a speaker and augmented reality. 620 00:29:46,150 --> 00:29:47,200 DOUGLAS KIANG: OK. 621 00:29:47,200 --> 00:29:47,920 Great. 622 00:29:47,920 --> 00:29:51,220 So my mission is answer a question, and the two features 623 00:29:51,220 --> 00:29:53,920 are speaker and augmented reality. 624 00:29:53,920 --> 00:29:56,530 Great. 625 00:29:56,530 --> 00:30:01,000 SPEAKER 1: So this is the app-- is that you point it at anything, 626 00:30:01,000 --> 00:30:04,420 and using your finger, you can, like, circle exactly what the object is. 627 00:30:04,420 --> 00:30:07,480 And it figures out exactly what color it is by RGB, 628 00:30:07,480 --> 00:30:08,930 and then, like, says it all out. 629 00:30:08,930 --> 00:30:11,420 It tells you exactly what the color is. 630 00:30:11,420 --> 00:30:12,890 DOUGLAS KIANG: Wow, that's awesome. 631 00:30:12,890 --> 00:30:13,760 I love that. 632 00:30:13,760 --> 00:30:15,170 And who would use this? 633 00:30:15,170 --> 00:30:16,577 Who would the audience be? 634 00:30:16,577 --> 00:30:17,660 SPEAKER 1: Maybe painters? 635 00:30:17,660 --> 00:30:21,448 If you're, like, trying to match a color at Home Depot. 636 00:30:21,448 --> 00:30:22,490 DOUGLAS KIANG: I love it. 637 00:30:22,490 --> 00:30:25,340 And then, for accessibility, it kind of reads it out loud, right? 638 00:30:25,340 --> 00:30:28,140 Uses the speaker to read out the colors? 639 00:30:28,140 --> 00:30:28,640 I love it. 640 00:30:28,640 --> 00:30:29,240 Thank you. 641 00:30:29,240 --> 00:30:30,830 That's awesome. 642 00:30:30,830 --> 00:30:32,510 Super. 643 00:30:32,510 --> 00:30:34,100 Amir, I'm going to unmute you. 644 00:30:34,100 --> 00:30:37,090 What's your mission and your two features? 645 00:30:37,090 --> 00:30:38,650 SPEAKER 2: OK. 646 00:30:38,650 --> 00:30:40,370 First of all, nice to meet you. 647 00:30:40,370 --> 00:30:44,350 Then, my mission was to teach and learn the-- 648 00:30:44,350 --> 00:30:46,330 I think it was the fourth number. 649 00:30:46,330 --> 00:30:52,510 And my two features were camera and accelerometer. 650 00:30:52,510 --> 00:30:57,430 So it's one of the most basic things, I think. 651 00:30:57,430 --> 00:31:00,820 For using the camera as we are doing right now, 652 00:31:00,820 --> 00:31:05,800 there would be an application, you know, like Zoom or any other application. 653 00:31:05,800 --> 00:31:10,645 People could join together and use the camera to talk with each other on. 654 00:31:10,645 --> 00:31:13,540 So we may use the microphone feature also. 655 00:31:13,540 --> 00:31:18,560 And there may be some sort of presentation, 656 00:31:18,560 --> 00:31:23,680 which as you are sharing, for example, the app could share the presentation. 657 00:31:23,680 --> 00:31:26,740 And by accelerometer-- for example, by shaking the phone, 658 00:31:26,740 --> 00:31:29,320 you could change the slide or something like that. 659 00:31:29,320 --> 00:31:31,248 It could be something like this. 660 00:31:31,248 --> 00:31:32,290 DOUGLAS KIANG: I love it. 661 00:31:32,290 --> 00:31:33,010 Thank you. 662 00:31:33,010 --> 00:31:34,060 Thank you. 663 00:31:34,060 --> 00:31:35,440 All right, and then one last one. 664 00:31:35,440 --> 00:31:38,550 [INAUDIBLE]? 665 00:31:38,550 --> 00:31:39,583 Yeah. 666 00:31:39,583 --> 00:31:40,500 What was your mission? 667 00:31:40,500 --> 00:31:41,667 What were your two features? 668 00:31:41,667 --> 00:31:44,112 669 00:31:44,112 --> 00:31:45,650 Oh, sorry, let me mute you. 670 00:31:45,650 --> 00:31:46,150 OK. 671 00:31:46,150 --> 00:31:47,080 SPEAKER 3: Hi. 672 00:31:47,080 --> 00:31:51,500 OK, my mission was to answer a question, and my two features 673 00:31:51,500 --> 00:31:55,940 were using microphone and voice recognition, and calendar. 674 00:31:55,940 --> 00:32:05,090 So I think my app can ask you for a date, and uses the voice recognition 675 00:32:05,090 --> 00:32:08,300 and finds out which data you're looking for, 676 00:32:08,300 --> 00:32:11,720 and it looks at your Google Calendar, and finds 677 00:32:11,720 --> 00:32:14,960 out what things you have to do in that day, 678 00:32:14,960 --> 00:32:19,190 and gives you the schedule of your work and says, 679 00:32:19,190 --> 00:32:24,090 if you have any special date that day or not. 680 00:32:24,090 --> 00:32:25,140 DOUGLAS KIANG: I love it. 681 00:32:25,140 --> 00:32:26,220 Thank you. 682 00:32:26,220 --> 00:32:27,000 All right. 683 00:32:27,000 --> 00:32:28,353 Great. 684 00:32:28,353 --> 00:32:30,270 I want to-- in the interest of time, I'm going 685 00:32:30,270 --> 00:32:33,460 to move on and ask you to consider one more thing. 686 00:32:33,460 --> 00:32:34,740 These three additional cards-- 687 00:32:34,740 --> 00:32:38,472 so once we get kids in the habit of quickly pitching, here's 688 00:32:38,472 --> 00:32:40,680 what the app does, we want them to think about what's 689 00:32:40,680 --> 00:32:45,330 the beneficial effect on society, what are the data, privacy, storage, 690 00:32:45,330 --> 00:32:48,490 and security features that might come into play, 691 00:32:48,490 --> 00:32:50,500 and then what's the harmful effect on society. 692 00:32:50,500 --> 00:32:53,910 So these are Effect cards that you would apply to each one of these. 693 00:32:53,910 --> 00:32:59,340 Maybe kids can pick one at random, or you might give each kid a set of three 694 00:32:59,340 --> 00:33:02,110 and say, you need to do each of these three. 695 00:33:02,110 --> 00:33:09,840 So this is how I would adapt this to principles, the CS principles. 696 00:33:09,840 --> 00:33:15,900 We ended up-- it turns out it's really popular as a way to do app design. 697 00:33:15,900 --> 00:33:18,150 Because a lot of kids, when you ask them to do an app, 698 00:33:18,150 --> 00:33:20,775 they'll come up with an app that really is more like a web app. 699 00:33:20,775 --> 00:33:23,970 Like, it just pretty much works on a browser. 700 00:33:23,970 --> 00:33:26,220 If you're going to create a mobile app, typically, you 701 00:33:26,220 --> 00:33:30,270 want to push kids towards actually using the mobile features of the phone, 702 00:33:30,270 --> 00:33:31,590 which-- 703 00:33:31,590 --> 00:33:33,880 GPS, Bluetooth, that kind of thing. 704 00:33:33,880 --> 00:33:38,490 And so Mission Feature Feature has those other features, and it sort of-- 705 00:33:38,490 --> 00:33:40,470 we find that it helps loosen up the thinking, 706 00:33:40,470 --> 00:33:44,870 in terms of thinking about different kinds of aspects. 707 00:33:44,870 --> 00:33:46,160 OK. 708 00:33:46,160 --> 00:33:48,517 So great. 709 00:33:48,517 --> 00:33:50,600 So I want to go on and talk a little bit about how 710 00:33:50,600 --> 00:33:54,150 we handle late work with students. 711 00:33:54,150 --> 00:33:57,560 So basically, we always would have this problem 712 00:33:57,560 --> 00:34:00,620 where kids would not turn stuff in, and then they 713 00:34:00,620 --> 00:34:02,540 get farther and farther behind. 714 00:34:02,540 --> 00:34:06,298 And then, like, right before the grading deadline, they'll turn in, 715 00:34:06,298 --> 00:34:08,840 like, a dozen things that I've got to grade, and some of them 716 00:34:08,840 --> 00:34:11,400 are, like, four or five problems sets ago. 717 00:34:11,400 --> 00:34:14,000 We'd have problems where I'd want to go over the answer, 718 00:34:14,000 --> 00:34:15,590 but not all the kids have finished it. 719 00:34:15,590 --> 00:34:18,020 So by the time I wait for everybody to have turned it in, 720 00:34:18,020 --> 00:34:18,989 it's two or three weeks later. 721 00:34:18,989 --> 00:34:21,489 Everybody's forgotten, and they've kind of moved on already. 722 00:34:21,489 --> 00:34:22,625 So we had this problem. 723 00:34:22,625 --> 00:34:25,250 Other things that I would do is, like, I would take points away 724 00:34:25,250 --> 00:34:29,449 if they turned it in late, but then in my grade book, 725 00:34:29,449 --> 00:34:32,239 I'd have something that somebody turned in that was kind of lousy, 726 00:34:32,239 --> 00:34:34,250 and it was a B, and something else that somebody 727 00:34:34,250 --> 00:34:37,770 turned in that was a brilliant solution, but they turned it in five days late, 728 00:34:37,770 --> 00:34:38,780 so it was also a B. 729 00:34:38,780 --> 00:34:42,929 And so these are not equivalent, in terms of quality, 730 00:34:42,929 --> 00:34:44,929 but they both show up the same in my grade book. 731 00:34:44,929 --> 00:34:48,590 So we came up with a system that doesn't adversely affect the grade book. 732 00:34:48,590 --> 00:34:50,510 And the kids love it, because it makes it 733 00:34:50,510 --> 00:34:52,219 really clear about when things are due. 734 00:34:52,219 --> 00:34:56,600 So the idea is, every problem set has a deadline. 735 00:34:56,600 --> 00:35:00,230 Now, kids start the year with three tardies and three lates. 736 00:35:00,230 --> 00:35:05,000 And the difference is, a tardy is if it was due, say, on a Thursday 737 00:35:05,000 --> 00:35:07,790 at midnight, and you missed that deadline, 738 00:35:07,790 --> 00:35:09,780 you have one day to turn it in. 739 00:35:09,780 --> 00:35:10,280 All right? 740 00:35:10,280 --> 00:35:11,900 You have one school day. 741 00:35:11,900 --> 00:35:16,230 And if you turn it in by midnight on Friday, we take away one of your tardy, 742 00:35:16,230 --> 00:35:17,660 so now you have two left. 743 00:35:17,660 --> 00:35:20,810 But it's an automatic extension, and we will just grade it 744 00:35:20,810 --> 00:35:22,190 as if you turned it in on time. 745 00:35:22,190 --> 00:35:25,812 And you can do that three times during the semester, actually. 746 00:35:25,812 --> 00:35:27,020 And it's the next school day. 747 00:35:27,020 --> 00:35:30,103 So if it was due at midnight on Friday, they have until midnight on Monday 748 00:35:30,103 --> 00:35:30,750 to turn it in. 749 00:35:30,750 --> 00:35:32,090 So those are tardies. 750 00:35:32,090 --> 00:35:36,200 Now, if it's more than a day late, they can't use a tardy anymore. 751 00:35:36,200 --> 00:35:38,090 They have to use what we call a late. 752 00:35:38,090 --> 00:35:40,520 And a late is a one-week extension. 753 00:35:40,520 --> 00:35:43,700 They have a seven-day extension for a late. 754 00:35:43,700 --> 00:35:46,670 But late-- in order to qualify for a late, 755 00:35:46,670 --> 00:35:49,370 you actually have to meet me face-to-face. 756 00:35:49,370 --> 00:35:53,450 You have to meet with me, like, after class or before class, or on Zoom 757 00:35:53,450 --> 00:35:55,737 or in office hours, and we need to-- 758 00:35:55,737 --> 00:35:56,570 you need to explain. 759 00:35:56,570 --> 00:35:59,682 Why is it late? 760 00:35:59,682 --> 00:36:01,640 And the reason I'm doing that is because when-- 761 00:36:01,640 --> 00:36:04,940 before we ask kids to meet with us, if kids get really stuck 762 00:36:04,940 --> 00:36:08,007 and they can't finish it on time, and then they look at it a day later, 763 00:36:08,007 --> 00:36:10,590 and they're like, oh, hell, no, I still can't figure this out, 764 00:36:10,590 --> 00:36:12,620 then they let it go, and they go, I got a week. 765 00:36:12,620 --> 00:36:16,170 They'll wait six days, and then they'll look at it again, 766 00:36:16,170 --> 00:36:20,400 and they'll be in exactly the same place, and they'll still be stuck. 767 00:36:20,400 --> 00:36:23,280 And so it's just kicking the can down the road a week later. 768 00:36:23,280 --> 00:36:27,230 So what we ask them to do is, they have to meet with us and explain why. 769 00:36:27,230 --> 00:36:31,460 I'm stuck on-- I still don't understand how this function is supposed to work. 770 00:36:31,460 --> 00:36:34,160 Or-- and then, I'll say, OK, well, let's sit down, 771 00:36:34,160 --> 00:36:37,190 and I can explain this to you, and you can get unstuck. 772 00:36:37,190 --> 00:36:40,820 Or they'll say, I was traveling for a soccer tournament, 773 00:36:40,820 --> 00:36:44,840 and I know what to do, but I just need to sit down and do it. 774 00:36:44,840 --> 00:36:46,100 I'm going to get it in. 775 00:36:46,100 --> 00:36:48,050 Great, you don't need any help from me then. 776 00:36:48,050 --> 00:36:48,770 Just get it done. 777 00:36:48,770 --> 00:36:49,820 Your late is approved. 778 00:36:49,820 --> 00:36:54,320 But I have to approve the late before they can actually turn it in for credit 779 00:36:54,320 --> 00:36:56,540 seven days later. 780 00:36:56,540 --> 00:37:00,140 And that's actually a big incentive for kids to make it by the tardy deadline. 781 00:37:00,140 --> 00:37:03,380 [CHUCKLES] Because they hate coming in to talk to me-- 782 00:37:03,380 --> 00:37:04,220 for whatever reason. 783 00:37:04,220 --> 00:37:06,380 I don't know why. 784 00:37:06,380 --> 00:37:09,500 And so they get three first semester of each one. 785 00:37:09,500 --> 00:37:10,460 And they don't stack. 786 00:37:10,460 --> 00:37:14,150 In other words, you can't turn something in two days late and use two tardies. 787 00:37:14,150 --> 00:37:17,900 We thought of everything, because kids come up with all kinds of questions. 788 00:37:17,900 --> 00:37:21,582 I keep track of it in Canvas, basically, as a 3-point assignment. 789 00:37:21,582 --> 00:37:24,290 So if you use Canvas, I just create an Assignment called Tardies. 790 00:37:24,290 --> 00:37:25,430 I give it 3 points. 791 00:37:25,430 --> 00:37:28,580 I create an Assignment called Lates, give it 3 points. 792 00:37:28,580 --> 00:37:30,950 Every time they use one, I take one of them away, 793 00:37:30,950 --> 00:37:33,090 and I leave a comment on that assignment, saying, 794 00:37:33,090 --> 00:37:35,250 OK, this was late on this date for this reason. 795 00:37:35,250 --> 00:37:37,070 And it's just a quick way that I can keep 796 00:37:37,070 --> 00:37:40,580 track of how many tardies and lates people have. 797 00:37:40,580 --> 00:37:44,330 If students completely run out of tardies, 798 00:37:44,330 --> 00:37:46,670 then they will have to use a late. 799 00:37:46,670 --> 00:37:49,880 So if they miss the deadline, they're going to have to come talk with me, 800 00:37:49,880 --> 00:37:52,130 and then they have a seven-day extension, which they may or may not 801 00:37:52,130 --> 00:37:52,630 need. 802 00:37:52,630 --> 00:37:56,570 If students run out of all of their lates, then no assignment they turn in 803 00:37:56,570 --> 00:37:59,870 can be more than one day tardy. 804 00:37:59,870 --> 00:38:01,670 Because then, it won't count for credit. 805 00:38:01,670 --> 00:38:03,985 So kids have to manage that. 806 00:38:03,985 --> 00:38:06,860 You'll notice some of these students that started with 3, they end up 807 00:38:06,860 --> 00:38:07,850 with 4 or 5. 808 00:38:07,850 --> 00:38:08,900 Why is that? 809 00:38:08,900 --> 00:38:11,900 Well, what we realized is, we give kids extra credit 810 00:38:11,900 --> 00:38:14,690 for doing things like showing up for Puzzle Day, 811 00:38:14,690 --> 00:38:19,940 for helping be, like, a guest helper at an office hours session on Zoom. 812 00:38:19,940 --> 00:38:22,308 They can do all of these things during the year 813 00:38:22,308 --> 00:38:23,850 that will give them extra credit for. 814 00:38:23,850 --> 00:38:26,808 But again, I don't want to mess up my grade book, because a lot of kids 815 00:38:26,808 --> 00:38:30,110 see extra credit as a way to make up for something that they were supposed 816 00:38:30,110 --> 00:38:32,150 to have done but they didn't do. 817 00:38:32,150 --> 00:38:35,510 So say, OK, I didn't do the Filter problem set, but is there extra credit? 818 00:38:35,510 --> 00:38:38,300 No, you need to do the actual curriculum. 819 00:38:38,300 --> 00:38:39,680 Extra credit is extra. 820 00:38:39,680 --> 00:38:43,115 So what we do is, we say we're going to give you an extra tardy. 821 00:38:43,115 --> 00:38:45,490 And if it's really special, we'll give him an extra late. 822 00:38:45,490 --> 00:38:47,282 And what's interesting is, many of the kids 823 00:38:47,282 --> 00:38:50,260 who will do the extra things, like coming to Puzzle Day and getting 824 00:38:50,260 --> 00:38:51,522 involved-- 825 00:38:51,522 --> 00:38:54,730 they love getting an extra tardy, even though they never are going to use it, 826 00:38:54,730 --> 00:38:57,230 because they're always turning in their work on time anyway. 827 00:38:57,230 --> 00:38:59,620 But they like that recognition. 828 00:38:59,620 --> 00:39:01,810 And so it was kind of an epiphany for us to realize 829 00:39:01,810 --> 00:39:04,300 that a lot of the value of extra credit comes into recognition 830 00:39:04,300 --> 00:39:05,592 and not necessarily the points. 831 00:39:05,592 --> 00:39:08,230 But that's kind of how we do tardies and lates. 832 00:39:08,230 --> 00:39:13,330 But making it really clear has really been awesome. 833 00:39:13,330 --> 00:39:18,050 Because now, I don't have to worry about kids turning stuff in tardy anymore. 834 00:39:18,050 --> 00:39:21,520 And after seven days, you can't turn it in for credit anymore. 835 00:39:21,520 --> 00:39:24,820 So I'll still give them feedback, but it won't count. 836 00:39:24,820 --> 00:39:27,850 So we basically-- I don't have kids turning 837 00:39:27,850 --> 00:39:31,150 in anything that's more than a week late anymore, which is great. 838 00:39:31,150 --> 00:39:35,500 And usually, I only have a few people turning it in late. 839 00:39:35,500 --> 00:39:37,900 And pretty much, everybody's either taking a tardy on it, 840 00:39:37,900 --> 00:39:39,950 or they're turning it in on time. 841 00:39:39,950 --> 00:39:41,590 So this system works great. 842 00:39:41,590 --> 00:39:45,210 I actually have a link to it in the Resources folder. 843 00:39:45,210 --> 00:39:46,210 There's a whole summary. 844 00:39:46,210 --> 00:39:47,293 It's all written up there. 845 00:39:47,293 --> 00:39:51,340 So yeah, check it out, and try it out if it's something 846 00:39:51,340 --> 00:39:54,070 that you think might be useful in your own classroom. 847 00:39:54,070 --> 00:39:56,860 All right, so I want to talk about Auto-Commenters. 848 00:39:56,860 --> 00:40:01,270 So Auto-Commenters are basically these spreadsheets that we use. 849 00:40:01,270 --> 00:40:04,180 So we have TAs. 850 00:40:04,180 --> 00:40:08,560 And what' we'll have them use the Auto-Commenters for is to quickly go 851 00:40:08,560 --> 00:40:12,490 through and score a problem set. 852 00:40:12,490 --> 00:40:15,580 And the thing about the spreadsheet is, the spreadsheet will automatically 853 00:40:15,580 --> 00:40:21,400 generate comments for each, like, actual narrative 854 00:40:21,400 --> 00:40:24,670 comments that tell students in detail what they did right 855 00:40:24,670 --> 00:40:26,890 and what they could work on. 856 00:40:26,890 --> 00:40:28,810 And it used to be that I would keep track 857 00:40:28,810 --> 00:40:33,610 of these things in a separate folder, like in a text document, and just copy 858 00:40:33,610 --> 00:40:34,610 and paste all the time. 859 00:40:34,610 --> 00:40:36,540 But what I found is students are making a lot of the same errors, 860 00:40:36,540 --> 00:40:38,570 and I was looking for a lot of the same things. 861 00:40:38,570 --> 00:40:42,310 So I ended up basically just creating these spreadsheets 862 00:40:42,310 --> 00:40:43,930 that will kind of do it automatically. 863 00:40:43,930 --> 00:40:47,230 So we have a problem set that we created called Diamonds. 864 00:40:47,230 --> 00:40:50,020 Diamonds is very similar to Mario. 865 00:40:50,020 --> 00:40:52,900 The idea behind Diamonds is, you put in a number, 866 00:40:52,900 --> 00:40:55,100 and it draws a diamond of that shape. 867 00:40:55,100 --> 00:40:58,120 So if I put in 5, it's going to create a diamond, where 868 00:40:58,120 --> 00:41:01,900 the widest row is the middle row, and then it kind of goes down from there. 869 00:41:01,900 --> 00:41:07,870 If it's an even number, we need-- we ask them to repeat the middle row. 870 00:41:07,870 --> 00:41:09,430 This is an extra problem set. 871 00:41:09,430 --> 00:41:14,110 We actually use it in place of Mario, and it's in that Resources folder. 872 00:41:14,110 --> 00:41:19,180 So you can check it out there if this is something that interests you. 873 00:41:19,180 --> 00:41:22,720 But what we did is, we asked kids to do the Diamonds problem set. 874 00:41:22,720 --> 00:41:27,270 These are the things that we look for when we score it. 875 00:41:27,270 --> 00:41:32,340 And we pretty much use a binary sort of-- either they did, 876 00:41:32,340 --> 00:41:36,890 or they didn't do these things. 877 00:41:36,890 --> 00:41:41,440 And what we've done-- 878 00:41:41,440 --> 00:41:46,720 what I ask the-- so I ask the teaching assistants to look for these things. 879 00:41:46,720 --> 00:41:50,770 And when students turn things in, they turn it in on a site called Submit50. 880 00:41:50,770 --> 00:41:53,500 Or they use Submit50, and it submits it to a site 881 00:41:53,500 --> 00:41:56,080 that's located at submit.CS50.io. 882 00:41:56,080 --> 00:41:58,870 And that's where I manage all of my students' submissions. 883 00:41:58,870 --> 00:42:02,810 It's all run through GitHub, and they all show up in one place. 884 00:42:02,810 --> 00:42:05,470 And I go through, and I give kids feedback, 885 00:42:05,470 --> 00:42:08,650 based on what I see in the code. 886 00:42:08,650 --> 00:42:11,000 And I used to do this manually. 887 00:42:11,000 --> 00:42:15,490 But now, what we can do is, we share this spreadsheet 888 00:42:15,490 --> 00:42:19,960 with the teaching assistants. 889 00:42:19,960 --> 00:42:24,260 And let me-- I'm just pulling up my demo here. 890 00:42:24,260 --> 00:42:27,520 And for this, I'm going to go back to that CS50 Educators link 891 00:42:27,520 --> 00:42:30,490 that's got a bunch of stuff in it. 892 00:42:30,490 --> 00:42:35,470 And all of the auto-commenters that I've done so far are all here, 893 00:42:35,470 --> 00:42:39,310 and they're here for most of the problem sets, not all of them. 894 00:42:39,310 --> 00:42:42,470 I'm still working on getting all of them in there. 895 00:42:42,470 --> 00:42:47,060 But for instance, if you have something like Cache-- 896 00:42:47,060 --> 00:42:50,880 so if you open up Cache, I actually wrote 897 00:42:50,880 --> 00:42:55,560 guidelines for what we look for when we score these. 898 00:42:55,560 --> 00:42:58,860 And these are similar to, but they're not the same as, 899 00:42:58,860 --> 00:43:02,100 a lot of the grading guidelines that are on the TF site. 900 00:43:02,100 --> 00:43:03,690 Those are very valuable, too. 901 00:43:03,690 --> 00:43:06,420 And I put this out here just as a way for people 902 00:43:06,420 --> 00:43:09,960 to modify this as you see fit. 903 00:43:09,960 --> 00:43:14,880 It helps if you know a little bit about Excel or about how Google Sheets works. 904 00:43:14,880 --> 00:43:19,262 But again, these are the things that we're looking for. 905 00:43:19,262 --> 00:43:20,970 We want students to put their name on it. 906 00:43:20,970 --> 00:43:23,670 We want them to use variables instead of constants 907 00:43:23,670 --> 00:43:25,920 to represent the denominations. 908 00:43:25,920 --> 00:43:27,870 We want them to pass Check 50. 909 00:43:27,870 --> 00:43:32,040 And so you'll notice that I have a sheet for names. 910 00:43:32,040 --> 00:43:34,710 So these are the usernames-- the GitHub username, 911 00:43:34,710 --> 00:43:39,010 and the first and last name of each of my students. 912 00:43:39,010 --> 00:43:43,300 I go into Submit 50, and I download a CSV 913 00:43:43,300 --> 00:43:46,900 file that has the number of checks that there were, 914 00:43:46,900 --> 00:43:49,990 and the score that they got for Style 50. 915 00:43:49,990 --> 00:43:59,390 And this pulls it in automatically to construct a comment. 916 00:43:59,390 --> 00:44:05,560 So if you look here, these comments are actually written automatically, 917 00:44:05,560 --> 00:44:07,730 based on what students have done. 918 00:44:07,730 --> 00:44:12,860 And so I will go through to say, OK, I'm looking 919 00:44:12,860 --> 00:44:15,110 at this person, Mickey Mouse's work. 920 00:44:15,110 --> 00:44:19,768 His comments are nonexistent, so that's a negative 1. 921 00:44:19,768 --> 00:44:20,810 This one, I'll just hide. 922 00:44:20,810 --> 00:44:28,120 923 00:44:28,120 --> 00:44:31,540 Did they use modulus and division? 924 00:44:31,540 --> 00:44:33,400 This person did not. 925 00:44:33,400 --> 00:44:35,590 They did define constants. 926 00:44:35,590 --> 00:44:38,950 They [INAUDIBLE] included a library that they didn't call any functions for. 927 00:44:38,950 --> 00:44:42,010 We don't really like that, so I'm putting in a 1 here. 928 00:44:42,010 --> 00:44:44,050 Did they use individual variables for the coins? 929 00:44:44,050 --> 00:44:45,820 So they declared dimes, nickels, pennies? 930 00:44:45,820 --> 00:44:47,423 Yeah, they did, so we'll put that in. 931 00:44:47,423 --> 00:44:49,090 And did they use a loop for the pennies? 932 00:44:49,090 --> 00:44:49,930 Yeah, they did. 933 00:44:49,930 --> 00:44:52,285 They didn't realize you could just add cents at the end. 934 00:44:52,285 --> 00:44:54,610 And overall, holistically, quality-- 935 00:44:54,610 --> 00:44:56,500 I'm going to say the quality here was a 1. 936 00:44:56,500 --> 00:45:00,370 Now, there are notes here about how you would grade each 937 00:45:00,370 --> 00:45:02,910 of these, how you would score these. 938 00:45:02,910 --> 00:45:09,100 And this whole comment is automatically written, based on what they've done. 939 00:45:09,100 --> 00:45:14,230 And it's basically concatenating these strings that come in from these stems. 940 00:45:14,230 --> 00:45:17,500 So for each one of these things, if they use the loop, 941 00:45:17,500 --> 00:45:19,840 if they didn't use a loop, I've already written it. 942 00:45:19,840 --> 00:45:21,730 You can certainly put it in your own language 943 00:45:21,730 --> 00:45:24,100 and write something for each of these. 944 00:45:24,100 --> 00:45:28,880 But what happens is, it all gets combined here. 945 00:45:28,880 --> 00:45:31,690 And so what I ask my TAs to do is, I just 946 00:45:31,690 --> 00:45:35,830 ask them to go through and just mark what they see. 947 00:45:35,830 --> 00:45:38,880 So if you look at Fahrenheit, this one's actually a good example, 948 00:45:38,880 --> 00:45:43,110 because I annotated this with instructions, such as they are. 949 00:45:43,110 --> 00:45:46,210 950 00:45:46,210 --> 00:45:50,970 And so if you're interested, I invite you to make a copy of this 951 00:45:50,970 --> 00:45:52,350 and play around with it. 952 00:45:52,350 --> 00:45:57,420 Hopefully, it's something you can adapt for your own students. 953 00:45:57,420 --> 00:46:00,540 I actually have five sections in one spreadsheet. 954 00:46:00,540 --> 00:46:04,440 So I'll have all the students in there, and assign each one 955 00:46:04,440 --> 00:46:05,910 to different people. 956 00:46:05,910 --> 00:46:09,320 And in this annotated version, I've actually 957 00:46:09,320 --> 00:46:12,483 marked in green where you actually would be entering in ones or zeros, 958 00:46:12,483 --> 00:46:13,400 based on what you see. 959 00:46:13,400 --> 00:46:15,210 And again, the notes are here. 960 00:46:15,210 --> 00:46:18,840 So hopefully, this will save you a lot of time. 961 00:46:18,840 --> 00:46:22,490 It took me a lot of time to come up with these, to be honest. 962 00:46:22,490 --> 00:46:27,590 But you know, I'm putting them out there in the hopes 963 00:46:27,590 --> 00:46:31,550 that it's something that will be useful to you. 964 00:46:31,550 --> 00:46:33,087 And what we'll do-- we actually-- 965 00:46:33,087 --> 00:46:35,420 I'm going to talk a little bit more about this in a bit, 966 00:46:35,420 --> 00:46:39,440 but we actually give students scores for what 967 00:46:39,440 --> 00:46:42,380 we consider the big ideas of computing-- so abstraction, 968 00:46:42,380 --> 00:46:44,900 code fluency, their correctness and style, 969 00:46:44,900 --> 00:46:46,790 and then their documentation or comments. 970 00:46:46,790 --> 00:46:49,190 And I actually put this in Canvas. 971 00:46:49,190 --> 00:46:52,430 And then, we asked students to keep track of it in a separate Google Sheet 972 00:46:52,430 --> 00:46:53,750 that they shared with us. 973 00:46:53,750 --> 00:46:55,580 Because what we're interested in doing is 974 00:46:55,580 --> 00:47:01,110 looking at the trend of how students are doing in each of these areas. 975 00:47:01,110 --> 00:47:04,018 But again, the spreadsheets have totally made it possible 976 00:47:04,018 --> 00:47:05,060 for us to do all of this. 977 00:47:05,060 --> 00:47:10,280 Each of these is automatically calculated, based on those columns, 978 00:47:10,280 --> 00:47:13,560 whether kids did things or didn't do things that they were supposed to do. 979 00:47:13,560 --> 00:47:16,340 They get a four-point score for each of these. 980 00:47:16,340 --> 00:47:19,100 981 00:47:19,100 --> 00:47:22,990 And so yeah, when I first started thinking about this, this idea was-- 982 00:47:22,990 --> 00:47:24,910 I spent a lot of time scoring, so why don't we 983 00:47:24,910 --> 00:47:27,550 write a spreadsheet that actually automates it? 984 00:47:27,550 --> 00:47:30,010 And I'm still working on it. 985 00:47:30,010 --> 00:47:34,000 And I'm actually spending probably more time tweaking it than I did scoring, 986 00:47:34,000 --> 00:47:37,780 so I'm not sure how much time it saved over the long run. 987 00:47:37,780 --> 00:47:40,720 But more recently, I'm spending less time scoring, which is nice. 988 00:47:40,720 --> 00:47:44,332 But I've actually managed to get the basics of something up there. 989 00:47:44,332 --> 00:47:46,540 I'm hoping, with our community here, that some of you 990 00:47:46,540 --> 00:47:49,150 will take this, and run with it, and do even more with it, 991 00:47:49,150 --> 00:47:51,460 and help jump in on this ongoing development. 992 00:47:51,460 --> 00:47:55,190 We can make something that will really be super helpful for everybody. 993 00:47:55,190 --> 00:47:58,840 I actually took this same idea, and I did this for my first quarter 994 00:47:58,840 --> 00:48:00,490 and third quarter comments. 995 00:48:00,490 --> 00:48:05,380 So when I give comments to students, it actually autofills from their scores 996 00:48:05,380 --> 00:48:07,640 for all the problem sets across the board. 997 00:48:07,640 --> 00:48:12,370 So yeah, so people are like, wow, your comments are really good. 998 00:48:12,370 --> 00:48:16,030 You spent so long writing them, and it actually is just, like, click and fill. 999 00:48:16,030 --> 00:48:22,240 [CHUCKLES] Anyway, so yeah, finally, I want to end with this idea of, 1000 00:48:22,240 --> 00:48:26,230 if we're working towards mastery, what does mastery of computer 1001 00:48:26,230 --> 00:48:29,660 science in CS50 AP look like for us? 1002 00:48:29,660 --> 00:48:32,920 And so for us, we really went back to our core beliefs. 1003 00:48:32,920 --> 00:48:37,960 And these are what we believe as a department about computer science. 1004 00:48:37,960 --> 00:48:40,960 We think even though kids come in with some experience, 1005 00:48:40,960 --> 00:48:44,770 it's really a skill that has to be learned over a period of time-- 1006 00:48:44,770 --> 00:48:46,480 long period of time. 1007 00:48:46,480 --> 00:48:48,050 And you have to take risks. 1008 00:48:48,050 --> 00:48:54,280 And you have to be OK with failure and with a lot of red results in Check 50. 1009 00:48:54,280 --> 00:48:57,610 We think that grades are really not a great way 1010 00:48:57,610 --> 00:49:01,370 to measure this complex set of skills. 1011 00:49:01,370 --> 00:49:05,230 We also think that students improve best when the feedback that they get 1012 00:49:05,230 --> 00:49:06,820 is pretty quick. 1013 00:49:06,820 --> 00:49:09,340 And that, honestly, was a place where I kind of fell down 1014 00:49:09,340 --> 00:49:11,890 when I was trying to grade these things manually. 1015 00:49:11,890 --> 00:49:14,800 It was taking me a week or 10 days to get students feedback. 1016 00:49:14,800 --> 00:49:16,210 And by the time-- 1017 00:49:16,210 --> 00:49:17,980 we work at such a pace-- kids are already 1018 00:49:17,980 --> 00:49:21,313 almost done with the next problem, so by the time they were getting my comments, 1019 00:49:21,313 --> 00:49:23,750 [INAUDIBLE] So that didn't work. 1020 00:49:23,750 --> 00:49:26,388 So we wanted to give kids prompt, prompt feedback quickly, 1021 00:49:26,388 --> 00:49:28,930 which is why we invented these spreadsheets that will quickly 1022 00:49:28,930 --> 00:49:32,890 give feedback that we can go through and check. 1023 00:49:32,890 --> 00:49:35,517 And finally, we noticed anytime we gave feedback and a grade, 1024 00:49:35,517 --> 00:49:36,850 kids wouldn't read the feedback. 1025 00:49:36,850 --> 00:49:38,680 They just look at the grade. 1026 00:49:38,680 --> 00:49:42,355 So grades actually overshadow the feedback. 1027 00:49:42,355 --> 00:49:44,230 For whatever reason, when the grade is there, 1028 00:49:44,230 --> 00:49:46,840 they just kind of turn off on really reading carefully about, 1029 00:49:46,840 --> 00:49:48,318 where do I get better. 1030 00:49:48,318 --> 00:49:50,860 So we started with those core beliefs, and we said, OK, well, 1031 00:49:50,860 --> 00:49:53,800 what's important for us, in terms of computer science? 1032 00:49:53,800 --> 00:49:55,630 And these are things that we came up with. 1033 00:49:55,630 --> 00:49:58,610 Basically, we want kids to reflect regularly. 1034 00:49:58,610 --> 00:50:00,610 We want them to be resourceful. 1035 00:50:00,610 --> 00:50:06,700 Code fluency is this idea of efficiency. 1036 00:50:06,700 --> 00:50:10,180 We want them to be able to use functions and declare functions and break 1037 00:50:10,180 --> 00:50:14,470 problems down into steps, so demonstrate a knowledge of abstraction in that way. 1038 00:50:14,470 --> 00:50:18,520 And we want them to comment, not just the way a software engineer 1039 00:50:18,520 --> 00:50:22,150 would comment, but comment as a form of metacognition. 1040 00:50:22,150 --> 00:50:25,630 We want to know that they understand what they're doing when they come up 1041 00:50:25,630 --> 00:50:26,950 with some long formula. 1042 00:50:26,950 --> 00:50:30,432 That also helps with academic honesty as well. 1043 00:50:30,432 --> 00:50:33,140 So those were the five things that we think are really important. 1044 00:50:33,140 --> 00:50:35,182 And so I showed this to you a little bit earlier. 1045 00:50:35,182 --> 00:50:37,270 Every student has this dashboard, and I have 1046 00:50:37,270 --> 00:50:41,500 a master copy of that dashboard as an example in that Resources folder. 1047 00:50:41,500 --> 00:50:43,870 Correctness and style are automatically assessed, 1048 00:50:43,870 --> 00:50:46,030 so those automatically get filled in. 1049 00:50:46,030 --> 00:50:48,490 But we want to know, how did they do for abstraction, 1050 00:50:48,490 --> 00:50:50,920 code fluency, documentation? 1051 00:50:50,920 --> 00:50:56,140 These three are the ones that we assess for most problem sets. 1052 00:50:56,140 --> 00:50:58,910 And for others, we don't necessarily assess all of them. 1053 00:50:58,910 --> 00:51:02,800 But what we're really looking at is, we want to see what are the trends. 1054 00:51:02,800 --> 00:51:06,100 We also have kids-- every time we grade a problem 1055 00:51:06,100 --> 00:51:08,710 set, we ask kids to enter those scores for each 1056 00:51:08,710 --> 00:51:11,680 of those areas in their worksheet. 1057 00:51:11,680 --> 00:51:15,850 And then, we ask them to insert a note that explains in their own words 1058 00:51:15,850 --> 00:51:19,190 what they need to do to get a higher score next time-- 1059 00:51:19,190 --> 00:51:22,520 or if they got a green, what did they do so well? 1060 00:51:22,520 --> 00:51:25,465 And we try to encourage them not to frame it in the negative. 1061 00:51:25,465 --> 00:51:27,340 In other words, don't do this, don't do that. 1062 00:51:27,340 --> 00:51:31,900 We want to use positives like, define constants to eliminate magic numbers, 1063 00:51:31,900 --> 00:51:37,300 or use an if-else to avoid doing an extra 1064 00:51:37,300 --> 00:51:39,950 if check when it's not necessary-- those kinds of things. 1065 00:51:39,950 --> 00:51:41,930 So we want them to put it in their own words, 1066 00:51:41,930 --> 00:51:47,500 so that at a glance, when we conference with kids, we can say, you tell me. 1067 00:51:47,500 --> 00:51:50,500 Which of these areas are you doing best in? 1068 00:51:50,500 --> 00:51:52,660 Which of these areas are you improving in? 1069 00:51:52,660 --> 00:51:57,910 And we remove the focus from just being on the last problem set, to looking 1070 00:51:57,910 --> 00:51:59,300 at the trend across the year. 1071 00:51:59,300 --> 00:52:02,200 What does learning look like over a period of time? 1072 00:52:02,200 --> 00:52:05,350 And we try to provide lots of visual ways for kids to do it. 1073 00:52:05,350 --> 00:52:08,080 This way, these cells actually color automatically, 1074 00:52:08,080 --> 00:52:10,930 based on whether they put a 2, 3, or 4 in. 1075 00:52:10,930 --> 00:52:13,090 We send this home with our report cards. 1076 00:52:13,090 --> 00:52:16,060 We actually send home a radar plot that kind of 1077 00:52:16,060 --> 00:52:18,570 shows, across all of these axes, how are they 1078 00:52:18,570 --> 00:52:21,303 doing with respect to the rest of the class. 1079 00:52:21,303 --> 00:52:23,220 We're trying to provide lots of different ways 1080 00:52:23,220 --> 00:52:24,910 to visualize, how are they doing. 1081 00:52:24,910 --> 00:52:28,152 So if we ask them, how are you doing in terms of your problem 1082 00:52:28,152 --> 00:52:31,360 solving and thinking about computational thinking, we don't want them to say, 1083 00:52:31,360 --> 00:52:33,780 I'm doing a B-plus. 1084 00:52:33,780 --> 00:52:35,200 Because what does that even mean? 1085 00:52:35,200 --> 00:52:38,400 So we want people to be able to say, well, 1086 00:52:38,400 --> 00:52:40,680 I'm doing really well in terms of seeing places 1087 00:52:40,680 --> 00:52:43,020 where I can use functions in abstraction. 1088 00:52:43,020 --> 00:52:44,250 That's, like, my top. 1089 00:52:44,250 --> 00:52:47,080 But I'm not doing so well in documenting my thinking, 1090 00:52:47,080 --> 00:52:48,580 so I got to do better with comments. 1091 00:52:48,580 --> 00:52:52,540 So we want kids to be able to articulate it at that level of detail. 1092 00:52:52,540 --> 00:52:55,080 So these are the messages we tell parents. 1093 00:52:55,080 --> 00:52:58,080 And this by the way, is something that we do in the spring. 1094 00:52:58,080 --> 00:53:01,080 We actually hold a parents conference over Zoom, and it's optional. 1095 00:53:01,080 --> 00:53:04,418 But parents who are seeing their kids struggle with CS50 throughout the year, 1096 00:53:04,418 --> 00:53:06,960 and they want to come and ask questions-- we invite everybody 1097 00:53:06,960 --> 00:53:11,190 to come to ask questions, but also to see their artwork, 1098 00:53:11,190 --> 00:53:13,410 to see the work that the students have been doing, 1099 00:53:13,410 --> 00:53:19,650 and see that we place a priority on students' social emotional wellness, 1100 00:53:19,650 --> 00:53:22,370 on students collaborating and working with each other. 1101 00:53:22,370 --> 00:53:25,330 These are the messages that we reinforce to students. 1102 00:53:25,330 --> 00:53:30,310 And so we ask the parents to help us with reinforcing these same ideas. 1103 00:53:30,310 --> 00:53:34,470 The first message we give them is, we spend a lot of time coding in class. 1104 00:53:34,470 --> 00:53:38,062 I'll spend, like, up to, like, an hour, out of a 70-minute class, 1105 00:53:38,062 --> 00:53:40,770 giving them time just to work in the problem sets at their tables 1106 00:53:40,770 --> 00:53:42,100 with each other. 1107 00:53:42,100 --> 00:53:46,200 But especially in the second semester, they have to do work outside of class. 1108 00:53:46,200 --> 00:53:48,750 They cannot just do work in class. 1109 00:53:48,750 --> 00:53:51,600 They have to be doing some work outside of class. 1110 00:53:51,600 --> 00:53:53,722 And unlike a class that assigns daily homework, 1111 00:53:53,722 --> 00:53:55,680 they've got a problem set that's due in a week. 1112 00:53:55,680 --> 00:53:57,990 They have to do a little bit each day. 1113 00:53:57,990 --> 00:54:02,190 And so we kind of try to emphasize that with kids and with the parents. 1114 00:54:02,190 --> 00:54:04,350 The second one is to follow the 45-minute rule. 1115 00:54:04,350 --> 00:54:06,420 The 45-minute rule basically is, if you've 1116 00:54:06,420 --> 00:54:09,990 been stuck on the same problem or portion of a problem for 45 minutes, 1117 00:54:09,990 --> 00:54:11,940 you need to stop. 1118 00:54:11,940 --> 00:54:15,270 And either work on something else, or work on a different subject, 1119 00:54:15,270 --> 00:54:18,450 or even just go to sleep, and wake up the next day and look at it again. 1120 00:54:18,450 --> 00:54:21,630 Because-- you know, and I tell them, you're smart and you're resourceful. 1121 00:54:21,630 --> 00:54:23,280 And if you've been stuck on this for 45 minutes, 1122 00:54:23,280 --> 00:54:24,988 spending three hours on the same problem, 1123 00:54:24,988 --> 00:54:26,610 you're probably not going to solve it. 1124 00:54:26,610 --> 00:54:28,380 You need to change things up a little bit. 1125 00:54:28,380 --> 00:54:31,410 Maybe talk to a TA or talk to me, but only spend 45 minutes on this, 1126 00:54:31,410 --> 00:54:33,540 and then take a break. 1127 00:54:33,540 --> 00:54:35,520 We remind them not to take ethical shortcuts. 1128 00:54:35,520 --> 00:54:37,710 We actually do check everything. 1129 00:54:37,710 --> 00:54:40,890 Everything kids turn in, we run through-- 1130 00:54:40,890 --> 00:54:43,380 we use Moss and we use compare50. 1131 00:54:43,380 --> 00:54:47,820 And we are concerned more with kids copying stuff off the web 1132 00:54:47,820 --> 00:54:51,180 rather than copying from each other. 1133 00:54:51,180 --> 00:54:55,752 If we see kids copying from each other, we'll usually have a talk with them 1134 00:54:55,752 --> 00:54:56,460 and counsel them. 1135 00:54:56,460 --> 00:54:59,130 But if they just wholesale copy and paste something 1136 00:54:59,130 --> 00:55:02,190 that they found off the web, we will usually 1137 00:55:02,190 --> 00:55:04,530 refer that to the academic deans. 1138 00:55:04,530 --> 00:55:06,990 And every year, we have about 10% of the kids that do that. 1139 00:55:06,990 --> 00:55:11,850 And I'm convinced we would have more if we did not emphasize so much with them 1140 00:55:11,850 --> 00:55:16,590 what collaboration is, and provide lots of support for them 1141 00:55:16,590 --> 00:55:19,080 to get help through office hours and through TFs, 1142 00:55:19,080 --> 00:55:22,188 and through our online forums to get help. 1143 00:55:22,188 --> 00:55:25,230 We also really cover time management, because a lot of the time, students 1144 00:55:25,230 --> 00:55:27,750 are not cheating because they're fundamentally dishonest. 1145 00:55:27,750 --> 00:55:30,630 They're cheating, because they're just stressed out, and out of time, 1146 00:55:30,630 --> 00:55:32,338 and they haven't managed their time well. 1147 00:55:32,338 --> 00:55:35,560 And so we're trying to help them with that. 1148 00:55:35,560 --> 00:55:39,000 But for the majority of kids who do the work honestly, 1149 00:55:39,000 --> 00:55:41,542 I see it as our responsibility to come down 1150 00:55:41,542 --> 00:55:43,500 on the kids who are cheating and turning it in. 1151 00:55:43,500 --> 00:55:45,708 Because I don't want to be the course where kids say, 1152 00:55:45,708 --> 00:55:49,305 the easy way to pass this course is just to cheat, because they never check. 1153 00:55:49,305 --> 00:55:51,930 And then, this is probably the hardest thing with our students. 1154 00:55:51,930 --> 00:55:53,200 It's OK if it's not perfect. 1155 00:55:53,200 --> 00:55:55,170 We have such a culture of perfectionism here. 1156 00:55:55,170 --> 00:55:57,828 Kids will beat their heads against the same wall 1157 00:55:57,828 --> 00:55:59,370 for three hours trying to be perfect. 1158 00:55:59,370 --> 00:56:02,970 They'll be afraid to turn something in if it passes 19 out of 20 checks. 1159 00:56:02,970 --> 00:56:04,740 We tell them, look, just turn it in. 1160 00:56:04,740 --> 00:56:06,960 Turn it in, so I can give you feedback on your work. 1161 00:56:06,960 --> 00:56:09,150 It's OK if it's not perfect. 1162 00:56:09,150 --> 00:56:13,170 And that's really important to kind of give-- continually give that message. 1163 00:56:13,170 --> 00:56:14,730 We just want you to do your best. 1164 00:56:14,730 --> 00:56:17,370 And when the time is up, turn in what you got, and then move 1165 00:56:17,370 --> 00:56:20,790 on to the next problem set. 1166 00:56:20,790 --> 00:56:23,610 This is kind of our whole thing. 1167 00:56:23,610 --> 00:56:25,960 This is kind of what this looks like for us. 1168 00:56:25,960 --> 00:56:28,680 We start with CS1, which is CS50. 1169 00:56:28,680 --> 00:56:30,810 Everybody has to take CS1. 1170 00:56:30,810 --> 00:56:33,660 And then, from there, they have a choice. 1171 00:56:33,660 --> 00:56:35,700 Once they finish a year of CS50, they can go on 1172 00:56:35,700 --> 00:56:38,160 to do app design, which we teach in Swift. 1173 00:56:38,160 --> 00:56:40,065 Or they can go on to our AP Computer Science 1174 00:56:40,065 --> 00:56:43,230 A course, which is taught in Java, and it follows the AP Computer Science 1175 00:56:43,230 --> 00:56:44,550 curriculum. 1176 00:56:44,550 --> 00:56:47,440 From that, they can then go on to an advanced topics course, 1177 00:56:47,440 --> 00:56:49,530 which is a rotating smorgasbord. 1178 00:56:49,530 --> 00:56:51,780 Sometimes we do machine learning AIs, sometimes do 1179 00:56:51,780 --> 00:56:54,900 web development, game design, that kind of thing. 1180 00:56:54,900 --> 00:56:58,520 Or kids might choose to do independent study. 1181 00:56:58,520 --> 00:57:00,560 We see kids following two branches. 1182 00:57:00,560 --> 00:57:03,830 The kids who are pretty much just want to make stuff-- 1183 00:57:03,830 --> 00:57:05,030 like, they're makers. 1184 00:57:05,030 --> 00:57:06,320 They want to make apps. 1185 00:57:06,320 --> 00:57:07,830 They want to change the world. 1186 00:57:07,830 --> 00:57:10,520 They want to do stuff that has an immediate impact. 1187 00:57:10,520 --> 00:57:13,610 Those kids, after CS50, will go on to take app design, 1188 00:57:13,610 --> 00:57:16,340 and then off in an independent study to work on a project that 1189 00:57:16,340 --> 00:57:17,780 is meaningful to them. 1190 00:57:17,780 --> 00:57:19,640 Other students either want the AP credit, 1191 00:57:19,640 --> 00:57:24,060 or they want a good, strong foundation in data structures. 1192 00:57:24,060 --> 00:57:28,400 So they'll go on to take CS2, which is our AP course, and then they'll go on, 1193 00:57:28,400 --> 00:57:29,900 and then they'll do advanced topics. 1194 00:57:29,900 --> 00:57:32,810 And some kids who take app design, we pass on to advanced topics. 1195 00:57:32,810 --> 00:57:35,510 But most of them go from app design to take CS2, and then 1196 00:57:35,510 --> 00:57:37,490 on to advanced topics. 1197 00:57:37,490 --> 00:57:39,800 Advanced topics is mostly taught in Python. 1198 00:57:39,800 --> 00:57:45,110 So that is pretty much what I got. 1199 00:57:45,110 --> 00:57:49,820 I do want to thank you for coming to this. 1200 00:57:49,820 --> 00:57:52,970 I want to share all of those resources there, and encourage 1201 00:57:52,970 --> 00:57:54,050 you to look at those. 1202 00:57:54,050 --> 00:57:57,170 Hopefully, those will be helpful to you. 1203 00:57:57,170 --> 00:58:06,020 I will pop my email in chat, so that if you have any questions at all 1204 00:58:06,020 --> 00:58:10,820 throughout the year about anything, please feel free to contact me. 1205 00:58:10,820 --> 00:58:14,180 And I am really excited. 1206 00:58:14,180 --> 00:58:20,060 Again, like I said, the biggest benefit from me using CS50 as a curriculum 1207 00:58:20,060 --> 00:58:24,380 has been the community that I have gotten along with it-- just, 1208 00:58:24,380 --> 00:58:28,410 some really fantastic teachers who are doing incredibly creative things. 1209 00:58:28,410 --> 00:58:31,790 And so I'd encourage us all to kind of reach out to all of us 1210 00:58:31,790 --> 00:58:35,210 here in the community and take advantage of the vast amount of knowledge 1211 00:58:35,210 --> 00:58:39,160 that we have here-- the global knowledge. 1212 00:58:39,160 --> 00:58:40,000