1 00:00:00,000 --> 00:00:02,250 2 00:00:02,250 --> 00:00:05,120 DOUGLAS KIANG: Thank you to Carter, and Bernie, and David 3 00:00:05,120 --> 00:00:08,960 for inviting me here to share what I do in my classroom. 4 00:00:08,960 --> 00:00:14,240 I teach at Menlo School, which is in the Bay Area in Silicon Valley, 5 00:00:14,240 --> 00:00:19,490 but I recently moved from Hawaii, where I taught at Punahou School. 6 00:00:19,490 --> 00:00:23,990 So a lot of what I'm sharing I did back in Hawaii, 7 00:00:23,990 --> 00:00:27,920 and now I'm trying to do this at a different school. 8 00:00:27,920 --> 00:00:32,720 But they're both private schools, and you 9 00:00:32,720 --> 00:00:34,310 know I teach at the high school level. 10 00:00:34,310 --> 00:00:38,330 So I teach probably two to three sections of CS50 11 00:00:38,330 --> 00:00:43,255 depending on enrollment, between 14 and 20 kids per section. 12 00:00:43,255 --> 00:00:45,380 And a lot of the tools that I'm going to talk about 13 00:00:45,380 --> 00:00:48,290 that the CS50 folks have developed have just really 14 00:00:48,290 --> 00:00:50,690 made it possible for me to teach this course. 15 00:00:50,690 --> 00:00:53,480 It would be hard to manage without things like check50, 16 00:00:53,480 --> 00:00:58,190 and the online submission platform, those kinds of things. 17 00:00:58,190 --> 00:01:01,940 I think Carter sent out links to other presentations 18 00:01:01,940 --> 00:01:04,580 that they've done to do sort of a walk through of those tools. 19 00:01:04,580 --> 00:01:09,260 I'm going to just show you what I do, but not necessarily how I do it. 20 00:01:09,260 --> 00:01:12,500 For a walk through of how to use a lot of those tools, 21 00:01:12,500 --> 00:01:14,760 you can look at some of these other videos and things. 22 00:01:14,760 --> 00:01:19,252 But with that said, let me share a little bit about what I'm doing. 23 00:01:19,252 --> 00:01:20,960 And what I'm planning on talking about is 24 00:01:20,960 --> 00:01:23,150 I'm planning on talking about these six things, 25 00:01:23,150 --> 00:01:24,990 hopefully I can get through all of these. 26 00:01:24,990 --> 00:01:27,740 And I'll be hanging out during the reflection if people have other 27 00:01:27,740 --> 00:01:32,570 questions or follow-ups, and certainly post things into chat as well as you 28 00:01:32,570 --> 00:01:33,230 have-- 29 00:01:33,230 --> 00:01:34,980 as you have questions. 30 00:01:34,980 --> 00:01:37,520 So let's talk a little bit about how I structure a lesson. 31 00:01:37,520 --> 00:01:40,070 So when I introduce a new computer science concept, 32 00:01:40,070 --> 00:01:42,230 I think about in three parts. 33 00:01:42,230 --> 00:01:45,530 I introduce the concepts through an unplugged activity, 34 00:01:45,530 --> 00:01:47,870 I introduce the skills through a bird-- what 35 00:01:47,870 --> 00:01:50,710 I call a birdhouse activity, or a guided activity, 36 00:01:50,710 --> 00:01:52,460 and then I'll usually try to give the kids 37 00:01:52,460 --> 00:01:57,270 some kind of an independent project to show that they can apply those skills. 38 00:01:57,270 --> 00:02:00,770 And I do this in all my CS classes, whether it's CS50 or anything else. 39 00:02:00,770 --> 00:02:03,260 I just find that this framework works really well. 40 00:02:03,260 --> 00:02:06,260 Let me tell you a little bit about what each of these steps is. 41 00:02:06,260 --> 00:02:10,190 So an unplugged activity, as you probably know, 42 00:02:10,190 --> 00:02:14,390 is an activity that generally takes place traditionally, not on a computer, 43 00:02:14,390 --> 00:02:16,640 but of course now we're all on computers all the time. 44 00:02:16,640 --> 00:02:18,260 So-- but I try to-- 45 00:02:18,260 --> 00:02:22,580 I find that when kids sit in front of an IDE, a lot of the time they get very-- 46 00:02:22,580 --> 00:02:25,470 they get tunnel vision, on the code and on the syntax. 47 00:02:25,470 --> 00:02:28,860 But it's really important for kids to get the concepts first. 48 00:02:28,860 --> 00:02:32,510 And so as an example, if we're talking about sorting. 49 00:02:32,510 --> 00:02:35,730 We have an array of numbers, and we have an unsorted array at the top, 50 00:02:35,730 --> 00:02:39,512 and we want to move from there down to the bottom where it's sorted. 51 00:02:39,512 --> 00:02:41,970 I usually will start the conversation by just saying, well, 52 00:02:41,970 --> 00:02:43,880 how might we go about doing this? 53 00:02:43,880 --> 00:02:46,910 Give kids a bunch of stack of papers, or other objects have them-- 54 00:02:46,910 --> 00:02:49,230 how would you sort them? 55 00:02:49,230 --> 00:02:52,460 And what's interesting is most kids-- 56 00:02:52,460 --> 00:02:55,100 and most teachers-- if you had a stack of papers, 57 00:02:55,100 --> 00:02:58,220 the way you normally would sort it is probably insertion sort. 58 00:02:58,220 --> 00:03:00,620 You take each piece paper out of the pile, 59 00:03:00,620 --> 00:03:04,370 and you put it where it needs to be in the sorted pile. 60 00:03:04,370 --> 00:03:07,970 But the first thing, of course, we teach is the pseudocode around bubble sort, 61 00:03:07,970 --> 00:03:10,880 because it's simple and it's kind of easy to get your head around. 62 00:03:10,880 --> 00:03:14,250 But it's not the way that a human being would naturally sort anything. 63 00:03:14,250 --> 00:03:17,858 And so what I'll often do is I'll use gallery view in Zoom. 64 00:03:17,858 --> 00:03:20,900 What I used to do in person, when we were face to face, is I'd have the-- 65 00:03:20,900 --> 00:03:23,480 I'd pick like eight kids, and I'd give them a sheet of paper 66 00:03:23,480 --> 00:03:25,640 with a number on it, and they'd stand at the front of the room. 67 00:03:25,640 --> 00:03:27,500 But since we've been on Zoom, this is one 68 00:03:27,500 --> 00:03:29,750 of the few things I found that Zoom actually, I think, 69 00:03:29,750 --> 00:03:31,160 does better than face to face. 70 00:03:31,160 --> 00:03:34,850 Because you can grab-- if you go to the upper right-hand corner, 71 00:03:34,850 --> 00:03:36,860 and you see that speaker view, gallery view. 72 00:03:36,860 --> 00:03:40,310 If you put yourself in gallery view so you can see a grid of everybody, 73 00:03:40,310 --> 00:03:45,230 you can try just dragging somebody's head-- and try dragging them around, 74 00:03:45,230 --> 00:03:46,250 you should be able to. 75 00:03:46,250 --> 00:03:50,660 Or at least, in my school, on my Zoom, you can drag people around. 76 00:03:50,660 --> 00:03:53,120 Maybe it's because I'm not the host or something. 77 00:03:53,120 --> 00:03:57,487 But you can-- I find that you can actually talk about, OK, 78 00:03:57,487 --> 00:03:58,820 let's take the first two people. 79 00:03:58,820 --> 00:04:02,110 And for me it's [? Ahmad ?] and myself, and he 80 00:04:02,110 --> 00:04:05,360 comes before me because A comes before D. So we're going to stay where we are. 81 00:04:05,360 --> 00:04:07,880 Then it's Douglas and Carter, Carter is going 82 00:04:07,880 --> 00:04:10,040 to come before me because C comes before D, 83 00:04:10,040 --> 00:04:12,320 so I would just reach over and swap the two of them. 84 00:04:12,320 --> 00:04:18,870 And I can have the students practice each of the sorts this way. 85 00:04:18,870 --> 00:04:24,220 And once they've done that, then we can go on to selection sort, 86 00:04:24,220 --> 00:04:25,220 go on to insertion sort. 87 00:04:25,220 --> 00:04:27,770 So that's an example of an unplugged activity. 88 00:04:27,770 --> 00:04:30,560 And when I do it in person, it's always tough because the kids who 89 00:04:30,560 --> 00:04:32,935 are standing in front of the classroom holding the signs, 90 00:04:32,935 --> 00:04:34,158 they don't see the sort. 91 00:04:34,158 --> 00:04:36,200 So I've got to run it a bunch of different times, 92 00:04:36,200 --> 00:04:39,600 and pull different kids up and convince them to go stand in front of the class, 93 00:04:39,600 --> 00:04:41,060 and it takes longer. 94 00:04:41,060 --> 00:04:44,457 But I found this activity is actually quicker on Zoom in gallery view. 95 00:04:44,457 --> 00:04:46,040 And then, there used to be a feature-- 96 00:04:46,040 --> 00:04:48,665 I don't know if they've hidden it, Zoom keeps changing things-- 97 00:04:48,665 --> 00:04:51,980 but there was a way where I could force my order to everybody else, 98 00:04:51,980 --> 00:04:53,820 I could push it out to everybody else. 99 00:04:53,820 --> 00:04:55,200 So everybody else sees the order. 100 00:04:55,200 --> 00:04:57,680 So I would have kids do their sort, and then 101 00:04:57,680 --> 00:05:00,960 push it out so that we could see it. 102 00:05:00,960 --> 00:05:03,778 So that's a unplugged activity. 103 00:05:03,778 --> 00:05:05,320 Then we go to the birdhouse activity. 104 00:05:05,320 --> 00:05:07,370 And a birdhouse activity-- 105 00:05:07,370 --> 00:05:09,940 you know when I was in school, we had wood shop, 106 00:05:09,940 --> 00:05:11,470 and everybody made a birdhouse. 107 00:05:11,470 --> 00:05:13,750 That was one of your first projects, right? 108 00:05:13,750 --> 00:05:16,678 And the thing about a birdhouse, everybody makes the same thing. 109 00:05:16,678 --> 00:05:18,970 They give you the plans, everybody does the same thing. 110 00:05:18,970 --> 00:05:20,980 Why are they always the same? 111 00:05:20,980 --> 00:05:23,890 112 00:05:23,890 --> 00:05:26,230 Because it's easy to assess, right? 113 00:05:26,230 --> 00:05:28,370 You know what it's supposed to look like. 114 00:05:28,370 --> 00:05:30,670 So if someone turns in a birdhouse, and the roofs a little crooked, 115 00:05:30,670 --> 00:05:33,920 you know OK, you've got to work in your cutting skills, your measuring skills. 116 00:05:33,920 --> 00:05:37,820 It's easier to assess skills when everybody's doing the same thing. 117 00:05:37,820 --> 00:05:41,260 The problem with most schools is that they stop after the birdhouse activity. 118 00:05:41,260 --> 00:05:44,270 They say, OK we taught the skills, we assessed the skills, we're good. 119 00:05:44,270 --> 00:05:46,360 Let's move on. 120 00:05:46,360 --> 00:05:49,450 The problem is, with a birdhouse activity, 121 00:05:49,450 --> 00:05:52,750 you don't ever really get a sense for, can they 122 00:05:52,750 --> 00:05:55,360 apply that knowledge in a new context? 123 00:05:55,360 --> 00:05:57,985 If they can regurgitate it to you, OK they've memorized it. 124 00:05:57,985 --> 00:05:59,860 But they haven't really learned it until they 125 00:05:59,860 --> 00:06:01,690 can demonstrate that they know how to call 126 00:06:01,690 --> 00:06:04,260 on those skills in a different situation. 127 00:06:04,260 --> 00:06:08,130 So later on in the course, we teach Python and dictionaries. 128 00:06:08,130 --> 00:06:13,393 So I use CS50's sandbox tool to create what I call birdhouse activities, 129 00:06:13,393 --> 00:06:15,810 or guided activities, where everybody does the same thing. 130 00:06:15,810 --> 00:06:17,540 So here are some examples of prompts. 131 00:06:17,540 --> 00:06:22,340 I give them a link to some content, hey go look at these dictionary-- 132 00:06:22,340 --> 00:06:24,120 go read up about dictionaries if you want 133 00:06:24,120 --> 00:06:26,030 to learn about dictionaries in Python. 134 00:06:26,030 --> 00:06:29,120 Then create a car, I give them a line-- line 3 is an example of how 135 00:06:29,120 --> 00:06:31,928 to construct a car dictionary-- 136 00:06:31,928 --> 00:06:34,220 and then I just give them a bunch of things to work on. 137 00:06:34,220 --> 00:06:35,600 OK, I want you to print out. 138 00:06:35,600 --> 00:06:38,750 Go through there and print out the description of the car, 139 00:06:38,750 --> 00:06:40,700 And then create three more cars. 140 00:06:40,700 --> 00:06:45,110 And then create a list called garage and it contains all of those cars. 141 00:06:45,110 --> 00:06:47,750 And then, now all of a sudden, hey, you've got a brand new car! 142 00:06:47,750 --> 00:06:50,603 You get to choose all of that information, now add it to the garage. 143 00:06:50,603 --> 00:06:52,520 And there's a bonus if you can create that car 144 00:06:52,520 --> 00:06:54,560 and add it in a single line of code. 145 00:06:54,560 --> 00:06:57,908 Not all kids can do that, some really relish that challenge. 146 00:06:57,908 --> 00:07:00,200 And then iterate through the list, and print out, OK, I 147 00:07:00,200 --> 00:07:02,180 have a whatever for each car. 148 00:07:02,180 --> 00:07:06,470 Now these are the steps that kids need to do 149 00:07:06,470 --> 00:07:10,490 for DNA and for World Cup, which are two Python activities in the CS50 150 00:07:10,490 --> 00:07:12,320 curriculum. 151 00:07:12,320 --> 00:07:16,643 And when kids get stuck, I always tell them go back to when we did the cars. 152 00:07:16,643 --> 00:07:17,560 You remember the cars? 153 00:07:17,560 --> 00:07:19,200 Do you remember what the garage was? 154 00:07:19,200 --> 00:07:20,950 The garage was a list of dictionaries, how 155 00:07:20,950 --> 00:07:25,240 did you assess the value for a given key in one of the dictionaries in the list? 156 00:07:25,240 --> 00:07:27,500 And we talk them through that. 157 00:07:27,500 --> 00:07:29,800 But the way that I think of the problem set 158 00:07:29,800 --> 00:07:32,710 is it's the application of the skills that we've 159 00:07:32,710 --> 00:07:37,720 taught, through the unplugged activity and the birdhouse activity. 160 00:07:37,720 --> 00:07:39,730 For the sorting thing that we just talked about, 161 00:07:39,730 --> 00:07:42,640 what I might do after I did the sorting in gallery view on Zoom is 162 00:07:42,640 --> 00:07:45,190 I might take them to a sandbox and say, OK. 163 00:07:45,190 --> 00:07:48,460 I've already created these prototypes, and I've even 164 00:07:48,460 --> 00:07:51,640 created a way to print out the contents of this array. 165 00:07:51,640 --> 00:07:54,700 But what you need to do is write the bubble sort algorithm 166 00:07:54,700 --> 00:07:56,290 that's going to sort these things. 167 00:07:56,290 --> 00:07:59,200 And we'll do this together as a class. 168 00:07:59,200 --> 00:08:02,860 And then later when we go and we do a problem set that involves sorting, 169 00:08:02,860 --> 00:08:05,140 they already kind of have the write code, 170 00:08:05,140 --> 00:08:08,690 but they have to tweak it and change it a little bit. 171 00:08:08,690 --> 00:08:12,160 But the sandbox is really helpful, because you can go back to sandbox 172 00:08:12,160 --> 00:08:14,600 and you can see all your recently used sandboxes. 173 00:08:14,600 --> 00:08:18,350 So I'm always encouraging kids to go back to the CS50 sandbox, 174 00:08:18,350 --> 00:08:21,340 try out their code there, try out examples. 175 00:08:21,340 --> 00:08:24,640 The one thing I do insist that they do, is they go to the down arrow 176 00:08:24,640 --> 00:08:26,780 and name all their sandboxes. 177 00:08:26,780 --> 00:08:30,178 If you don't name the sandbox it ends up with a random name, 178 00:08:30,178 --> 00:08:32,470 and it's really hard for kids to look through that list 179 00:08:32,470 --> 00:08:33,299 and figure out what it is. 180 00:08:33,299 --> 00:08:35,380 So I always tell them-- you train them from the beginning-- 181 00:08:35,380 --> 00:08:38,672 the first thing you do, name the sandbox so you know what it is I'm working on. 182 00:08:38,672 --> 00:08:41,270 183 00:08:41,270 --> 00:08:43,575 So birdhouse activities like I was talking about. 184 00:08:43,575 --> 00:08:45,950 These are guided activities, you're walking kids through, 185 00:08:45,950 --> 00:08:49,790 you're giving them the code they are learning these new skills. 186 00:08:49,790 --> 00:08:52,570 So they're really high on new skills acquisition, 187 00:08:52,570 --> 00:08:57,284 but the problem is they're really low on creativity. 188 00:08:57,284 --> 00:09:01,440 Because you can't really do that much with a guided activity, right? 189 00:09:01,440 --> 00:09:04,620 Like if you're making a birdhouse, how do you differentiate your birdhouse? 190 00:09:04,620 --> 00:09:06,828 You might paint it a different color, but that's just 191 00:09:06,828 --> 00:09:07,890 a superficial difference. 192 00:09:07,890 --> 00:09:10,380 You don't really know if they have the cutting 193 00:09:10,380 --> 00:09:16,080 and the measuring skills really solid until they apply them in a new way, 194 00:09:16,080 --> 00:09:18,850 or demonstrate their understanding in a different way. 195 00:09:18,850 --> 00:09:21,070 And so that's why I give them an independent project. 196 00:09:21,070 --> 00:09:25,110 And an independent project is very low on new skills acquisition, 197 00:09:25,110 --> 00:09:28,080 because I'm not asking them to gain new skills. 198 00:09:28,080 --> 00:09:30,540 What I'm asking them to do is demonstrate them 199 00:09:30,540 --> 00:09:34,410 in a creative and meaningful way that's personal to them. 200 00:09:34,410 --> 00:09:39,730 And that's why independent projects and birdhouse activities go hand in hand. 201 00:09:39,730 --> 00:09:42,090 Some schools just skip the birdhouse activity entirely. 202 00:09:42,090 --> 00:09:43,620 They say, hey, we're going to learn to make an app. 203 00:09:43,620 --> 00:09:46,080 Go teach yourself, the internet's a wonderful place. 204 00:09:46,080 --> 00:09:49,428 And the problem with that is, how do you assess the skills? 205 00:09:49,428 --> 00:09:50,970 You don't know what skills they have. 206 00:09:50,970 --> 00:09:54,840 They might be able to do it, but they're learning from YouTube, or wherever. 207 00:09:54,840 --> 00:09:55,840 It's all over the place. 208 00:09:55,840 --> 00:09:58,260 So you can't really assess where the gaps 209 00:09:58,260 --> 00:10:02,010 are unless you have birdhouse activities-- guided activities-- first, 210 00:10:02,010 --> 00:10:06,520 and then you have them demonstrate them. 211 00:10:06,520 --> 00:10:09,430 So that's the application of it. 212 00:10:09,430 --> 00:10:12,180 So one of the things that I did is I said, OK, here's a challenge. 213 00:10:12,180 --> 00:10:15,990 Now that I've introduced you to sorting through Zoom, 214 00:10:15,990 --> 00:10:19,740 we've done some sandbox activities in Zoom, now what I want you to do 215 00:10:19,740 --> 00:10:21,708 is teach somebody how to do one of those sorts. 216 00:10:21,708 --> 00:10:24,000 And this is going back to what David was talking about, 217 00:10:24,000 --> 00:10:25,137 making the learning visual. 218 00:10:25,137 --> 00:10:26,220 How do you make it visual? 219 00:10:26,220 --> 00:10:29,130 Well my challenge to the kids is, you make it visual. 220 00:10:29,130 --> 00:10:32,550 You show me that you understand this by demonstrating what one of the sorts 221 00:10:32,550 --> 00:10:33,480 looks like. 222 00:10:33,480 --> 00:10:41,602 This person did stop motion, so chose a little Minecraft cow to kind of show-- 223 00:10:41,602 --> 00:10:43,060 so this is actually selection sort. 224 00:10:43,060 --> 00:10:46,880 225 00:10:46,880 --> 00:10:49,490 And what I really loved about this was all the creative ways 226 00:10:49,490 --> 00:10:51,073 that kids interpreted this assignment. 227 00:10:51,073 --> 00:10:53,542 They did it in all different kinds of ways. 228 00:10:53,542 --> 00:10:56,750 And they did it at the level of comfort that-- some kids didn't want to talk, 229 00:10:56,750 --> 00:11:00,870 so she didn't use sound at all which is fine. 230 00:11:00,870 --> 00:11:03,740 This person decided to illustrate insertion search 231 00:11:03,740 --> 00:11:10,410 and kind of edited the whole video together, put captions. 232 00:11:10,410 --> 00:11:12,660 So the kids just really took off with this assignment. 233 00:11:12,660 --> 00:11:16,069 [MUSIC PLAYING] 234 00:11:16,069 --> 00:11:19,480 235 00:11:19,480 --> 00:11:22,380 So when I ask myself, do they understand this? 236 00:11:22,380 --> 00:11:25,800 It's this kind of application that kind of tells me, oh, OK, they get it. 237 00:11:25,800 --> 00:11:30,730 They get the steps, and then they can apply it in a different context. 238 00:11:30,730 --> 00:11:33,820 And what I did is, I actually took some of these videos 239 00:11:33,820 --> 00:11:35,820 and I put them on one of the quizzes, because we 240 00:11:35,820 --> 00:11:37,380 have regular quizzes in my class. 241 00:11:37,380 --> 00:11:40,050 And I just took the sound out and I just showed the video 242 00:11:40,050 --> 00:11:42,300 and I said, can you tell me what kind of sort this is? 243 00:11:42,300 --> 00:11:44,938 And the kids should be able to recognize by looking 244 00:11:44,938 --> 00:11:47,730 at the movements, when they really understand it, what kind of sort 245 00:11:47,730 --> 00:11:50,250 they're looking at. 246 00:11:50,250 --> 00:11:51,960 All right, so that's lesson structure. 247 00:11:51,960 --> 00:11:54,840 I'm going to talk about planning the year in general, 248 00:11:54,840 --> 00:11:58,770 and in that folder what I have done-- 249 00:11:58,770 --> 00:12:01,590 let me go ahead and stop the share for a second here. 250 00:12:01,590 --> 00:12:06,000 I've given you a link, and I'm going to put this in chat here, 251 00:12:06,000 --> 00:12:09,360 this is a link to a shared drive folder, OK? 252 00:12:09,360 --> 00:12:13,980 And in that drive folder, I've got-- 253 00:12:13,980 --> 00:12:18,150 I've got kind of a-- 254 00:12:18,150 --> 00:12:23,230 my own unedited planning document that I put in here. 255 00:12:23,230 --> 00:12:26,327 So this-- I apologize for all these, they're just 256 00:12:26,327 --> 00:12:29,160 notes that I made to myself-- a lot of this stuff, some of the links 257 00:12:29,160 --> 00:12:31,452 don't work because they're internal links to my school, 258 00:12:31,452 --> 00:12:33,900 but I just wanted to give you a sense overall of what 259 00:12:33,900 --> 00:12:35,590 does the first semester look like. 260 00:12:35,590 --> 00:12:39,180 We start with Scratch, we have them do a little mini independent project, then 261 00:12:39,180 --> 00:12:43,920 Scratch, and then I just keep a Google Docs. 262 00:12:43,920 --> 00:12:47,280 And I don't share this with the kids, the way the kids know what to do 263 00:12:47,280 --> 00:12:48,570 is they go on Canvas. 264 00:12:48,570 --> 00:12:50,430 But this just reminds me what to do. 265 00:12:50,430 --> 00:12:53,280 And when I find links, or resources that I want to show, 266 00:12:53,280 --> 00:12:55,167 I just paste them in here. 267 00:12:55,167 --> 00:12:57,750 And I paste some notes to myself, and sometimes I do the class 268 00:12:57,750 --> 00:12:59,350 and it doesn't work really well. 269 00:12:59,350 --> 00:13:01,000 But I know I'm going to do it again. 270 00:13:01,000 --> 00:13:05,200 So I just make notes to myself of what I'm doing. 271 00:13:05,200 --> 00:13:09,052 So you know, kids I need to check in with in class 272 00:13:09,052 --> 00:13:11,760 because they're missing stuff, I kind of throw that in there too. 273 00:13:11,760 --> 00:13:15,360 A lot of the sandboxes where I'm doing the guided activities, 274 00:13:15,360 --> 00:13:18,370 the birdhouse activities, I put links in there they're all bit.ly links. 275 00:13:18,370 --> 00:13:21,120 So if you want to see some of my sandboxes, they're all here. 276 00:13:21,120 --> 00:13:25,050 But again, I apologize that I didn't organize this better for the workshop. 277 00:13:25,050 --> 00:13:30,737 This is really how I use it, and sort of in all of its messiness. 278 00:13:30,737 --> 00:13:33,820 But this will give you a pretty good sense, and that's the first semester. 279 00:13:33,820 --> 00:13:36,070 And then I also have the second semester here. 280 00:13:36,070 --> 00:13:41,780 So the only thing I will ask, just for privacy's purposes, is this is for us. 281 00:13:41,780 --> 00:13:44,870 So don't share this out on social media or anything like that. 282 00:13:44,870 --> 00:13:47,180 This is just for you and me. 283 00:13:47,180 --> 00:13:50,090 So-- if that's OK? 284 00:13:50,090 --> 00:13:50,590 All right. 285 00:13:50,590 --> 00:13:55,620 So let me go back to-- 286 00:13:55,620 --> 00:13:57,120 let me go back to my slides here. 287 00:13:57,120 --> 00:14:02,355 288 00:14:02,355 --> 00:14:04,730 So I want to talk a little bit about some of the details. 289 00:14:04,730 --> 00:14:08,090 That will give you a sense of what the year looks like for me. 290 00:14:08,090 --> 00:14:11,630 But what does the whole four year process look like for students? 291 00:14:11,630 --> 00:14:14,810 For all the students, the intro level course CS50. 292 00:14:14,810 --> 00:14:18,710 So any student who wants to take any CS class at Menlo School 293 00:14:18,710 --> 00:14:20,810 has to take CS50 first. 294 00:14:20,810 --> 00:14:24,825 And the way that we explain that to kids is we say, look, it's kind of like-- 295 00:14:24,825 --> 00:14:27,450 because a lot of kids, they go to summer camp and they're like, 296 00:14:27,450 --> 00:14:29,742 well, I already know Python, or I already started Java, 297 00:14:29,742 --> 00:14:32,420 so why can't I skip CS50 go on to CS A? 298 00:14:32,420 --> 00:14:35,540 And what we tell them is just because you can drive a car, 299 00:14:35,540 --> 00:14:37,310 doesn't mean you know how it works, right? 300 00:14:37,310 --> 00:14:40,040 Like one of these higher level languages, like Python and Java, 301 00:14:40,040 --> 00:14:42,410 it's kind of like driving an automatic car. 302 00:14:42,410 --> 00:14:46,130 But CS50 is like learning stick shift, and going in under the hood, 303 00:14:46,130 --> 00:14:47,630 and seeing how the engine works. 304 00:14:47,630 --> 00:14:50,750 Because we think that there is real value in understanding, 305 00:14:50,750 --> 00:14:54,260 at the level of bits and bytes, how computer science works. 306 00:14:54,260 --> 00:14:56,540 It's not enough just to know how to drive the car, 307 00:14:56,540 --> 00:14:58,980 you need to know how the car works. 308 00:14:58,980 --> 00:15:01,880 And when I explain it that way, kids-- 309 00:15:01,880 --> 00:15:04,490 many of them still don't get it, the parents do though. 310 00:15:04,490 --> 00:15:07,900 But that's a conversation with them about why we have this prerequisite. 311 00:15:07,900 --> 00:15:11,840 So at Menlo, all the middle schoolers have to take computer science, 312 00:15:11,840 --> 00:15:13,310 and it's all pass/fail. 313 00:15:13,310 --> 00:15:15,620 And so what we lobbied for this next year 314 00:15:15,620 --> 00:15:18,725 is that CS50, our intro level computer science course, 315 00:15:18,725 --> 00:15:20,960 is also credit/no credit. 316 00:15:20,960 --> 00:15:23,990 Which is a sea change because there are no other credit/no credit 317 00:15:23,990 --> 00:15:26,048 courses in the high school at Menlo. 318 00:15:26,048 --> 00:15:28,340 So we're going to be the first credit/no credit course. 319 00:15:28,340 --> 00:15:30,650 But I was inspired to do that after seeing 320 00:15:30,650 --> 00:15:34,730 what CS50 did at Harvard, making their course basically opting students 321 00:15:34,730 --> 00:15:36,835 into credit/no credit. 322 00:15:36,835 --> 00:15:38,210 We're going to do the same thing. 323 00:15:38,210 --> 00:15:40,730 We will give kids the option for grades, but what I've found 324 00:15:40,730 --> 00:15:46,640 is that the fixation on grades at schools like Menlo and Punahou 325 00:15:46,640 --> 00:15:49,298 is not great for learning something like computer science, 326 00:15:49,298 --> 00:15:51,590 because kids tend to look around at each other too much 327 00:15:51,590 --> 00:15:54,050 and start making too many judgments about their fitness 328 00:15:54,050 --> 00:15:55,370 or their readiness for it. 329 00:15:55,370 --> 00:15:57,200 I mean this is a new language, and I'm used 330 00:15:57,200 --> 00:16:00,015 to seeing kids struggle in the beginning before the curtain goes up 331 00:16:00,015 --> 00:16:01,640 and they're like, oh, this makes sense. 332 00:16:01,640 --> 00:16:03,640 That might not happen until the second semester. 333 00:16:03,640 --> 00:16:06,765 But I'll have kids who just won't even try computer science because they're 334 00:16:06,765 --> 00:16:08,210 afraid of getting a B-plus. 335 00:16:08,210 --> 00:16:09,690 They just won't even try it. 336 00:16:09,690 --> 00:16:14,600 So we're-- so next year, first year, it's going to be all credit/no credit. 337 00:16:14,600 --> 00:16:18,860 We went to-- we got-- 338 00:16:18,860 --> 00:16:22,500 we broke enrollment records this year by doing that. 339 00:16:22,500 --> 00:16:25,920 And we gave surveys about how important is the credit/no credit, 340 00:16:25,920 --> 00:16:28,250 turns out it's pretty important to kids. 341 00:16:28,250 --> 00:16:32,960 It convinced a lot of kids to take the course who would not otherwise 342 00:16:32,960 --> 00:16:35,510 have taken the course, and we have the data to show that. 343 00:16:35,510 --> 00:16:37,905 So that's why everybody comes in at CS50, 344 00:16:37,905 --> 00:16:39,780 and after specifically they have two choices. 345 00:16:39,780 --> 00:16:42,110 They can go to AP CS A, which is in Java, 346 00:16:42,110 --> 00:16:43,700 or they can take an app design course. 347 00:16:43,700 --> 00:16:48,620 We follow Apple's develop in Swift curriculum, which uses Xcode and Swift, 348 00:16:48,620 --> 00:16:51,680 and we'll have kids actually creating apps. 349 00:16:51,680 --> 00:16:55,190 After app design kids would normally go to CS A, 350 00:16:55,190 --> 00:16:58,177 but with permission they might go on to Advanced Topics. 351 00:16:58,177 --> 00:17:00,260 Advanced Topics really covers much more about data 352 00:17:00,260 --> 00:17:03,360 structures, and more than mathematical foundations of computer science. 353 00:17:03,360 --> 00:17:07,460 So it's fairly rigorous, so generally the progression would be you take CS A, 354 00:17:07,460 --> 00:17:10,829 then you go to Advanced Topics, and then we also have an Independent Study. 355 00:17:10,829 --> 00:17:13,190 So that's kind of how we've got it organized. 356 00:17:13,190 --> 00:17:16,839 357 00:17:16,839 --> 00:17:22,020 So in terms of planning the year, I'm going to-- 358 00:17:22,020 --> 00:17:24,329 I'm going to go through the chat afterward. 359 00:17:24,329 --> 00:17:25,150 I have a lot-- 360 00:17:25,150 --> 00:17:27,108 I've still got a bunch of stuff to get through. 361 00:17:27,108 --> 00:17:32,160 So if you'll bear with me, I'm going to circle back on those questions. 362 00:17:32,160 --> 00:17:36,600 I found that TAs are very important. 363 00:17:36,600 --> 00:17:39,810 The way that I convinced the school to go credit/no credit, part of what 364 00:17:39,810 --> 00:17:43,290 I said was, CS50 is not an easy course. 365 00:17:43,290 --> 00:17:47,580 It is a challenging, difficult course, especially for freshmen. 366 00:17:47,580 --> 00:17:49,050 And it's intentionally so. 367 00:17:49,050 --> 00:17:53,190 But my intention for an intro course is not 368 00:17:53,190 --> 00:17:58,020 to dumb it down and make it super easy just because we want to bring kids in. 369 00:17:58,020 --> 00:18:01,860 I think that kids can handle a rigorous curriculum if they have enough support, 370 00:18:01,860 --> 00:18:04,163 and CS50 has a lot of really great scaffolding. 371 00:18:04,163 --> 00:18:07,080 I think the shorts are really important, because some kids won't watch 372 00:18:07,080 --> 00:18:09,570 the lectures-- sorry, David-- 373 00:18:09,570 --> 00:18:10,620 despite what I do. 374 00:18:10,620 --> 00:18:12,510 But they'll watch the shorts, and they love the shorts. 375 00:18:12,510 --> 00:18:15,385 And other kids, they don't get the shorts but they love the lectures. 376 00:18:15,385 --> 00:18:18,540 So the more different ways you can provide information to kids 377 00:18:18,540 --> 00:18:21,420 about what they need to do, the better. 378 00:18:21,420 --> 00:18:24,750 And everything is built around the problem sets. 379 00:18:24,750 --> 00:18:28,320 I have TAs now, so I bring in TAs, I work very closely 380 00:18:28,320 --> 00:18:31,780 with students who are TAs who can work with other students. 381 00:18:31,780 --> 00:18:33,360 I showed you the Google Doc. 382 00:18:33,360 --> 00:18:35,970 We have them work on a new problem set about every week 383 00:18:35,970 --> 00:18:39,600 or so, might be 10 days if it's a difficult problem set. 384 00:18:39,600 --> 00:18:42,570 Larger problem sets I'll break up into parts, 385 00:18:42,570 --> 00:18:45,750 and I'm giving them regular feedback on the problem sets. 386 00:18:45,750 --> 00:18:49,590 For the most part we have them watch the lectures outside 387 00:18:49,590 --> 00:18:51,480 of class, that's their homework. 388 00:18:51,480 --> 00:18:53,602 In class they're working on the problem sets. 389 00:18:53,602 --> 00:18:55,560 So they come in, they work on the problem sets, 390 00:18:55,560 --> 00:18:58,080 but they're expected to have read the problem set 391 00:18:58,080 --> 00:19:02,340 and have watched the video when they come in. 392 00:19:02,340 --> 00:19:08,400 One of the things that has really helped a lot is I have been using Edpuzzle. 393 00:19:08,400 --> 00:19:12,360 And Edpuzzle is a great way to-- 394 00:19:12,360 --> 00:19:14,297 you'll know if kids watch the video or not. 395 00:19:14,297 --> 00:19:16,380 So I've actually taken a bunch of David's lectures 396 00:19:16,380 --> 00:19:18,420 and I've broken them up into about 20 minute chunks, because that's 397 00:19:18,420 --> 00:19:21,448 about as much as my high schoolers can watch at a given time. 398 00:19:21,448 --> 00:19:23,490 They'll watch a 20 minute portion of the lecture, 399 00:19:23,490 --> 00:19:25,410 they'll answer three or four multiple choice questions, 400 00:19:25,410 --> 00:19:27,030 and maybe one reflection question. 401 00:19:27,030 --> 00:19:29,940 And then I can see immediately who's viewed the video, 402 00:19:29,940 --> 00:19:32,130 and how long they've spent watching the video. 403 00:19:32,130 --> 00:19:35,700 Edpuzzle allows you to set up whether they can skip backwards or forwards, 404 00:19:35,700 --> 00:19:38,620 or what-- it gives you lots of tools. 405 00:19:38,620 --> 00:19:43,140 So I'm going to have my TAs convert all the lectures that I assign 406 00:19:43,140 --> 00:19:47,010 into Edpuzzle videos and write multiple choice questions for them, 407 00:19:47,010 --> 00:19:50,892 because I found that that's been very effective. 408 00:19:50,892 --> 00:19:53,350 And I've actually heard from my own students who have said, 409 00:19:53,350 --> 00:19:57,090 I tend to get distracted a lot, so thank you for putting these into Edpuzzle 410 00:19:57,090 --> 00:19:57,870 because it helps. 411 00:19:57,870 --> 00:20:01,290 So lectures are homework, in class is when I would normally 412 00:20:01,290 --> 00:20:03,325 walk around and meet with kids. 413 00:20:03,325 --> 00:20:03,825 Yeah. 414 00:20:03,825 --> 00:20:07,050 So Edpuzzle is-- someone can throw up a link to Edpuzzle-- 415 00:20:07,050 --> 00:20:09,090 Edpuzzle.org I think, or Edpuzzle.com. 416 00:20:09,090 --> 00:20:10,185 But it's free. 417 00:20:10,185 --> 00:20:13,387 418 00:20:13,387 --> 00:20:14,220 Yeah, you know what? 419 00:20:14,220 --> 00:20:15,387 Hold on, I'll just show you. 420 00:20:15,387 --> 00:20:17,840 421 00:20:17,840 --> 00:20:21,930 So yeah, I was stoked when I discovered them. 422 00:20:21,930 --> 00:20:24,360 Actually, my wife showed this to me. 423 00:20:24,360 --> 00:20:29,040 She uses it, she teaches CS in middle school. 424 00:20:29,040 --> 00:20:33,330 So you got to EdPuzzle-- yeah, EdPuzzle.com I guess is what it is. 425 00:20:33,330 --> 00:20:39,070 So I've taken-- so here is, let's see. 426 00:20:39,070 --> 00:20:42,220 Yeah, so here's the intro to Python. 427 00:20:42,220 --> 00:20:46,060 And I basically took one of his lectures, and you can just-- 428 00:20:46,060 --> 00:20:49,670 they can play the lecture from here. 429 00:20:49,670 --> 00:20:52,080 And every so often, it's going to stop. 430 00:20:52,080 --> 00:20:55,410 And it asks them this question. 431 00:20:55,410 --> 00:20:59,990 And the question is basically, did you watch the video, 432 00:20:59,990 --> 00:21:03,020 and can you answer this question? 433 00:21:03,020 --> 00:21:06,230 And often, I give myself permission-- like I 434 00:21:06,230 --> 00:21:08,990 love to get all the way through the CS50 curriculum, 435 00:21:08,990 --> 00:21:10,550 but it really depends on the class. 436 00:21:10,550 --> 00:21:12,470 Some years, we just don't get there. 437 00:21:12,470 --> 00:21:15,750 Some years we just go as far as Python and we don't get into HTML, CSS, 438 00:21:15,750 --> 00:21:16,583 and that's OK. 439 00:21:16,583 --> 00:21:18,500 This year I actually stopped a little earlier, 440 00:21:18,500 --> 00:21:23,630 because we covered less this year than I thought we were going to cover. 441 00:21:23,630 --> 00:21:27,610 But, you know, it's OK. 442 00:21:27,610 --> 00:21:30,790 We do puzzle day, I can't stress enough how important 443 00:21:30,790 --> 00:21:34,510 puzzle day is as a way for kids to come together early in the year. 444 00:21:34,510 --> 00:21:37,780 I know Angelo will probably talk more about the real importance of building 445 00:21:37,780 --> 00:21:40,982 culture and community, but I know earlier somebody in chat was saying, 446 00:21:40,982 --> 00:21:42,940 I'm finding it really hard to learn this stuff. 447 00:21:42,940 --> 00:21:44,762 I agree, this is not easy. 448 00:21:44,762 --> 00:21:46,720 But it is easier when you're with other people. 449 00:21:46,720 --> 00:21:50,342 So to whatever extent you can find other people to learn this stuff with, 450 00:21:50,342 --> 00:21:53,050 I think the easier it becomes, because you can support each other 451 00:21:53,050 --> 00:21:55,960 and people get stuck at different places. 452 00:21:55,960 --> 00:21:59,560 We do a hackathon, we collaborate with our local ACM group 453 00:21:59,560 --> 00:22:02,180 at one of the universities and they hosted our kids over. 454 00:22:02,180 --> 00:22:05,417 And these are college students helping the students out. 455 00:22:05,417 --> 00:22:07,750 We gave them time to work on their independent projects, 456 00:22:07,750 --> 00:22:09,460 and they kind of felt like they were grown-ups 457 00:22:09,460 --> 00:22:10,964 because they were at the University. 458 00:22:10,964 --> 00:22:13,610 459 00:22:13,610 --> 00:22:15,440 This is submit50. 460 00:22:15,440 --> 00:22:18,770 And submit50-- this is submit area, and this 461 00:22:18,770 --> 00:22:21,670 is kind of where I manage all of my assignments. 462 00:22:21,670 --> 00:22:25,745 So every time kids hit the submit50 link it ends up here, and I can check it. 463 00:22:25,745 --> 00:22:28,370 And so I can see how many kids submitted, and I can go in there 464 00:22:28,370 --> 00:22:30,290 and I can leave comments for kids. 465 00:22:30,290 --> 00:22:33,437 And so what I try to do is as soon as the kids turn this stuff in, 466 00:22:33,437 --> 00:22:35,270 I go through there and I give them comments. 467 00:22:35,270 --> 00:22:38,000 I give them in-line comments, and I also give them 468 00:22:38,000 --> 00:22:40,410 a summary comment at the end that basically says, 469 00:22:40,410 --> 00:22:42,410 here's where you're doing a really nice job. 470 00:22:42,410 --> 00:22:45,620 Here's where it maybe was falling down a little bit on correctness, 471 00:22:45,620 --> 00:22:48,290 or here are some ideas for design. 472 00:22:48,290 --> 00:22:50,780 It's a lot of work, especially if you've got a lot of kids, 473 00:22:50,780 --> 00:22:53,510 but it's really, really important. 474 00:22:53,510 --> 00:22:57,170 And what we know about learning is the sooner you give the feedback, 475 00:22:57,170 --> 00:22:58,550 the more effective it is. 476 00:22:58,550 --> 00:23:02,360 I found if I wait a week, or two weeks, to give feedback on a problem set, 477 00:23:02,360 --> 00:23:04,470 they're already working on the next problem set. 478 00:23:04,470 --> 00:23:06,380 So it's kind of pointless. 479 00:23:06,380 --> 00:23:10,280 So I try to just get on that as soon as I can. 480 00:23:10,280 --> 00:23:13,910 That's my biggest challenge, frankly, is giving timely, effective feedback. 481 00:23:13,910 --> 00:23:16,460 But I also know that it is one of the things that 482 00:23:16,460 --> 00:23:18,950 has the biggest impact for kids. 483 00:23:18,950 --> 00:23:21,950 And I actually keep notes on everything that I write, 484 00:23:21,950 --> 00:23:24,380 so every time I write a comment, I actually 485 00:23:24,380 --> 00:23:26,390 paste it into these text files. 486 00:23:26,390 --> 00:23:29,810 I have a whole folder full of text files with all the comments I've ever 487 00:23:29,810 --> 00:23:32,010 written on one of these problem sets. 488 00:23:32,010 --> 00:23:35,220 And so I start to define for myself what they are. 489 00:23:35,220 --> 00:23:37,550 And so for instance with Caesar. 490 00:23:37,550 --> 00:23:42,110 I have in all caps if they use an array, they used a single line of code 491 00:23:42,110 --> 00:23:46,505 to solve it, they have magic numbers in there, and they called isalpha, 492 00:23:46,505 --> 00:23:48,380 and they're just printing the characters out, 493 00:23:48,380 --> 00:23:49,940 then this is the general comment that I use. 494 00:23:49,940 --> 00:23:51,860 And I just copy and paste that in, and then I 495 00:23:51,860 --> 00:23:56,010 might tweak it a little bit for some of the individual things that I've seen. 496 00:23:56,010 --> 00:24:00,830 So I just have pages and pages of-- so I rarely have to write a comment from 497 00:24:00,830 --> 00:24:03,230 Scratch anymore, because I mostly have already got-- 498 00:24:03,230 --> 00:24:06,260 I've already seen something that was similar to what I saw students do, 499 00:24:06,260 --> 00:24:11,670 then I can paste in the feedback that way. 500 00:24:11,670 --> 00:24:14,940 Yeah, so that's a suggestion that I have for you, 501 00:24:14,940 --> 00:24:18,340 is any time you write these comments, just save them in a text file 502 00:24:18,340 --> 00:24:20,250 so you can reuse them. 503 00:24:20,250 --> 00:24:24,910 Final exam after the first semester basically is in two parts. 504 00:24:24,910 --> 00:24:27,240 So we have a multiple choice short answer, 505 00:24:27,240 --> 00:24:29,635 and then we also have two free response questions. 506 00:24:29,635 --> 00:24:32,760 And what I do ahead of time is I give the free response questions out ahead 507 00:24:32,760 --> 00:24:36,690 of time, because my goal is to have kids really think through it 508 00:24:36,690 --> 00:24:42,960 and work on it in their IDE, and I ask that they not-- 509 00:24:42,960 --> 00:24:45,640 that they not work with each other on that. 510 00:24:45,640 --> 00:24:49,900 And then I also have to do a multiple choice exam. 511 00:24:49,900 --> 00:24:53,550 So here's an example of just one of the questions that I gave them. 512 00:24:53,550 --> 00:24:56,010 And the whole exam is actually in that shared folder, 513 00:24:56,010 --> 00:25:02,010 but if I put in-- create a program where if I said calendar, 514 00:25:02,010 --> 00:25:06,360 and then I gave the day, the first day of the week, 515 00:25:06,360 --> 00:25:12,180 and the number of days in the calendar, it should print out each thing. 516 00:25:12,180 --> 00:25:15,443 And they have to use modulus to be able to do this and it's challenging, 517 00:25:15,443 --> 00:25:16,860 but a lot of kids said it was fun. 518 00:25:16,860 --> 00:25:21,010 They had a fun time with it. 519 00:25:21,010 --> 00:25:24,730 And then the quiz is actually on Canvas. 520 00:25:24,730 --> 00:25:26,770 And I worked pretty hard this year to try 521 00:25:26,770 --> 00:25:30,820 to come up with what I consider a cheat proof quiz, which is really hard. 522 00:25:30,820 --> 00:25:39,160 But the way that I did it is I did exam questions in banks in Canvas, 523 00:25:39,160 --> 00:25:42,970 and I separated them into easy, medium, and hard. 524 00:25:42,970 --> 00:25:46,120 And so the quizzes that kids got were randomly 525 00:25:46,120 --> 00:25:50,170 assigned because they picked five questions randomly from each bank, 526 00:25:50,170 --> 00:25:52,600 and then I had some that I gave to everybody. 527 00:25:52,600 --> 00:25:54,857 And then I randomized the order of the questions, 528 00:25:54,857 --> 00:25:57,565 and then I made it so kids could only see one question at a time. 529 00:25:57,565 --> 00:26:00,330 530 00:26:00,330 --> 00:26:04,650 And the questions themselves-- what I realized you can do in Canvas is-- 531 00:26:04,650 --> 00:26:08,340 I didn't want kids copying and pasting into their IDE or into sandbox 532 00:26:08,340 --> 00:26:10,270 to test these things out. 533 00:26:10,270 --> 00:26:13,510 So I actually realized that you can go into the HTML. 534 00:26:13,510 --> 00:26:16,290 And I embedded little characters, like an equal sign here, 535 00:26:16,290 --> 00:26:20,830 but I made it really small, like one point, and I made it appear invisible. 536 00:26:20,830 --> 00:26:24,930 And so there are invisible characters here that if you copy this whole thing, 537 00:26:24,930 --> 00:26:26,940 you copy it and you paste it in, what you 538 00:26:26,940 --> 00:26:32,624 get is slightly different from what the actual code is. 539 00:26:32,624 --> 00:26:37,140 Which is- my wife at some point pointed out this is kind of obsessive. 540 00:26:37,140 --> 00:26:39,880 And the thing is, what I found from working 541 00:26:39,880 --> 00:26:43,060 with students is that I think most, if not all, 542 00:26:43,060 --> 00:26:45,760 students feel a temptation to cheat. 543 00:26:45,760 --> 00:26:48,580 And most of the students don't. 544 00:26:48,580 --> 00:26:52,270 And they go through the pain and the hardship of figuring it out, 545 00:26:52,270 --> 00:26:53,770 because they want to do it honestly. 546 00:26:53,770 --> 00:26:58,360 About 10% of my kids will cheat, they'll succumb to that temptation. 547 00:26:58,360 --> 00:27:01,570 All of this work that I do is for the other 90%, 548 00:27:01,570 --> 00:27:05,170 because I want to honor those kids who faced the temptation to cheat, 549 00:27:05,170 --> 00:27:06,580 and still did it honestly anyway. 550 00:27:06,580 --> 00:27:10,360 Because fortunately most of the kids do that. 551 00:27:10,360 --> 00:27:13,090 And then the kids who do cheat, I've got to ding them on it just 552 00:27:13,090 --> 00:27:14,500 to keep everybody else honest. 553 00:27:14,500 --> 00:27:17,125 And so I'm going to talk a little bit more about that in a bit. 554 00:27:17,125 --> 00:27:19,400 But this is why I do a lot of these things. 555 00:27:19,400 --> 00:27:23,980 And so this-- so I felt that this quiz was fairly fair, 556 00:27:23,980 --> 00:27:25,400 but it was challenging for them. 557 00:27:25,400 --> 00:27:30,670 And I got a lot of these from the AP CS principles question bank, 558 00:27:30,670 --> 00:27:37,150 and I kind of rewrote them in C. So check50 is a great tool, 559 00:27:37,150 --> 00:27:40,300 kids use check50 regularly. 560 00:27:40,300 --> 00:27:43,600 Be careful if kids become over reliant on check50, what I found 561 00:27:43,600 --> 00:27:46,490 is that kids sometimes are not even running the code at all. 562 00:27:46,490 --> 00:27:49,015 They're just-- they're just running it against check50 563 00:27:49,015 --> 00:27:51,890 and trying to get it to past check50, and they're not thinking about, 564 00:27:51,890 --> 00:27:53,598 well, what are some unit tests that I can 565 00:27:53,598 --> 00:27:56,740 use that will test this on either extreme of what could come in? 566 00:27:56,740 --> 00:27:59,000 And I want kids to be doing that kind of thinking, 567 00:27:59,000 --> 00:28:03,220 so it takes a little bit of work to kind of encourage kids to think about that. 568 00:28:03,220 --> 00:28:05,500 Style50 is an awesome tool. 569 00:28:05,500 --> 00:28:08,230 When my kids go on to AP CS A and they're writing in Java-- 570 00:28:08,230 --> 00:28:10,772 what's really interesting is the kids that come through CS50, 571 00:28:10,772 --> 00:28:13,065 their code is beautiful, because they've learned-- 572 00:28:13,065 --> 00:28:15,190 most of these kids it's the first time that they've 573 00:28:15,190 --> 00:28:19,390 used a text based programming language, and after they use style50 regularly 574 00:28:19,390 --> 00:28:22,030 they just start to write with proper indentation 575 00:28:22,030 --> 00:28:24,440 because they know what it's supposed to look like. 576 00:28:24,440 --> 00:28:27,670 And when I used to teach CS A, I used to teach beginners CS A, 577 00:28:27,670 --> 00:28:29,970 the indentation was just horrendous. 578 00:28:29,970 --> 00:28:33,640 Trying to train kids, and trying to break bad habits was really impossible. 579 00:28:33,640 --> 00:28:36,490 But now these kids are coming up from CS50, 580 00:28:36,490 --> 00:28:39,280 and that's why it's a prerequisite course for everything else. 581 00:28:39,280 --> 00:28:42,550 So we know that if they use style50, their style is going to look great. 582 00:28:42,550 --> 00:28:45,460 583 00:28:45,460 --> 00:28:49,808 So this is what I see in CS50 IDE. 584 00:28:49,808 --> 00:28:51,600 One of the first things that I ask it to do 585 00:28:51,600 --> 00:28:55,383 is ask them to share their workspace with me. 586 00:28:55,383 --> 00:28:58,300 And when they share their workspace with me, what that allows me to do 587 00:28:58,300 --> 00:29:02,170 is I can jump into their workspace and I can see what they're doing. 588 00:29:02,170 --> 00:29:06,130 And I can even work with them, and you can collaborate in a given workspace 589 00:29:06,130 --> 00:29:08,020 kind of like Google Docs. 590 00:29:08,020 --> 00:29:11,390 So you can see what people are typing, and I can type in code as well. 591 00:29:11,390 --> 00:29:16,330 And so it was really effective this year for me to do a Zoom call with kids, 592 00:29:16,330 --> 00:29:21,542 but then either I share my screen, or I just pull up on my browser their code, 593 00:29:21,542 --> 00:29:23,500 and I can see them working in their code and we 594 00:29:23,500 --> 00:29:27,998 can have a conversation about the code while they're on it. 595 00:29:27,998 --> 00:29:30,790 It worked great with some of the shier kids who hate being on Zoom, 596 00:29:30,790 --> 00:29:34,960 they hate being on camera, because we're focusing on the collaborative code 597 00:29:34,960 --> 00:29:39,220 and we're basically looking at the same piece here. 598 00:29:39,220 --> 00:29:43,810 So that worked out really, really nicely just as a way to support kids. 599 00:29:43,810 --> 00:29:46,630 And a lot of the time, kids could just jump in 600 00:29:46,630 --> 00:29:49,570 and say, here's where I'm stuck, and I can talk them through it. 601 00:29:49,570 --> 00:29:52,675 And literally it would take like 5 or 10 minutes, and they're like OK, 602 00:29:52,675 --> 00:29:55,300 thanks Mr. Kiang, I'll see you in class, and then they hang up. 603 00:29:55,300 --> 00:29:57,820 Whereas normally, in a regular school, they 604 00:29:57,820 --> 00:30:01,613 would have had to set up a one hour meeting or something 605 00:30:01,613 --> 00:30:02,780 to come in and meet with me. 606 00:30:02,780 --> 00:30:05,650 It just, I find that I can make better use of my time 607 00:30:05,650 --> 00:30:09,637 because I'm able to share stuff through the CS50 IDE. 608 00:30:09,637 --> 00:30:12,220 The other thing that it allows you to do is, if you go to File 609 00:30:12,220 --> 00:30:13,928 and you choose View Revision History, you 610 00:30:13,928 --> 00:30:19,090 can actually scroll backwards through, and you can see what kids have typed. 611 00:30:19,090 --> 00:30:23,980 And you can see the process of their thinking, which I think is fascinating. 612 00:30:23,980 --> 00:30:27,250 You can, of course, also see if some kid had nothing and then 613 00:30:27,250 --> 00:30:28,330 all of a sudden, boom. 614 00:30:28,330 --> 00:30:30,433 They just have this entire passage of code, 615 00:30:30,433 --> 00:30:32,600 you know that they pasted it in from somewhere else. 616 00:30:32,600 --> 00:30:35,680 There's no way, no way they could have written it in two seconds, right? 617 00:30:35,680 --> 00:30:37,202 So you can see that stuff too. 618 00:30:37,202 --> 00:30:39,910 But that's not the primary reason why I use the revision history. 619 00:30:39,910 --> 00:30:42,280 I use it to support kids learning. 620 00:30:42,280 --> 00:30:44,180 But it's pretty effective. 621 00:30:44,180 --> 00:30:46,990 So that brings us to talking about academic honesty. 622 00:30:46,990 --> 00:30:50,020 Like I said, some kids are going to cheat. 623 00:30:50,020 --> 00:30:54,040 These are their solutions to most of these things available 624 00:30:54,040 --> 00:30:55,400 just all over the internet. 625 00:30:55,400 --> 00:30:58,510 And so I have the talk with them from day one about you are going 626 00:30:58,510 --> 00:31:01,310 to face that temptation, it is normal. 627 00:31:01,310 --> 00:31:02,560 I face the temptation too. 628 00:31:02,560 --> 00:31:05,343 If I pick up a puzzle, part of me wants to just go to the solution 629 00:31:05,343 --> 00:31:06,760 because I want to solve the darn-- 630 00:31:06,760 --> 00:31:07,930 I want it to be solved. 631 00:31:07,930 --> 00:31:11,990 But the joy is in the solving of it. 632 00:31:11,990 --> 00:31:15,880 And so I always tell them #NoSpoilers, you're 633 00:31:15,880 --> 00:31:19,880 giving yourself a huge spoiler if you look online. 634 00:31:19,880 --> 00:31:23,680 One of the things about a lot of the problem sets is that the problem sets-- 635 00:31:23,680 --> 00:31:26,290 people will post their solutions, but people will also, 636 00:31:26,290 --> 00:31:28,510 more and more, they'll use YouTube videos. 637 00:31:28,510 --> 00:31:32,320 So that they'll talk through how to solve it 638 00:31:32,320 --> 00:31:35,275 while you watch it up on the video. 639 00:31:35,275 --> 00:31:37,150 And they're pretty good, I mean, some of them 640 00:31:37,150 --> 00:31:39,192 do a better job than I do at teaching this stuff. 641 00:31:39,192 --> 00:31:41,000 They're really good. 642 00:31:41,000 --> 00:31:43,660 I've got to tell the kids, look, if you're in my class, 643 00:31:43,660 --> 00:31:46,720 and you're turning this in for credit you can't use that video. 644 00:31:46,720 --> 00:31:49,540 If you want to go do a problem set that we don't cover, 645 00:31:49,540 --> 00:31:51,010 that's a great way to learn. 646 00:31:51,010 --> 00:31:51,770 Good for you. 647 00:31:51,770 --> 00:31:53,290 You're going to YouTube, you're being a self 648 00:31:53,290 --> 00:31:55,498 advocate for your own learning, et cetera, et cetera, 649 00:31:55,498 --> 00:31:58,255 but you can't do that for the class. 650 00:31:58,255 --> 00:32:00,130 And I've got to draw that line ahead of time, 651 00:32:00,130 --> 00:32:04,637 because it is a pretty normal thing that kids will just jump on YouTube to learn 652 00:32:04,637 --> 00:32:05,470 how to do something. 653 00:32:05,470 --> 00:32:07,990 But kids-- usually it comes down to poor planning. 654 00:32:07,990 --> 00:32:10,630 Like they just-- poor time planning, they just 655 00:32:10,630 --> 00:32:13,080 don't leave enough time for them to do the problem set. 656 00:32:13,080 --> 00:32:15,580 So to get it turned in on time, they'll cheat on it. 657 00:32:15,580 --> 00:32:18,320 658 00:32:18,320 --> 00:32:23,360 So what I do when kids turn in stuff is I take all of their submissions, 659 00:32:23,360 --> 00:32:25,570 and I run them through-- 660 00:32:25,570 --> 00:32:28,390 I run them through basically a checker called Moss. 661 00:32:28,390 --> 00:32:31,120 And what Moss does is-- 662 00:32:31,120 --> 00:32:33,910 it's run out of Stanford, and what it does is it goes through 663 00:32:33,910 --> 00:32:39,590 and it will compare, and it'll look for similarities in kids' code. 664 00:32:39,590 --> 00:32:42,850 And so this will show the similarities between what they worked on. 665 00:32:42,850 --> 00:32:46,180 And you can exclude starter codes so the starter code won't show up, 666 00:32:46,180 --> 00:32:48,790 but some of this stuff you can tell by what they chose. 667 00:32:48,790 --> 00:32:54,010 You can tell some of the variable names, whether they were working together. 668 00:32:54,010 --> 00:32:55,830 I tend to be more lenient-- 669 00:32:55,830 --> 00:32:57,330 oh, I think it was probably this. 670 00:32:57,330 --> 00:33:00,195 This is almost the same. 671 00:33:00,195 --> 00:33:03,320 I tend to be a little more leaning on kids who are working with each other, 672 00:33:03,320 --> 00:33:06,980 because frankly I do want them to collaborate. 673 00:33:06,980 --> 00:33:09,440 What I really come down hard on is kids who 674 00:33:09,440 --> 00:33:12,690 actually copy stuff from the internet. 675 00:33:12,690 --> 00:33:17,420 And so what I use to differentiate that is I actually have a-- 676 00:33:17,420 --> 00:33:21,450 677 00:33:21,450 --> 00:33:23,760 I have a source. 678 00:33:23,760 --> 00:33:27,060 I have a GitHub, a private repo on GitHub, 679 00:33:27,060 --> 00:33:30,240 where I basically have collected, somewhat obsessively, 680 00:33:30,240 --> 00:33:34,920 over the years every single published solution to any of the CS50 problems 681 00:33:34,920 --> 00:33:38,530 sets that I use, and they're all in here. 682 00:33:38,530 --> 00:33:41,940 And the way that I organize it is I use a tilde 683 00:33:41,940 --> 00:33:45,390 to preface anything that comes from the net, 684 00:33:45,390 --> 00:33:47,790 and inside here there's a weblog that actually 685 00:33:47,790 --> 00:33:52,320 has the original URL at the time that I found it, 686 00:33:52,320 --> 00:33:54,890 as well as the actual code itself. 687 00:33:54,890 --> 00:33:57,390 So when kids cheat, and they find something on the internet, 688 00:33:57,390 --> 00:34:02,190 chances are it's in this repo and it will get found. 689 00:34:02,190 --> 00:34:06,420 So I have a database of anything that appeared on the internet, as well 690 00:34:06,420 --> 00:34:10,800 as anything that any kids have turned in previously for the assignments. 691 00:34:10,800 --> 00:34:14,730 And in that case-- is in those cases, sometimes they get kids who are older 692 00:34:14,730 --> 00:34:17,850 siblings, they took the course, they'll just-- 693 00:34:17,850 --> 00:34:19,540 kids will just reuse their solution. 694 00:34:19,540 --> 00:34:21,023 So that will get flagged as well. 695 00:34:21,023 --> 00:34:23,190 SPEAKER 1: Can I just read you a couple of comments? 696 00:34:23,190 --> 00:34:25,732 You're getting some really great thank yous. 697 00:34:25,732 --> 00:34:26,940 DOUGLAS KIANG: Oh yeah, sure. 698 00:34:26,940 --> 00:34:29,460 SPEAKER 1: The immaculate planning and dedication 699 00:34:29,460 --> 00:34:34,199 Douglas has put into mesmerizes me. 700 00:34:34,199 --> 00:34:37,500 Kudos to the hard work, and thanks for all the great ideas 701 00:34:37,500 --> 00:34:41,260 that you're willing to share with us. 702 00:34:41,260 --> 00:34:43,260 DOUGLAS KIANG: Wow that's super nice, thank you. 703 00:34:43,260 --> 00:34:44,159 That's very kind. 704 00:34:44,159 --> 00:34:45,810 That's very kind, thank you. 705 00:34:45,810 --> 00:34:48,330 SPEAKER 1: And some will reach out with their new emails, 706 00:34:48,330 --> 00:34:53,487 they're moving to new schools and want to get access to your resources. 707 00:34:53,487 --> 00:34:54,820 DOUGLAS KIANG: Yeah, no problem. 708 00:34:54,820 --> 00:34:56,790 Happy to share. 709 00:34:56,790 --> 00:35:00,930 But OK, I do also want to pause and say that so much of what I do 710 00:35:00,930 --> 00:35:05,430 has been built on the work of Margaret and other people in the community who 711 00:35:05,430 --> 00:35:08,040 have really, really stepped up and helped. 712 00:35:08,040 --> 00:35:10,530 And Bill, and so-- 713 00:35:10,530 --> 00:35:13,830 you know this is, our community is strong because of all of us 714 00:35:13,830 --> 00:35:15,340 together, not any one of us. 715 00:35:15,340 --> 00:35:19,980 So I've taken much more than I've given over the years, 716 00:35:19,980 --> 00:35:23,040 but that is kind of you to say. 717 00:35:23,040 --> 00:35:25,470 So what I realized though, ultimately, is maybe 718 00:35:25,470 --> 00:35:29,220 what I was sending the wrong message by just grading what they're turning in. 719 00:35:29,220 --> 00:35:35,130 I wanted to have them have an understanding of the metacognition, 720 00:35:35,130 --> 00:35:36,810 how are they learning this stuff. 721 00:35:36,810 --> 00:35:41,340 So what I do now is I say, OK once you've turned in the problem set, 722 00:35:41,340 --> 00:35:46,320 I want you to use the File Revision History to scroll back and find an aha 723 00:35:46,320 --> 00:35:49,170 moment where all of a sudden, you realize that something was-- 724 00:35:49,170 --> 00:35:54,565 that something was-- you'd been under a misapprehension 725 00:35:54,565 --> 00:35:57,690 about how something was working, or misunderstanding and you just fixed it, 726 00:35:57,690 --> 00:36:00,180 or talk about an aha moment. 727 00:36:00,180 --> 00:36:07,290 And they had to submit three of these moments along with their finished code. 728 00:36:07,290 --> 00:36:09,870 Which also makes it harder to just grab somebody else's code, 729 00:36:09,870 --> 00:36:13,560 because I want them to see, well, what was the story that you went through? 730 00:36:13,560 --> 00:36:17,250 And so you can't just say, well I moved this code up here and all of a sudden 731 00:36:17,250 --> 00:36:19,030 it worked. 732 00:36:19,030 --> 00:36:24,420 I want to see, how did you figure out how you fix something? 733 00:36:24,420 --> 00:36:29,880 And so here's an example of a story that kids put together when they turned 734 00:36:29,880 --> 00:36:32,640 in Caesar, like where were you stuck? 735 00:36:32,640 --> 00:36:34,560 How did you figure it out? 736 00:36:34,560 --> 00:36:37,800 So that's academic-- and I find if you only 737 00:36:37,800 --> 00:36:39,540 put the emphasis on the correct solution, 738 00:36:39,540 --> 00:36:42,430 then kids think, oh, what Mr. Kiang wants is the correct solution. 739 00:36:42,430 --> 00:36:44,850 So when they get crunched for time, they'll just be like, 740 00:36:44,850 --> 00:36:46,260 I'll just Google the correct solution and give it to him 741 00:36:46,260 --> 00:36:47,160 because that's what he wants. 742 00:36:47,160 --> 00:36:48,060 But that's not what I want. 743 00:36:48,060 --> 00:36:50,580 What I want is the learning, and I want to see evidence of learning. 744 00:36:50,580 --> 00:36:52,872 And I want you to struggle, and I want you to be stuck, 745 00:36:52,872 --> 00:36:55,380 and I want you to get yourself unstuck, because that's 746 00:36:55,380 --> 00:36:57,370 a most valuable part of CS50. 747 00:36:57,370 --> 00:37:00,483 It's not about the correct solution, I already have the correct solution. 748 00:37:00,483 --> 00:37:03,400 I have lots of correct solutions, I want to see your correct solution. 749 00:37:03,400 --> 00:37:08,780 So that's the message that I'm constantly giving kids. 750 00:37:08,780 --> 00:37:10,260 So the Create Task. 751 00:37:10,260 --> 00:37:13,580 So it is an AP course, a principles course. 752 00:37:13,580 --> 00:37:16,460 I do something a little bit different. 753 00:37:16,460 --> 00:37:24,180 I found in the past, trying to get kids to force fit a C program into what's 754 00:37:24,180 --> 00:37:28,290 being asked for by the College Board is difficult. So 755 00:37:28,290 --> 00:37:31,680 and sometimes I find that the more you know about programming, 756 00:37:31,680 --> 00:37:33,930 the harder it becomes to get a 5 on the exam, 757 00:37:33,930 --> 00:37:35,910 because kids kind of get themselves tripped up. 758 00:37:35,910 --> 00:37:40,930 The thing that really gets graded for the most part is the write up. 759 00:37:40,930 --> 00:37:44,580 So kids, for the AP course, they've got to basically come up 760 00:37:44,580 --> 00:37:47,790 with an independent project that uses a list, that 761 00:37:47,790 --> 00:37:51,320 uses a function, that takes a parameter, but then 762 00:37:51,320 --> 00:37:53,070 they have to write knowledgeably about it. 763 00:37:53,070 --> 00:37:55,360 And that's essentially where kids get tripped up. 764 00:37:55,360 --> 00:37:59,260 So I actually have kids do the Create Task first thing in the school year. 765 00:37:59,260 --> 00:38:01,290 So we're done with Create Task by August. 766 00:38:01,290 --> 00:38:02,320 We're done with it. 767 00:38:02,320 --> 00:38:04,403 We've already done it, we've written the write up, 768 00:38:04,403 --> 00:38:06,210 we don't do it in C we do it in Scratch. 769 00:38:06,210 --> 00:38:10,830 So when we start in Scratch for CS50, before we move on, 770 00:38:10,830 --> 00:38:14,850 we actually have them do their own independent project in Scratch 771 00:38:14,850 --> 00:38:15,900 and write about it. 772 00:38:15,900 --> 00:38:19,300 I have them practice a bunch of times for it, 773 00:38:19,300 --> 00:38:22,560 and I just get it out of the way and get it done. 774 00:38:22,560 --> 00:38:25,110 And then I don't even think about that portion of it 775 00:38:25,110 --> 00:38:26,910 again for the rest of the year. 776 00:38:26,910 --> 00:38:30,030 And this is not probably what the College Board would want you to do, 777 00:38:30,030 --> 00:38:32,400 because they want it to be a summative thing. 778 00:38:32,400 --> 00:38:35,250 But honestly the kids, in terms of their coding experience, 779 00:38:35,250 --> 00:38:38,070 I know if they go CS50 they're going to more than exceed 780 00:38:38,070 --> 00:38:40,590 what the College Board is looking for. 781 00:38:40,590 --> 00:38:43,780 Where they're going to get tripped up is in their explanation of it. 782 00:38:43,780 --> 00:38:47,850 So I have a link to a Scratch project here called MPolygon. 783 00:38:47,850 --> 00:38:52,790 And in this Scratch project, if I hit the play button, 784 00:38:52,790 --> 00:38:56,240 see how it just draws like five random polygons? 785 00:38:56,240 --> 00:39:00,870 It fills a list with random numbers of sides and then it draws them. 786 00:39:00,870 --> 00:39:03,750 And then if I hit Play again, it'll draw them again in random places, 787 00:39:03,750 --> 00:39:06,125 and sometimes it hits the edge and goes off a little bit. 788 00:39:06,125 --> 00:39:10,150 But that's it. 789 00:39:10,150 --> 00:39:14,250 So I teach kids how to do blocks. 790 00:39:14,250 --> 00:39:17,400 The first thing I teach them in Scratch is how to create a block, 791 00:39:17,400 --> 00:39:19,420 and then I say, OK, draw a square. 792 00:39:19,420 --> 00:39:22,170 And then create a block called square and move that code in there, 793 00:39:22,170 --> 00:39:23,920 and then create a block called square that 794 00:39:23,920 --> 00:39:26,820 takes a parameter for the length of the sides, 795 00:39:26,820 --> 00:39:29,100 and then draw a square of a variable side length. 796 00:39:29,100 --> 00:39:32,640 And within the first day, I mean within the first hour, 797 00:39:32,640 --> 00:39:35,190 they've already created a function that takes a parameter 798 00:39:35,190 --> 00:39:38,850 and that's one of the big requirements of the Create Task. 799 00:39:38,850 --> 00:39:40,980 And then it's just a matter of going over the list. 800 00:39:40,980 --> 00:39:42,720 But what I'll do is I'll show this to them, 801 00:39:42,720 --> 00:39:45,470 we go over the requirements of the Create Task I show this to them 802 00:39:45,470 --> 00:39:48,860 and then I say, OK you do the write-up and pretend you wrote this. 803 00:39:48,860 --> 00:39:51,360 Pretend you wrote this program, but now you do the write-up. 804 00:39:51,360 --> 00:39:54,030 And then I grade their write-ups. And then I 805 00:39:54,030 --> 00:40:00,330 have them go and do a project in Scratch just knowing these basics, a list, 806 00:40:00,330 --> 00:40:03,624 a parameter, a function. 807 00:40:03,624 --> 00:40:07,870 And it doesn't have to be huge. 808 00:40:07,870 --> 00:40:09,630 And then we get into C, and then we spend 809 00:40:09,630 --> 00:40:12,672 the rest of the year-- we don't even worry about the create task anymore. 810 00:40:12,672 --> 00:40:16,170 So that's one thing that I would do. 811 00:40:16,170 --> 00:40:18,700 The parameter is in when you're defining the polygon, 812 00:40:18,700 --> 00:40:23,910 so this pulls in a polygon, a number from the polygon list, 813 00:40:23,910 --> 00:40:28,890 and it actually changes. 814 00:40:28,890 --> 00:40:31,710 So if the number, if that parameter, is greater than 5, 815 00:40:31,710 --> 00:40:32,970 it sets the pen color to red. 816 00:40:32,970 --> 00:40:35,340 Otherwise it sets it to green. 817 00:40:35,340 --> 00:40:41,340 So this is not a great project, but this project, you 818 00:40:41,340 --> 00:40:44,910 could see scores on this from anywhere from 0 to 9 819 00:40:44,910 --> 00:40:47,520 if you write it up-- if you write it up properly. 820 00:40:47,520 --> 00:40:48,907 And that's the whole thing. 821 00:40:48,907 --> 00:40:51,990 Everybody thinks the score on the Create Task is based on the programming, 822 00:40:51,990 --> 00:40:52,890 it's really not. 823 00:40:52,890 --> 00:40:55,980 It's based on the write-up. 824 00:40:55,980 --> 00:40:57,910 But anyway, this is what I've used. 825 00:40:57,910 --> 00:40:59,410 You could certainly create your own. 826 00:40:59,410 --> 00:41:02,285 In fact, I'd highly encourage you to create your own project that you 827 00:41:02,285 --> 00:41:05,520 think-- this is a minimal project, it meets the minimum requirements-- 828 00:41:05,520 --> 00:41:11,320 and then work on the write-up, that's the challenging thing. 829 00:41:11,320 --> 00:41:13,440 So yeah. 830 00:41:13,440 --> 00:41:18,480 I mean, the purpose of this would be entertainment to teach students 831 00:41:18,480 --> 00:41:22,320 about polygons having a certain number of sides or whatever, 832 00:41:22,320 --> 00:41:24,370 I mean it's all in the write-up. 833 00:41:24,370 --> 00:41:27,272 So anyway that's my take on the Create Task. 834 00:41:27,272 --> 00:41:28,980 Certainly take that with a grain of salt. 835 00:41:28,980 --> 00:41:34,190 But grating late work. 836 00:41:34,190 --> 00:41:41,570 So the problem with late work for me is that kids would tend to get stuck, 837 00:41:41,570 --> 00:41:44,420 and then not come in for help until the end of the quarter. 838 00:41:44,420 --> 00:41:46,580 And then they would have like five problem sets, 839 00:41:46,580 --> 00:41:50,270 and they want to meet with me to go over all five problem sets 840 00:41:50,270 --> 00:41:52,160 and it's just is not workable. 841 00:41:52,160 --> 00:41:54,020 And then if I grade kids-- 842 00:41:54,020 --> 00:41:56,300 if I give them a lower grade in my grade book, 843 00:41:56,300 --> 00:41:59,180 it's hard to tell in the grade book, if they got a 10 out of 15, 844 00:41:59,180 --> 00:42:01,040 is it because it was late? 845 00:42:01,040 --> 00:42:04,160 But it was actually a 15 out of 15, but it's just like five days late. 846 00:42:04,160 --> 00:42:08,540 Or was it truly flawed in some way, and that's why it's a 10 out of 15? 847 00:42:08,540 --> 00:42:13,410 So that ended up being kind of an issue. 848 00:42:13,410 --> 00:42:17,250 So I've come up with this tardies/late system with my partner teacher Eric 849 00:42:17,250 --> 00:42:20,102 at Punahou, and this worked-- 850 00:42:20,102 --> 00:42:22,310 it worked great, and we did this this year with Menlo 851 00:42:22,310 --> 00:42:23,560 and it worked great there too. 852 00:42:23,560 --> 00:42:26,750 So what we did is we differentiate between when something is tardy, 853 00:42:26,750 --> 00:42:29,180 and something is late, and here are our definitions. 854 00:42:29,180 --> 00:42:32,300 A tardy, so let's say the problems that was due Monday night. 855 00:42:32,300 --> 00:42:35,210 Tardy means if you don't get it turned in by Monday night, 856 00:42:35,210 --> 00:42:37,220 you automatically have a one day extension. 857 00:42:37,220 --> 00:42:41,090 You get it in turned in by Tuesday night, you're fine. 858 00:42:41,090 --> 00:42:44,270 And you don't have to ask me for permission, 859 00:42:44,270 --> 00:42:46,160 just turn it in by the following night. 860 00:42:46,160 --> 00:42:48,590 You don't need to provide me with an excuse. 861 00:42:48,590 --> 00:42:50,090 It's an automatic extension. 862 00:42:50,090 --> 00:42:53,260 They get three of those per semester, and they don't stack in the sense 863 00:42:53,260 --> 00:42:55,260 that you can't turn something in two nights late 864 00:42:55,260 --> 00:42:56,802 and say I'm going to use two tardies. 865 00:42:56,802 --> 00:42:59,480 It doesn't work, one per assignment. 866 00:42:59,480 --> 00:43:04,550 Now if they're are more than one day late, they can go into-- 867 00:43:04,550 --> 00:43:08,367 if they're more than-- if it comes in more than a day after the deadline, 868 00:43:08,367 --> 00:43:09,950 they have to use what's called a late. 869 00:43:09,950 --> 00:43:14,030 And late is a one week extension, it's seven days. 870 00:43:14,030 --> 00:43:18,240 And you can't just turn something in late, you have to meet with me. 871 00:43:18,240 --> 00:43:21,257 So you have to actually send me an invite, or say, hey, 872 00:43:21,257 --> 00:43:22,590 can I talk with you after class? 873 00:43:22,590 --> 00:43:27,460 Because a lot of the time when kids are late, if they can't figure it out 874 00:43:27,460 --> 00:43:31,840 they don't make the tardy deadline, and they don't come in for help. 875 00:43:31,840 --> 00:43:33,825 They just let it sit for a week. 876 00:43:33,825 --> 00:43:36,700 And now 6 days later, they're at the same place they were a week ago. 877 00:43:36,700 --> 00:43:39,500 And they're like, I still am stuck, and now I have to turn it in. 878 00:43:39,500 --> 00:43:41,750 So then they just turn in something that doesn't work. 879 00:43:41,750 --> 00:43:45,860 So in order for it to trigger a late, they have to come in and talk with me. 880 00:43:45,860 --> 00:43:48,860 And it has to be face to face, they can't just send me an email and say, 881 00:43:48,860 --> 00:43:51,280 I'm taking a late on this. 882 00:43:51,280 --> 00:43:53,260 And for those they get three per semester. 883 00:43:53,260 --> 00:43:58,540 And the way that I do this in Canvas is I keep track of it 884 00:43:58,540 --> 00:44:01,240 just a 3 point assignment, tardies and lates. 885 00:44:01,240 --> 00:44:03,855 So everybody starts with three tardies, three lates. 886 00:44:03,855 --> 00:44:06,730 They know the 3 tardies, each of them gives them a one day extension. 887 00:44:06,730 --> 00:44:08,813 Each of the lates gives them a one week extension. 888 00:44:08,813 --> 00:44:11,745 That covers all the problems sets you're going to do. 889 00:44:11,745 --> 00:44:14,620 And in some cases, you'll notice some kids actually have more than 3. 890 00:44:14,620 --> 00:44:17,620 That's because extra credit-- like if kids come to puzzle day, 891 00:44:17,620 --> 00:44:19,900 I usually will give them an extra tardy. 892 00:44:19,900 --> 00:44:22,690 So let's say, OK, great now you got four tardies. 893 00:44:22,690 --> 00:44:25,570 Kids often want extra credit, but not because they actually 894 00:44:25,570 --> 00:44:29,278 want it to-- a lot of the kids here really going for extra credit, 895 00:44:29,278 --> 00:44:31,570 the kids are already getting an A in the course anyway. 896 00:44:31,570 --> 00:44:32,980 They just want the recognition. 897 00:44:32,980 --> 00:44:36,730 So I'll get kids finishing the year with 4 tardies and 4 lates, 898 00:44:36,730 --> 00:44:38,150 and they feel proud of themselves. 899 00:44:38,150 --> 00:44:39,790 And it doesn't cost me anything, right? 900 00:44:39,790 --> 00:44:42,910 And the grade that's in the book, because I always grade 901 00:44:42,910 --> 00:44:45,700 the assignments when they come in, as I would grade them 902 00:44:45,700 --> 00:44:47,480 as if they were turned in on time. 903 00:44:47,480 --> 00:44:50,770 The grade in the book always reflects the quality of the assignment. 904 00:44:50,770 --> 00:44:53,140 And so that allows me to then calculate stuff 905 00:44:53,140 --> 00:44:56,000 based on all kinds of other stuff. 906 00:44:56,000 --> 00:44:57,970 So yeah, so finally for assessing projects, 907 00:44:57,970 --> 00:44:59,780 when you do an independent project-- 908 00:44:59,780 --> 00:45:01,600 and I would encourage you to do an independent project 909 00:45:01,600 --> 00:45:04,100 towards the end of the year that culminates in a share fair, 910 00:45:04,100 --> 00:45:06,460 where kids are sharing their work. 911 00:45:06,460 --> 00:45:08,690 But then how do you assess something like that? 912 00:45:08,690 --> 00:45:13,060 Well, what I do, is I think about, what is it that I want to reward, right? 913 00:45:13,060 --> 00:45:15,940 Or what is it that I want the grade to signify? 914 00:45:15,940 --> 00:45:18,760 Because if you consider the 3 profiles of kids, like let's say 915 00:45:18,760 --> 00:45:21,343 you have one student who meets all the intermediary deadlines, 916 00:45:21,343 --> 00:45:23,117 and they turn the project in on time. 917 00:45:23,117 --> 00:45:25,700 That student, of course, is probably going to get an A, right? 918 00:45:25,700 --> 00:45:28,628 You have student two, they're are a few days late on every check-in, 919 00:45:28,628 --> 00:45:30,670 and they turn in the final project two days late. 920 00:45:30,670 --> 00:45:33,910 That kid gets dinged on the project every single time they're late, 921 00:45:33,910 --> 00:45:36,160 so they probably get a B or a B-minus. 922 00:45:36,160 --> 00:45:39,190 Student three doesn't really meet any of the check-ins, 923 00:45:39,190 --> 00:45:42,400 but the last week of the project, they pull for all-nighters in a row 924 00:45:42,400 --> 00:45:44,560 and they turn the project in on time. 925 00:45:44,560 --> 00:45:48,820 That student usually gets an A, but that's not what I value. 926 00:45:48,820 --> 00:45:51,800 For me, I value consistent effort over time. 927 00:45:51,800 --> 00:45:55,390 And so, if you consider a student number one and number two, 928 00:45:55,390 --> 00:45:58,628 they actually did the same amount of work. 929 00:45:58,628 --> 00:46:00,420 But the issue with student two is they just 930 00:46:00,420 --> 00:46:02,400 had trouble turning stuff in on time, they 931 00:46:02,400 --> 00:46:05,730 need-- it needs to be late for them to realize they have to turn it in, right? 932 00:46:05,730 --> 00:46:08,125 But I'm actually happier with student one and student 933 00:46:08,125 --> 00:46:09,500 two than I am with student three. 934 00:46:09,500 --> 00:46:12,960 Student three already knew some C coming into the course, 935 00:46:12,960 --> 00:46:16,090 and they just figured out, oh, I can coast for all of this. 936 00:46:16,090 --> 00:46:20,100 And then I don't want to reward that, because if they had applied themselves 937 00:46:20,100 --> 00:46:22,830 consistently from the start, how much better could 938 00:46:22,830 --> 00:46:24,720 that project have been, right? 939 00:46:24,720 --> 00:46:28,110 Rather than just doing what you needed to do to clear the hurdle to get the A. 940 00:46:28,110 --> 00:46:31,300 So what I do is I emphasize the process. 941 00:46:31,300 --> 00:46:35,430 And I want them to document the process of their learning as they go, 942 00:46:35,430 --> 00:46:41,220 because in my mind the process is the story and the product is the ending. 943 00:46:41,220 --> 00:46:44,858 And we don't judge a story by its ending, right? 944 00:46:44,858 --> 00:46:46,650 Because like Romeo and Juliet, for example, 945 00:46:46,650 --> 00:46:48,000 it has a terrible ending, right? 946 00:46:48,000 --> 00:46:49,650 Everybody dies. 947 00:46:49,650 --> 00:46:53,040 I'm sorry if that's a spoiler for some people, but they do. 948 00:46:53,040 --> 00:46:53,660 Right? 949 00:46:53,660 --> 00:46:54,960 And that's horrible, right? 950 00:46:54,960 --> 00:46:56,370 People would say, well I would never want to read that. 951 00:46:56,370 --> 00:46:58,440 But the value in Romeo and Juliet is everything 952 00:46:58,440 --> 00:46:59,940 that happens up to the ending. 953 00:46:59,940 --> 00:47:01,800 The value in a project is everything that 954 00:47:01,800 --> 00:47:03,510 happens up to the time you turn it in. 955 00:47:03,510 --> 00:47:05,830 That's what I want them to document. 956 00:47:05,830 --> 00:47:09,600 And I think of it as a typical story structure, hero's journey, 957 00:47:09,600 --> 00:47:12,838 the call to action, you have the wisdom of the elder, 958 00:47:12,838 --> 00:47:15,630 the rising and falling action, I'm going to apply this to something 959 00:47:15,630 --> 00:47:18,240 we probably all know, or many of us. 960 00:47:18,240 --> 00:47:19,020 Star Wars, right? 961 00:47:19,020 --> 00:47:21,000 Or there are other stories like Star Wars, 962 00:47:21,000 --> 00:47:22,458 but it's the hero's journey, right? 963 00:47:22,458 --> 00:47:24,720 The call to action, a purpose bigger than yourself. 964 00:47:24,720 --> 00:47:27,580 Create an app that solves a real problem for real people. 965 00:47:27,580 --> 00:47:28,800 That's a call to action. 966 00:47:28,800 --> 00:47:31,440 As they go they have the wisdom of the elder, the Yoda. 967 00:47:31,440 --> 00:47:34,290 You as teachers, you're their Yoda, right? 968 00:47:34,290 --> 00:47:38,220 Yoda can't do the thing himself, Luke has to walk that path himself. 969 00:47:38,220 --> 00:47:40,650 Yoda can be there to give him advice, but ultimately it's 970 00:47:40,650 --> 00:47:44,580 Luke's independent project, he's got to do it, right? 971 00:47:44,580 --> 00:47:49,380 You are there to coach and to support, but you can't do the work for them. 972 00:47:49,380 --> 00:47:50,348 Only they can do that. 973 00:47:50,348 --> 00:47:52,140 Then there's this rising and falling action 974 00:47:52,140 --> 00:47:54,053 the thrills and chills of the movie. 975 00:47:54,053 --> 00:47:56,220 I mean that's where the bulk of the movie is, right? 976 00:47:56,220 --> 00:47:58,810 It's all the moments where you think everything is lost, 977 00:47:58,810 --> 00:48:00,810 and then all of a sudden this triumphant moment. 978 00:48:00,810 --> 00:48:04,410 That's what I want to hear, that's the story. 979 00:48:04,410 --> 00:48:06,600 Everybody thinks about oh, the Death Star blows up, 980 00:48:06,600 --> 00:48:07,830 that was the best part of Star Wars. 981 00:48:07,830 --> 00:48:09,872 Well no, it was all the points leading up to that 982 00:48:09,872 --> 00:48:12,670 when you weren't sure what was going to happen at the end. 983 00:48:12,670 --> 00:48:13,890 This is the payoff. 984 00:48:13,890 --> 00:48:15,765 The share fair is the payoff. 985 00:48:15,765 --> 00:48:18,148 986 00:48:18,148 --> 00:48:19,440 And then the denouement, right? 987 00:48:19,440 --> 00:48:22,080 We have the celebration at the end, this is the share fair. 988 00:48:22,080 --> 00:48:24,943 This is the chance to sit back if you had group members. 989 00:48:24,943 --> 00:48:27,360 It's a chance to sit back and celebrate and talk about it. 990 00:48:27,360 --> 00:48:29,235 Oh my gosh, do you remember when we did this? 991 00:48:29,235 --> 00:48:32,790 Do you remember where we thought this was all lost, and then we figured out-- 992 00:48:32,790 --> 00:48:35,800 have kids relax and tell the stories. 993 00:48:35,800 --> 00:48:39,628 This is a healing time for a lot of group projects, 994 00:48:39,628 --> 00:48:41,170 because group projects are stressful. 995 00:48:41,170 --> 00:48:44,640 And you don't want any bad feelings that are created during the group project 996 00:48:44,640 --> 00:48:45,840 to go beyond. 997 00:48:45,840 --> 00:48:49,230 You want kids to realize that the classroom, the learning community, 998 00:48:49,230 --> 00:48:51,843 is bigger than any individual group project or group of people 999 00:48:51,843 --> 00:48:53,010 that they were working with. 1000 00:48:53,010 --> 00:48:55,648 And that we value each other, each other's presence, 1001 00:48:55,648 --> 00:48:58,440 and being with each other and supporting each other, over and above 1002 00:48:58,440 --> 00:49:00,890 how any one project works. 1003 00:49:00,890 --> 00:49:03,443 Now the specifics of this, and I've shared 1004 00:49:03,443 --> 00:49:06,360 all this information and the shared drive as well about how I do this, 1005 00:49:06,360 --> 00:49:10,110 but basically I engage them in personal goal setting. 1006 00:49:10,110 --> 00:49:13,080 I conference with each group at least once during the project, 1007 00:49:13,080 --> 00:49:15,355 I have them do work logs three times a week, 1008 00:49:15,355 --> 00:49:17,730 and a record of thinking-- which is like a journal entry, 1009 00:49:17,730 --> 00:49:19,355 and it culminates in a final narrative. 1010 00:49:19,355 --> 00:49:21,990 And I'm going to talk with those last three pieces first. 1011 00:49:21,990 --> 00:49:25,200 So then the work logs basically are just like how 1012 00:49:25,200 --> 00:49:27,510 attorneys or accountants keep billable hours, 1013 00:49:27,510 --> 00:49:30,140 all it is what I did, how long I spent doing it. 1014 00:49:30,140 --> 00:49:30,640 That's it. 1015 00:49:30,640 --> 00:49:32,790 It doesn't need to be more complicated than that. 1016 00:49:32,790 --> 00:49:35,177 But I want them to keep track, as they work 1017 00:49:35,177 --> 00:49:36,760 on the project, of what they're doing. 1018 00:49:36,760 --> 00:49:38,960 Because everybody is working on different things. 1019 00:49:38,960 --> 00:49:41,050 So I want to see what does that work-- 1020 00:49:41,050 --> 00:49:43,050 what does that work log actually look like? 1021 00:49:43,050 --> 00:49:46,250 1022 00:49:46,250 --> 00:49:49,080 And it shouldn't take them more than 30 seconds to do a work log. 1023 00:49:49,080 --> 00:49:51,995 And if they were busy, or they had a soccer tournament 1024 00:49:51,995 --> 00:49:54,620 and they couldn't get any work done, that goes in the workbook. 1025 00:49:54,620 --> 00:49:56,180 I'll count that. 1026 00:49:56,180 --> 00:49:58,625 But I want them, every other night, to be thinking about, 1027 00:49:58,625 --> 00:49:59,750 where am I on this project? 1028 00:49:59,750 --> 00:50:02,238 And then writing about it. 1029 00:50:02,238 --> 00:50:05,030 And I don't take lates on the work logs, it's like they are on time 1030 00:50:05,030 --> 00:50:05,755 or that's a 0. 1031 00:50:05,755 --> 00:50:08,630 Because if you don't do that, then they save them all up till the end 1032 00:50:08,630 --> 00:50:11,172 and then the value is kind of lost. 1033 00:50:11,172 --> 00:50:13,130 A prompt that I might give them is I might say, 1034 00:50:13,130 --> 00:50:15,500 when you do an independent project, and you propose one, 1035 00:50:15,500 --> 00:50:18,840 I want you to show me what you know, so something old. 1036 00:50:18,840 --> 00:50:22,310 Something new-- in other words go out and learn something on your own. 1037 00:50:22,310 --> 00:50:26,420 Figure out how to do graphics, or figure out how to do this other thing, 1038 00:50:26,420 --> 00:50:28,160 or how to do a form-- 1039 00:50:28,160 --> 00:50:29,960 learn something new. 1040 00:50:29,960 --> 00:50:33,170 Something borrowed, so I might point them over to GitHub and say, OK. 1041 00:50:33,170 --> 00:50:37,070 Now it's OK to go look at, what are some other bits of code that people have? 1042 00:50:37,070 --> 00:50:40,830 Other libraries people have made available to you? 1043 00:50:40,830 --> 00:50:43,940 And so I've got the old, something new, something borrowed, and then, just 1044 00:50:43,940 --> 00:50:46,048 because you have to, something blue. 1045 00:50:46,048 --> 00:50:47,090 Well what does blue mean? 1046 00:50:47,090 --> 00:50:47,730 I don't know. 1047 00:50:47,730 --> 00:50:49,620 Could be some aspect of the interface. 1048 00:50:49,620 --> 00:50:51,500 It could be I'm coloring the text blue. 1049 00:50:51,500 --> 00:50:53,540 It could be-- one person did-- 1050 00:50:53,540 --> 00:50:56,068 Eliza, they said they did a virtual psychologist, so 1051 00:50:56,068 --> 00:50:58,610 that when you're feeling blue, when you're feeling depressed, 1052 00:50:58,610 --> 00:51:00,563 it will kind of tell you, talk to you. 1053 00:51:00,563 --> 00:51:03,230 So that's how they interpreted it, which I thought was creative. 1054 00:51:03,230 --> 00:51:05,960 But that's the prompt. 1055 00:51:05,960 --> 00:51:08,450 And then they go through and they've done all of this work, 1056 00:51:08,450 --> 00:51:12,090 the record of thinking happens once a week, it's like a journal entry. 1057 00:51:12,090 --> 00:51:16,278 And then the final narrative takes the place of the final exam 1058 00:51:16,278 --> 00:51:17,820 at the end of the school year for me. 1059 00:51:17,820 --> 00:51:20,990 What I have the kids do is they go through all of their record of thinking 1060 00:51:20,990 --> 00:51:24,980 entries, their work logs, any notes that they took from meeting with me, 1061 00:51:24,980 --> 00:51:27,320 and I want them to tell me the full story. 1062 00:51:27,320 --> 00:51:29,960 And they have to cite their own work logs. 1063 00:51:29,960 --> 00:51:32,780 So they can say, well, we struggled at first-- work log number 1-- 1064 00:51:32,780 --> 00:51:36,020 until we figure it out how to do a dictionary in Python-- 1065 00:51:36,020 --> 00:51:38,870 work log number 2-- 1066 00:51:38,870 --> 00:51:40,080 they have to cite to it. 1067 00:51:40,080 --> 00:51:41,690 And so at this point, if they haven't filled out 1068 00:51:41,690 --> 00:51:44,180 the work logs leading up to it, they won't have anything 1069 00:51:44,180 --> 00:51:45,650 to write for the final narrative. 1070 00:51:45,650 --> 00:51:47,900 Because I don't want some revisionist history 1071 00:51:47,900 --> 00:51:49,780 thing that they write at the end that says, 1072 00:51:49,780 --> 00:51:53,030 well we struggled because it was hard at first, but we finally figured it out. 1073 00:51:53,030 --> 00:51:54,770 Yay us! 1074 00:51:54,770 --> 00:51:56,120 It's just pablum, right? 1075 00:51:56,120 --> 00:51:59,120 I used to get that before I had kids actually, 1076 00:51:59,120 --> 00:52:01,610 really go through, and give yourself credit 1077 00:52:01,610 --> 00:52:06,560 for the areas where you struggled, and the areas where you figured things out. 1078 00:52:06,560 --> 00:52:10,220 And I'll get things like this. 1079 00:52:10,220 --> 00:52:13,790 Making something is-- we're frustrated together-- 1080 00:52:13,790 --> 00:52:15,020 success and happiness. 1081 00:52:15,020 --> 00:52:17,270 I mean most of the learning here involves 1082 00:52:17,270 --> 00:52:20,150 them going back through and reading. 1083 00:52:20,150 --> 00:52:22,430 Oh my gosh we really did work really hard 1084 00:52:22,430 --> 00:52:24,940 on a lot of these different things. 1085 00:52:24,940 --> 00:52:28,440 So that's where you see a lot of the value of it. 1086 00:52:28,440 --> 00:52:32,130 And so that's kind of how I go about assessing these. 1087 00:52:32,130 --> 00:52:34,680 And what I find is, every bit of opportunity 1088 00:52:34,680 --> 00:52:37,560 that I give kids to tell me a little bit more 1089 00:52:37,560 --> 00:52:40,740 about themselves helps me understand more about them, 1090 00:52:40,740 --> 00:52:44,520 and helps me hear their voice and gives them a sense that they belong. 1091 00:52:44,520 --> 00:52:46,710 And ultimately that's the most important part 1092 00:52:46,710 --> 00:52:49,780 of creating a really positive supportive culture in the class. 1093 00:52:49,780 --> 00:52:51,808 That's what I want them to take away from it. 1094 00:52:51,808 --> 00:52:54,600 There are three things that I ask kids to repeat to themselves when 1095 00:52:54,600 --> 00:52:55,320 they get stuck. 1096 00:52:55,320 --> 00:52:57,030 Or we do this in class. 1097 00:52:57,030 --> 00:52:59,130 I want them to say, I'm smart. 1098 00:52:59,130 --> 00:53:00,510 I'm resourceful. 1099 00:53:00,510 --> 00:53:02,280 I belong here. 1100 00:53:02,280 --> 00:53:04,260 And I make them all repeat this as a group. 1101 00:53:04,260 --> 00:53:07,140 I'm smart, I'm resourceful, I belong here. 1102 00:53:07,140 --> 00:53:10,372 Because when they get stuck, there's a little voice in a lot of kids' head 1103 00:53:10,372 --> 00:53:11,580 that tells them the opposite. 1104 00:53:11,580 --> 00:53:13,570 I'm not smart enough to be here. 1105 00:53:13,570 --> 00:53:15,032 I don't know what to do, I'm stuck. 1106 00:53:15,032 --> 00:53:17,490 I don't belong here, I have no business taking a CS course. 1107 00:53:17,490 --> 00:53:21,390 So I believe in positive affirmations, and I have 1108 00:53:21,390 --> 00:53:23,800 them repeat that over and over again. 1109 00:53:23,800 --> 00:53:25,750 And I tell them you do belong here. 1110 00:53:25,750 --> 00:53:27,510 And I'm so glad that you're here, and I'm 1111 00:53:27,510 --> 00:53:30,000 so glad that you're part of this class because this class would not 1112 00:53:30,000 --> 00:53:31,030 be the same without you. 1113 00:53:31,030 --> 00:53:32,072 Thank you for being here. 1114 00:53:32,072 --> 00:53:33,780 And I tell them that over and over again. 1115 00:53:33,780 --> 00:53:36,330 Because I think high school students, they need to hear that. 1116 00:53:36,330 --> 00:53:36,930 All the time. 1117 00:53:36,930 --> 00:53:39,640 Well, we need to hear that too, anybody. 1118 00:53:39,640 --> 00:53:43,140 So with that said, that is-- 1119 00:53:43,140 --> 00:53:45,510 that's what I have for you. 1120 00:53:45,510 --> 00:53:49,470 Please do spend some time going back, going through some of the resources 1121 00:53:49,470 --> 00:53:51,930 and taking a look at them. 1122 00:53:51,930 --> 00:53:55,500 I do want to be respectful of your time. 1123 00:53:55,500 --> 00:53:58,740 And I'll be around too for some of the reflections 1124 00:53:58,740 --> 00:54:01,990 as well, if people have other follow up questions to ask. 1125 00:54:01,990 --> 00:54:04,920 So thank you. 1126 00:54:04,920 --> 00:54:07,503 Thanks again for the CS50 team, for putting together 1127 00:54:07,503 --> 00:54:10,170 such a great series of tools and helping me be a better teacher. 1128 00:54:10,170 --> 00:54:12,290 So thank you. 1129 00:54:12,290 --> 00:54:14,000