1 00:00:00,000 --> 00:00:01,688 2 00:00:01,688 --> 00:00:07,430 SPEAKER 1: Welcome, everyone, to our final session of the 2020 CS50 AP 3 00:00:07,430 --> 00:00:09,310 Educator Workshop. 4 00:00:09,310 --> 00:00:13,420 I'm going to begin by sharing my screen to give a brief overview, 5 00:00:13,420 --> 00:00:17,440 and then I'm going to turn it over to our fantastic panelist teachers. 6 00:00:17,440 --> 00:00:21,370 First, a reminder that if you have any feedback on any of the sessions, 7 00:00:21,370 --> 00:00:24,520 here is that URL through which you can give feedback 8 00:00:24,520 --> 00:00:27,910 to each of the sessions or just a few. 9 00:00:27,910 --> 00:00:32,259 We-- as David is hinted at, over the coming days, some of these sessions 10 00:00:32,259 --> 00:00:36,770 will be redelivered to members of the broader EdX community, 11 00:00:36,770 --> 00:00:39,520 so your feedback is greatly appreciated and can 12 00:00:39,520 --> 00:00:43,810 help us continue to improve the sessions and workshops for the future. 13 00:00:43,810 --> 00:00:48,940 For our final session, we're going to hear from three outstanding teachers. 14 00:00:48,940 --> 00:00:51,790 Each of them have prepared a bit for you all. 15 00:00:51,790 --> 00:00:55,240 But broadly speaking, they're going to be going through who they are 16 00:00:55,240 --> 00:00:59,740 and what they teach, how they've implemented CS50 AP curriculum, 17 00:00:59,740 --> 00:01:03,610 and then what remote learning has looked like at their school. 18 00:01:03,610 --> 00:01:06,430 That one is obviously a new consideration for all of us, 19 00:01:06,430 --> 00:01:09,117 but hopefully they can give you insight into how they've 20 00:01:09,117 --> 00:01:11,950 worked to implement it to help give you some ideas for how you might 21 00:01:11,950 --> 00:01:17,290 be able to implement the CS50 AP curriculum in general and over 22 00:01:17,290 --> 00:01:20,730 and via remote learning. 23 00:01:20,730 --> 00:01:28,770 The three teachers are Jenny Barnes, Douglas Kiang, and Margaret Tanzosh. 24 00:01:28,770 --> 00:01:31,200 I hope I did those last names OK. 25 00:01:31,200 --> 00:01:35,700 And without further ado, we're going to start with Douglas, 26 00:01:35,700 --> 00:01:37,410 so I'm going to turn it over to him. 27 00:01:37,410 --> 00:01:40,800 And then throughout the presentation if you 28 00:01:40,800 --> 00:01:43,950 have questions for that specific teacher, feel free to raise your hand, 29 00:01:43,950 --> 00:01:47,087 and I can facilitate the asking of that. 30 00:01:47,087 --> 00:01:49,920 Otherwise, if you have questions in general for everyone at the end, 31 00:01:49,920 --> 00:01:51,930 we'll have plenty of time for that, too. 32 00:01:51,930 --> 00:01:55,730 So Douglas, if you're ready, you can take it away. 33 00:01:55,730 --> 00:01:58,120 DOUGLAS KIANG: Great, thank you. 34 00:01:58,120 --> 00:01:59,680 Thanks so much. 35 00:01:59,680 --> 00:02:01,600 I actually need to apologize in advance. 36 00:02:01,600 --> 00:02:04,070 I can only stay for the first half. 37 00:02:04,070 --> 00:02:06,940 I'm going to have to duck out at around 4:00. 38 00:02:06,940 --> 00:02:09,910 But again, I am totally happy to take questions while I go. 39 00:02:09,910 --> 00:02:12,340 Just sort of stop me. 40 00:02:12,340 --> 00:02:16,250 But I asked to go first just for that reason. 41 00:02:16,250 --> 00:02:20,710 The other thing is, I'm sort of partially 42 00:02:20,710 --> 00:02:23,800 to blame for the new Create Tasks, since I kind of work 43 00:02:23,800 --> 00:02:25,340 with the development committee. 44 00:02:25,340 --> 00:02:28,760 I'm principal, so Jason and the CS50 team 45 00:02:28,760 --> 00:02:31,900 had asked if I'd talk a little bit about the Create Performance 46 00:02:31,900 --> 00:02:35,650 that if you teach AP, we're all going to need to do for next year. 47 00:02:35,650 --> 00:02:36,890 It's a little bit different. 48 00:02:36,890 --> 00:02:38,960 So I wanted to talk a little bit about that, 49 00:02:38,960 --> 00:02:40,752 and then I also wanted to talk a little bit 50 00:02:40,752 --> 00:02:44,050 and show you some examples of some of the stuff that our kids do. 51 00:02:44,050 --> 00:02:46,690 So with that, I'm going to dive in. 52 00:02:46,690 --> 00:02:49,420 Can I share my screen here? 53 00:02:49,420 --> 00:02:53,020 All right, so are you looking at a slide that 54 00:02:53,020 --> 00:02:55,245 says CS50 AP Create Performance Task? 55 00:02:55,245 --> 00:02:55,870 SPEAKER 1: Yes. 56 00:02:55,870 --> 00:02:58,000 DOUGLAS KIANG: Yes, OK, good. 57 00:02:58,000 --> 00:03:04,930 So basically, the Create Performance Task is like an independent project 58 00:03:04,930 --> 00:03:06,730 that you give to kids. 59 00:03:06,730 --> 00:03:12,100 And generally, I think the intent is that it's done at the end of the year. 60 00:03:12,100 --> 00:03:16,780 And you'll see that we actually do ours at the beginning of the year. 61 00:03:16,780 --> 00:03:20,618 I do want to make a big disclaimer that I'm not speaking to you on behalf 62 00:03:20,618 --> 00:03:21,910 of the college board right now. 63 00:03:21,910 --> 00:03:23,470 I'm speaking to you as Douglas Kiang. 64 00:03:23,470 --> 00:03:27,160 I'm a computer science teacher at Punahou School in Honolulu, Hawaii. 65 00:03:27,160 --> 00:03:29,770 I'm about to move to Menlo School in Atherton, California, 66 00:03:29,770 --> 00:03:32,800 but these are just some of the experiences that I've had with it. 67 00:03:32,800 --> 00:03:35,250 And this is my own take on the Create Performance Tasks, 68 00:03:35,250 --> 00:03:39,790 so I don't speak for the college board or for Harvard in this. 69 00:03:39,790 --> 00:03:44,830 But probably, the best way to get a sense for how 70 00:03:44,830 --> 00:03:47,440 are these tests going to be scored-- 71 00:03:47,440 --> 00:03:49,520 at the end of the year, your kids are going 72 00:03:49,520 --> 00:03:55,180 to take a multiple choice exam which counts for 70% of their AP score, 73 00:03:55,180 --> 00:03:59,500 and they're going to have to submit a video and a write up 74 00:03:59,500 --> 00:04:01,750 of an independent project that they've done. 75 00:04:01,750 --> 00:04:05,920 And if you go to the website, all of these things we're going to talk about, 76 00:04:05,920 --> 00:04:07,960 specifically the scoring guidelines, which 77 00:04:07,960 --> 00:04:12,123 I think is probably the most important document that you look at 78 00:04:12,123 --> 00:04:14,290 and that your kids look at, these are the guidelines 79 00:04:14,290 --> 00:04:18,050 and the rubric that say exactly how these projects are going to be scored. 80 00:04:18,050 --> 00:04:22,210 And once you get a sense for how the new Create Task is going to be scored, 81 00:04:22,210 --> 00:04:25,870 you'll get a sense for where in your school year 82 00:04:25,870 --> 00:04:27,670 that best falls, and you'll talk to people 83 00:04:27,670 --> 00:04:29,128 who have done all different things. 84 00:04:29,128 --> 00:04:31,860 Now, I used to do it at the end of CS50. 85 00:04:31,860 --> 00:04:35,860 The problem I found was that kids almost knew too much. 86 00:04:35,860 --> 00:04:38,710 You'll see that it's actually a fairly simple task, 87 00:04:38,710 --> 00:04:44,890 and sometimes you can really get overwhelmed with all the possibilities 88 00:04:44,890 --> 00:04:46,300 for this task. 89 00:04:46,300 --> 00:04:49,720 The other thing to realize is that these tests 90 00:04:49,720 --> 00:04:55,180 are scored in June over a frantic seven or eight day period 91 00:04:55,180 --> 00:04:59,177 by teachers from all across the country, and they are 92 00:04:59,177 --> 00:05:00,760 whipping through these things quickly. 93 00:05:00,760 --> 00:05:02,955 They're reading example after example after example. 94 00:05:02,955 --> 00:05:04,330 It's actually a great experience. 95 00:05:04,330 --> 00:05:06,790 If you are going to be teaching AP CS Principles, 96 00:05:06,790 --> 00:05:10,233 get on the list to actually be a reader. 97 00:05:10,233 --> 00:05:12,400 And then, you'll empathize with the fact that you've 98 00:05:12,400 --> 00:05:19,600 got hundreds and hundreds of chronically under slept, over caffeinated teachers 99 00:05:19,600 --> 00:05:21,940 trying to score these things quickly. 100 00:05:21,940 --> 00:05:27,000 I felt that a lot of the projects that my kids did at the end of CS50, 101 00:05:27,000 --> 00:05:31,510 a lot of them built off of CS50 finance, they were pretty complex. 102 00:05:31,510 --> 00:05:36,520 Way more complex than most of what students were submitting to the point 103 00:05:36,520 --> 00:05:38,890 where I think it almost makes it a disadvantage, 104 00:05:38,890 --> 00:05:40,973 because you need to be able to write very clearly. 105 00:05:40,973 --> 00:05:44,110 So a simpler task, I think, is better and will totally 106 00:05:44,110 --> 00:05:46,910 satisfy everything you need to do for this particular task. 107 00:05:46,910 --> 00:05:51,640 So our philosophy at Punahou has been, just get the Create Task out 108 00:05:51,640 --> 00:05:55,912 of the way ahead of time and then spend the rest of the year focusing on CS50. 109 00:05:55,912 --> 00:05:58,120 And then, when the kids do their independent project, 110 00:05:58,120 --> 00:05:59,870 they don't have to worry about shoehorning 111 00:05:59,870 --> 00:06:02,470 in any particular kinds of structures or things just 112 00:06:02,470 --> 00:06:06,920 to meet the particulars of the task. 113 00:06:06,920 --> 00:06:08,680 But here's the task for this year. 114 00:06:08,680 --> 00:06:11,740 It's different, as I said, from how it's been typically. 115 00:06:11,740 --> 00:06:13,870 But basically, if you are teaching an AP course, 116 00:06:13,870 --> 00:06:17,980 you're required to give kids 12 hours of in-class time. 117 00:06:17,980 --> 00:06:20,540 In-class used to be in the classroom. 118 00:06:20,540 --> 00:06:24,670 Now, I'm not sure what that means, honestly. 119 00:06:24,670 --> 00:06:27,680 12 hours of synchronous learning if you're doing synchronous learning. 120 00:06:27,680 --> 00:06:28,450 I'm not sure. 121 00:06:28,450 --> 00:06:31,930 But I would generally build in several weeks 122 00:06:31,930 --> 00:06:36,250 of class time working on creating, coming up with the design, 123 00:06:36,250 --> 00:06:38,977 and then coding their particular task. 124 00:06:38,977 --> 00:06:40,810 And we do ours in the beginning of the year. 125 00:06:40,810 --> 00:06:41,435 We use Scratch. 126 00:06:41,435 --> 00:06:43,950 127 00:06:43,950 --> 00:06:45,780 They need to produce a video. 128 00:06:45,780 --> 00:06:51,750 What's new this year is they do not want kids audio narrating the video. 129 00:06:51,750 --> 00:06:56,100 There is data that suggests that people can make inferences, correct or not, 130 00:06:56,100 --> 00:07:00,590 about a child's gender or ethnicity from their voice, 131 00:07:00,590 --> 00:07:04,020 and they want that to not be part of the equation at all. 132 00:07:04,020 --> 00:07:06,060 And so typically, now what they're looking for 133 00:07:06,060 --> 00:07:08,220 is a video with no audio at all. 134 00:07:08,220 --> 00:07:10,458 And it just shows the program running. 135 00:07:10,458 --> 00:07:12,000 They need to have a written response. 136 00:07:12,000 --> 00:07:15,550 They need to highlight specific code segments. 137 00:07:15,550 --> 00:07:17,820 And these are three of the things. 138 00:07:17,820 --> 00:07:20,020 This is not an official College Board document. 139 00:07:20,020 --> 00:07:22,975 This is a Douglas Kiang incomplete summary 140 00:07:22,975 --> 00:07:24,850 just for the purposes of our discussion here. 141 00:07:24,850 --> 00:07:26,370 So don't take this as gospel. 142 00:07:26,370 --> 00:07:28,470 Look at the scoring guidelines on the website. 143 00:07:28,470 --> 00:07:31,170 But basically, they're going to need to talk knowledgeably 144 00:07:31,170 --> 00:07:35,480 about how their program takes in input and how it provides output. 145 00:07:35,480 --> 00:07:37,890 So input could be something at the command line. 146 00:07:37,890 --> 00:07:40,410 147 00:07:40,410 --> 00:07:45,300 It could be data that was initialized at runtime. 148 00:07:45,300 --> 00:07:49,060 It could be input coming from reading from a file. 149 00:07:49,060 --> 00:07:50,520 Any of that stuff counts as input. 150 00:07:50,520 --> 00:07:54,630 It could also be coming from a camera or something like that. 151 00:07:54,630 --> 00:07:56,735 Could be kind of cool. 152 00:07:56,735 --> 00:07:59,610 And then, the output in some way is something visually to the screen. 153 00:07:59,610 --> 00:08:00,540 So the kids need to-- 154 00:08:00,540 --> 00:08:02,790 when they have the video, they need a written response 155 00:08:02,790 --> 00:08:05,915 that goes along with the video that talks about the purpose of the program. 156 00:08:05,915 --> 00:08:07,230 Plus, here's what the input is. 157 00:08:07,230 --> 00:08:10,520 Here's what the output is. 158 00:08:10,520 --> 00:08:14,340 And yes, I will make these slides available to people. 159 00:08:14,340 --> 00:08:18,553 New this year is kids need to use a list of some sort or a collection. 160 00:08:18,553 --> 00:08:19,470 So it could be a list. 161 00:08:19,470 --> 00:08:20,730 Could be an array. 162 00:08:20,730 --> 00:08:21,780 Could be a dictionary. 163 00:08:21,780 --> 00:08:23,310 Could be a set. 164 00:08:23,310 --> 00:08:24,990 Just some kind of collection type. 165 00:08:24,990 --> 00:08:33,070 They need to show how data is stored in it and how it is used in the program. 166 00:08:33,070 --> 00:08:38,289 And they also need to talk about how it manages complexity in the program 167 00:08:38,289 --> 00:08:41,289 by making it easier to work with lots of different variables, 168 00:08:41,289 --> 00:08:45,110 or it would be much harder to write this program if I didn't use the list 169 00:08:45,110 --> 00:08:46,220 and this is why. 170 00:08:46,220 --> 00:08:48,550 But they need to talk about that in some form. 171 00:08:48,550 --> 00:08:50,740 And then finally, they need to have a procedure that 172 00:08:50,740 --> 00:08:54,130 takes at least one parameter, and they need to talk about two different calls 173 00:08:54,130 --> 00:08:56,410 to that procedure. 174 00:08:56,410 --> 00:09:01,600 And each of those calls should execute a different portion of code. 175 00:09:01,600 --> 00:09:05,410 So a great example would be like an if-else statement. 176 00:09:05,410 --> 00:09:08,980 If it comes in in this range, it's going to do this thing. 177 00:09:08,980 --> 00:09:12,070 Otherwise, it's going to do this completely other thing. 178 00:09:12,070 --> 00:09:15,000 So that would satisfy that. 179 00:09:15,000 --> 00:09:17,743 The scoring guidelines break out in great detail 180 00:09:17,743 --> 00:09:18,910 with each of these rows are. 181 00:09:18,910 --> 00:09:21,345 But basically, when we score the create task, 182 00:09:21,345 --> 00:09:24,220 when your kids hand in an independent project, they've got the video, 183 00:09:24,220 --> 00:09:27,520 they've got the write up, we basically go through a checklist like this. 184 00:09:27,520 --> 00:09:29,020 There's six rows. 185 00:09:29,020 --> 00:09:33,880 It's a binary rubric, so you either get one point, or you don't get a point. 186 00:09:33,880 --> 00:09:38,000 And this is what each of the rows are, and the max on this is six points. 187 00:09:38,000 --> 00:09:42,818 So the first row is, does the video show input how it works and the output, 188 00:09:42,818 --> 00:09:44,860 and then does the write up describe those things? 189 00:09:44,860 --> 00:09:47,890 And if you do both of those things, you get a point. 190 00:09:47,890 --> 00:09:51,760 Row two of the rubric talks about, OK, in their response, 191 00:09:51,760 --> 00:09:54,050 did they show how the data is stored? 192 00:09:54,050 --> 00:09:57,190 So they can't just start with the list already pre-filled. 193 00:09:57,190 --> 00:10:01,510 They have to have some examples of how does that data get stored in the list? 194 00:10:01,510 --> 00:10:07,400 And then, they need to show accessing the elements of the list in some way, 195 00:10:07,400 --> 00:10:11,760 and they need to talk about, OK, what do those numbers represent? 196 00:10:11,760 --> 00:10:13,470 Do they represent sides of polygons? 197 00:10:13,470 --> 00:10:15,622 Do they represent scores in a high score list? 198 00:10:15,622 --> 00:10:16,830 They need to talk about that. 199 00:10:16,830 --> 00:10:19,860 200 00:10:19,860 --> 00:10:23,880 They need to talk about how the list actually manages complexity. 201 00:10:23,880 --> 00:10:27,950 And as I talked about earlier, either talking about it 202 00:10:27,950 --> 00:10:30,410 makes it much easier to manage or makes it easier to debug, 203 00:10:30,410 --> 00:10:34,100 or it would be a lot harder to do this if I didn't have 204 00:10:34,100 --> 00:10:37,160 a list, like that kind of explanation. 205 00:10:37,160 --> 00:10:40,190 And again, if you go back to the website, 206 00:10:40,190 --> 00:10:43,330 they've posted these nine samples. 207 00:10:43,330 --> 00:10:45,080 And these are samples that students wrote, 208 00:10:45,080 --> 00:10:51,080 because they piloted this last year, and these are actual student responses. 209 00:10:51,080 --> 00:10:55,340 And they have graded them, and they actually 210 00:10:55,340 --> 00:10:59,120 have a commentary about why those got those scores. 211 00:10:59,120 --> 00:11:01,610 And so in terms of benchmarking for yourself, how much 212 00:11:01,610 --> 00:11:03,985 is enough to get the point? 213 00:11:03,985 --> 00:11:06,110 Looking at those nine samples will be very helpful. 214 00:11:06,110 --> 00:11:09,660 215 00:11:09,660 --> 00:11:11,940 Row four is your procedure with the parameter. 216 00:11:11,940 --> 00:11:17,610 Row five is you have to show an algorithm that you yourself wrote, 217 00:11:17,610 --> 00:11:23,550 and you have to have three things-- sequencing, selection, and iteration. 218 00:11:23,550 --> 00:11:27,180 So sequencing is just following an algorithm in the or of instruction. 219 00:11:27,180 --> 00:11:30,030 Selection is conditional statements, and iteration is basically 220 00:11:30,030 --> 00:11:31,600 a loop of some sort. 221 00:11:31,600 --> 00:11:34,950 And I believe-- and again, this is Douglas talking not College Board-- 222 00:11:34,950 --> 00:11:40,230 but I believe that a while loop will not count for both selection and iteration. 223 00:11:40,230 --> 00:11:42,330 I think it just counts as a loop. 224 00:11:42,330 --> 00:11:44,580 Even though technically a repeat until or a while loop 225 00:11:44,580 --> 00:11:46,590 has an embedded selection in it, I think they 226 00:11:46,590 --> 00:11:50,632 want to see something that's more explicitly like an if statement. 227 00:11:50,632 --> 00:11:51,840 But I might be wrong on that. 228 00:11:51,840 --> 00:11:54,990 Now, again, look at the scoring notes and the guidelines 229 00:11:54,990 --> 00:11:57,910 and the samples to get ideas on that. 230 00:11:57,910 --> 00:12:01,050 I also know that we have a number of people in our group 231 00:12:01,050 --> 00:12:06,810 who are readers, also, so feel free to weigh in. 232 00:12:06,810 --> 00:12:08,670 And again, this is just us teachers talking. 233 00:12:08,670 --> 00:12:12,300 None of this stuff should be taken as official College Board word. 234 00:12:12,300 --> 00:12:14,840 They have College Board forums that are online 235 00:12:14,840 --> 00:12:18,150 and you can post questions there, and often the College Board folks 236 00:12:18,150 --> 00:12:20,038 will answer there. 237 00:12:20,038 --> 00:12:21,330 Quick question from Steve Daly. 238 00:12:21,330 --> 00:12:24,430 Why did the College Board eliminate the Explore Task? 239 00:12:24,430 --> 00:12:27,035 If I were-- here's what the College Board would say, 240 00:12:27,035 --> 00:12:28,410 because I've heard them say this. 241 00:12:28,410 --> 00:12:30,980 They are not eliminating the Explore requirement. 242 00:12:30,980 --> 00:12:33,660 Explore, they still want you to talk with kids 243 00:12:33,660 --> 00:12:38,590 about data, data privacy, data storage. 244 00:12:38,590 --> 00:12:42,700 They still want you to talk about the harmful and beneficial effects 245 00:12:42,700 --> 00:12:44,290 of computing innovations on society. 246 00:12:44,290 --> 00:12:48,640 That still should be a part of your course. 247 00:12:48,640 --> 00:12:54,010 They just eliminated assessing it, because it was impossible to assess. 248 00:12:54,010 --> 00:12:59,590 It's basically a research paper, and just like with any rubric, 249 00:12:59,590 --> 00:13:03,340 the peril of a rubric is you have responses that are beautifully written 250 00:13:03,340 --> 00:13:06,570 and answer the prompt wonderfully and get like a zero, 251 00:13:06,570 --> 00:13:09,280 and then you have others that are really, really terrible, 252 00:13:09,280 --> 00:13:11,680 and they end up getting full points. 253 00:13:11,680 --> 00:13:16,330 And I think we've tuned both rubrics the best that we could 254 00:13:16,330 --> 00:13:17,470 for the previous tasks. 255 00:13:17,470 --> 00:13:20,050 And we created this new Create Task specifically 256 00:13:20,050 --> 00:13:26,020 to try to make it harder for really lousy clicker games and things to kind 257 00:13:26,020 --> 00:13:27,850 of skate through the rubric. 258 00:13:27,850 --> 00:13:30,040 But the Explore Task was a huge challenge. 259 00:13:30,040 --> 00:13:33,670 And I just personally, I think it would have been really, really hard 260 00:13:33,670 --> 00:13:35,890 to come up with a better rubric. 261 00:13:35,890 --> 00:13:39,850 And even that was I don't think enough to really effectively objectively 262 00:13:39,850 --> 00:13:41,717 compare written responses. 263 00:13:41,717 --> 00:13:44,800 If somebody figures out how to do that, maybe using machine learning that, 264 00:13:44,800 --> 00:13:49,450 would make a million dollars. 265 00:13:49,450 --> 00:13:52,540 So anyway, I hope that answers your question. 266 00:13:52,540 --> 00:13:57,580 OK, so let me talk a little bit about what we do at Punahou. 267 00:13:57,580 --> 00:14:00,580 Again, I didn't have a great experience using 268 00:14:00,580 --> 00:14:06,253 kids' CS50 independent projects at the end of the year as their Create Task. 269 00:14:06,253 --> 00:14:08,170 And I know that it's intended to be summative, 270 00:14:08,170 --> 00:14:12,340 but frankly if all you're doing is assessing these things, 271 00:14:12,340 --> 00:14:17,970 it's pretty easy to meet these requirements with a Scratch project. 272 00:14:17,970 --> 00:14:20,410 And because we start with Scratch anyway, 273 00:14:20,410 --> 00:14:23,110 we actually spend just a little bit more time with Scratch 274 00:14:23,110 --> 00:14:25,770 in the beginning of the year when we start CS50, 275 00:14:25,770 --> 00:14:28,840 and we start talking about abstraction right off the bat. 276 00:14:28,840 --> 00:14:31,607 So usually, what I'll do is I'll show them the cat and the stage 277 00:14:31,607 --> 00:14:33,940 and have them watch David's video and then I'll say, OK, 278 00:14:33,940 --> 00:14:35,140 how would you draw a square? 279 00:14:35,140 --> 00:14:36,848 Actually, the first thing I would do is I 280 00:14:36,848 --> 00:14:40,230 would have a kid in front of the class stand up, put a chair on the floor 281 00:14:40,230 --> 00:14:42,730 and say, someone give him instructions, or her instructions, 282 00:14:42,730 --> 00:14:44,063 on how to walk around the chair. 283 00:14:44,063 --> 00:14:46,527 And usually, it's forward some amount, turn right. 284 00:14:46,527 --> 00:14:47,860 Forward some amount, turn right. 285 00:14:47,860 --> 00:14:49,193 Forward some amount, turn right. 286 00:14:49,193 --> 00:14:51,880 And you do that in person. 287 00:14:51,880 --> 00:14:54,692 You do it in Scratch, you have eight lines of instruction. 288 00:14:54,692 --> 00:14:56,650 You get that down to three lines of instruction 289 00:14:56,650 --> 00:14:58,692 by talking about a repeat, because really, you're 290 00:14:58,692 --> 00:15:01,940 just looking at the same two instructions repeated four times, 291 00:15:01,940 --> 00:15:03,610 so you repeat four. 292 00:15:03,610 --> 00:15:06,950 Once you do that, you have the cat drawing a square, 293 00:15:06,950 --> 00:15:08,810 then you create a block. 294 00:15:08,810 --> 00:15:11,450 And so within half an hour on the first day of class, 295 00:15:11,450 --> 00:15:12,930 I have them creating a block. 296 00:15:12,930 --> 00:15:15,710 So in Scratch, you just go to Make a Block. 297 00:15:15,710 --> 00:15:18,110 And essentially, they've created a function 298 00:15:18,110 --> 00:15:22,090 that has an algorithm attached. 299 00:15:22,090 --> 00:15:25,130 I am going to stop sharing and show you Scratch for a second. 300 00:15:25,130 --> 00:15:29,060 301 00:15:29,060 --> 00:15:32,300 Actually, before I do that, let me just jump over to the questions 302 00:15:32,300 --> 00:15:35,988 and answer some of the questions that are showing up here. 303 00:15:35,988 --> 00:15:38,030 How does Douglas or other people handle the issue 304 00:15:38,030 --> 00:15:41,450 of not being able to assist with their Assess the Create Task? 305 00:15:41,450 --> 00:15:42,980 I give them practice. 306 00:15:42,980 --> 00:15:45,110 I give them a file that I've created, and I 307 00:15:45,110 --> 00:15:49,372 tell them to write a written response as if they wrote it. 308 00:15:49,372 --> 00:15:52,580 And then, I give them feedback and say, here's where you described this best. 309 00:15:52,580 --> 00:15:53,300 Here's where you didn't. 310 00:15:53,300 --> 00:15:54,950 Here's where you need to say more. 311 00:15:54,950 --> 00:15:58,320 Because honestly, again like I said, coming up 312 00:15:58,320 --> 00:16:03,060 with a task that satisfies the requirements on paper is really easy, 313 00:16:03,060 --> 00:16:05,010 but explaining it is hard. 314 00:16:05,010 --> 00:16:08,590 And so you have to give kids a lot of practice with writing. 315 00:16:08,590 --> 00:16:11,430 And so I would give them a couple of-- 316 00:16:11,430 --> 00:16:17,790 have them basically write practice, practice on one that I wrote, 317 00:16:17,790 --> 00:16:21,263 then have them do a simple task, and then write a response on that. 318 00:16:21,263 --> 00:16:24,180 And then, I give them feedback on it or classmates give them feedback, 319 00:16:24,180 --> 00:16:25,238 but they can't submit it. 320 00:16:25,238 --> 00:16:26,280 It's not the Create Task. 321 00:16:26,280 --> 00:16:27,510 Then, they do a third one. 322 00:16:27,510 --> 00:16:30,750 And as they do that, their comfort level with programming and with using 323 00:16:30,750 --> 00:16:33,250 the blocks and Scratch blocks and thinking about algorithms, 324 00:16:33,250 --> 00:16:34,773 that will increase. 325 00:16:34,773 --> 00:16:37,690 I get kids who are in a rush to move on from Scratch, and I tell them, 326 00:16:37,690 --> 00:16:38,190 no, no, no. 327 00:16:38,190 --> 00:16:38,940 Hold on. 328 00:16:38,940 --> 00:16:43,427 Scratch is really, really good for teaching you how to think. 329 00:16:43,427 --> 00:16:45,760 And this really is a course about learning how to think. 330 00:16:45,760 --> 00:16:49,620 It's not of course about any particular language. 331 00:16:49,620 --> 00:16:52,320 Students can collaborate on Create, yes, but they 332 00:16:52,320 --> 00:16:57,430 do need to do their own write-up, basically. 333 00:16:57,430 --> 00:16:59,140 And yes, they did-- 334 00:16:59,140 --> 00:17:03,010 my kids did do the Create Task in Scratch, 335 00:17:03,010 --> 00:17:06,520 and we were done with the Create Task in August. 336 00:17:06,520 --> 00:17:09,500 And in fact, we were done with the Explore Task in September. 337 00:17:09,500 --> 00:17:10,609 This is a big secret. 338 00:17:10,609 --> 00:17:13,000 I don't publicize this, and I don't tell my friends of the College Board 339 00:17:13,000 --> 00:17:14,792 that I do this, because they probably would 340 00:17:14,792 --> 00:17:20,920 be disappointed and chagrined, because I think they see it as a great summative 341 00:17:20,920 --> 00:17:21,740 task. 342 00:17:21,740 --> 00:17:26,589 But CS50 is so rigorous, and the kids are doing so much. 343 00:17:26,589 --> 00:17:29,410 In April or May, there's no question in my mind 344 00:17:29,410 --> 00:17:32,860 that the kids have gotten the foundations of computer science 345 00:17:32,860 --> 00:17:36,250 and computational skills like debugging and thinking critically. 346 00:17:36,250 --> 00:17:37,540 I know they get all that. 347 00:17:37,540 --> 00:17:40,120 The Create Task is supposed to assess that. 348 00:17:40,120 --> 00:17:48,853 But for many of the curricula, you need something like the Create Task 349 00:17:48,853 --> 00:17:51,520 at the end of the year to make sure that they've got that stuff. 350 00:17:51,520 --> 00:17:53,500 But there's never been a doubt in my mind 351 00:17:53,500 --> 00:17:59,290 that kids have all of the core principles of computer science 352 00:17:59,290 --> 00:18:02,560 probably by the first semester in CS50, because it 353 00:18:02,560 --> 00:18:05,800 is a very rigorous curriculum. 354 00:18:05,800 --> 00:18:11,230 But again, that's just my take on it. 355 00:18:11,230 --> 00:18:15,790 So I'm going to share a project with you that I just 356 00:18:15,790 --> 00:18:20,990 created quickly in Scratch, and this-- 357 00:18:20,990 --> 00:18:24,350 basically if I press the green button, this just 358 00:18:24,350 --> 00:18:28,160 draws polygons of different shapes on a screen in random locations. 359 00:18:28,160 --> 00:18:31,323 360 00:18:31,323 --> 00:18:33,240 And some of the polygons are a little crooked, 361 00:18:33,240 --> 00:18:36,780 which took me a little while to figure out why they were crooked, 362 00:18:36,780 --> 00:18:41,190 until I realized that it runs off the screen, and it kind of messes stuff up. 363 00:18:41,190 --> 00:18:44,670 But that's a great question to ask kids, why 364 00:18:44,670 --> 00:18:46,380 do you get some of these crooked ones? 365 00:18:46,380 --> 00:18:47,880 It's not that your angles are wrong. 366 00:18:47,880 --> 00:18:51,300 It's just how Scratch operates with boundaries. 367 00:18:51,300 --> 00:18:55,320 But basically, this is the kind of thing that within a couple of days, 368 00:18:55,320 --> 00:18:58,870 I've got kids looking at and understanding this kind of code. 369 00:18:58,870 --> 00:19:01,890 Like, the core selected algorithm in a sense 370 00:19:01,890 --> 00:19:04,440 is essentially this idea that you have a polygon, 371 00:19:04,440 --> 00:19:08,160 and I pass in a numerical value. 372 00:19:08,160 --> 00:19:17,370 If that value is five or less, then I'm going to draw that shape in green. 373 00:19:17,370 --> 00:19:20,160 Well, if it's greater than five, I'll draw it in red. 374 00:19:20,160 --> 00:19:24,480 Anything that is less will be green. 375 00:19:24,480 --> 00:19:26,130 That's selection. 376 00:19:26,130 --> 00:19:28,290 So I've got my selection here. 377 00:19:28,290 --> 00:19:31,170 I've got a repeat, so it's going to repeat this many times. 378 00:19:31,170 --> 00:19:34,470 So if five comes in, it's going to repeat this five times. 379 00:19:34,470 --> 00:19:36,630 It's going to move the same length, and it's 380 00:19:36,630 --> 00:19:40,530 going to turn-- this is the interior angle calculation. 381 00:19:40,530 --> 00:19:42,540 That's iteration. 382 00:19:42,540 --> 00:19:47,880 If you have selection and iteration, you automatically have sequencing. 383 00:19:47,880 --> 00:19:51,090 One of the requirements of the task is that they 384 00:19:51,090 --> 00:19:54,300 have a selected algorithm that shows all three of those things, 385 00:19:54,300 --> 00:19:58,980 but you really want to focus on selection and iteration. 386 00:19:58,980 --> 00:20:03,090 So this kind of counts for that. 387 00:20:03,090 --> 00:20:06,270 I've commented the code, as you can see. 388 00:20:06,270 --> 00:20:15,340 And I'm calling a block, or a function, by passing in a parameter. 389 00:20:15,340 --> 00:20:18,760 And so I'm going to need to talk about two different cases that 390 00:20:18,760 --> 00:20:20,300 result in two different things. 391 00:20:20,300 --> 00:20:25,050 So one case would probably be, I'm going to call polygon passing in five. 392 00:20:25,050 --> 00:20:26,800 And it's going to hit this, and it's going 393 00:20:26,800 --> 00:20:29,590 to execute the code where it draws it in green. 394 00:20:29,590 --> 00:20:34,960 And then, my other test case is, I'm going to call this passing in 10, 395 00:20:34,960 --> 00:20:38,242 and it's going to hit it's greater than five, 396 00:20:38,242 --> 00:20:40,450 so it's going to execute a different portion of code, 397 00:20:40,450 --> 00:20:41,825 and it's going to draw it in red. 398 00:20:41,825 --> 00:20:44,950 399 00:20:44,950 --> 00:20:48,850 Aside from that, I mean I have a reset block that kind of deletes 400 00:20:48,850 --> 00:20:51,160 the entire polygons list. 401 00:20:51,160 --> 00:20:55,130 When the green flag is clicked at this point when we run it, 402 00:20:55,130 --> 00:21:01,450 it's going to fill the list, essentially, this list on the side, 403 00:21:01,450 --> 00:21:04,570 with random numbers, so random numbers with sides from three to eight. 404 00:21:04,570 --> 00:21:07,770 This is what I would talk about when they ask, 405 00:21:07,770 --> 00:21:09,460 where is the data stored in the list? 406 00:21:09,460 --> 00:21:12,100 I would highlight this, draw a circle around it, whatever. 407 00:21:12,100 --> 00:21:14,200 This is where it's being stored. 408 00:21:14,200 --> 00:21:17,870 And then, we're going to repeat it, the length of the list number of times. 409 00:21:17,870 --> 00:21:22,270 And it's going to draw a polygon by passing in as a parameter 410 00:21:22,270 --> 00:21:27,010 each number from the list in order and then changing the index by one. 411 00:21:27,010 --> 00:21:30,820 So this is how the data is used. 412 00:21:30,820 --> 00:21:38,080 So nominally, this program should satisfy the requirements of the task. 413 00:21:38,080 --> 00:21:41,250 Now, the challenge is just writing the response, 414 00:21:41,250 --> 00:21:43,750 because you're not automatically going to get a six on this. 415 00:21:43,750 --> 00:21:47,590 You need to be able to explain how all of this stuff is being used. 416 00:21:47,590 --> 00:21:50,170 But again, I would start class by walking kids 417 00:21:50,170 --> 00:21:54,040 through in front of the group, this is how I build up to this point. 418 00:21:54,040 --> 00:21:56,080 And then I distribute that to them. 419 00:21:56,080 --> 00:21:58,540 In Scratch, you can actually go to Share, 420 00:21:58,540 --> 00:22:06,480 and you can type in the URL, which I will actually 421 00:22:06,480 --> 00:22:12,340 just share right now in chat so people can kind of take a look at it. 422 00:22:12,340 --> 00:22:18,240 Anyway, so again, I think that's about it 423 00:22:18,240 --> 00:22:19,920 in terms of what I wanted to present. 424 00:22:19,920 --> 00:22:24,060 I don't know if you have specific questions, but I'd love to-- 425 00:22:24,060 --> 00:22:26,710 I can take a few questions if you like. 426 00:22:26,710 --> 00:22:28,770 Also, I'm going to call out Lisa [? Standring, ?] 427 00:22:28,770 --> 00:22:32,253 who also with me has been doing this as well. 428 00:22:32,253 --> 00:22:34,170 She created some great worksheets for students 429 00:22:34,170 --> 00:22:37,650 that I used when I introduced this. 430 00:22:37,650 --> 00:22:39,360 Margaret has been a great-- 431 00:22:39,360 --> 00:22:41,620 collaborated with me as well on a lot of this stuff. 432 00:22:41,620 --> 00:22:45,810 So and Dan as well. 433 00:22:45,810 --> 00:22:47,520 So yeah, it's not just me. 434 00:22:47,520 --> 00:22:52,500 Like, I've been able to do what I do with students because of the CS50 list, 435 00:22:52,500 --> 00:22:57,240 so that email list has been a really great resource for asking 436 00:22:57,240 --> 00:23:00,960 questions and talking with people and coming up with ideas 437 00:23:00,960 --> 00:23:04,350 and sharing assessments and quizzes. 438 00:23:04,350 --> 00:23:08,300 I actually have a quick-- 439 00:23:08,300 --> 00:23:11,780 yeah, and Matthew Chang shares that the Scratch submissions are problematic, 440 00:23:11,780 --> 00:23:14,720 because students tend to list the event handlers as abstraction. 441 00:23:14,720 --> 00:23:16,597 Yeah, that is an issue. 442 00:23:16,597 --> 00:23:19,430 You've got to tell them when the green flag is clicked doesn't count 443 00:23:19,430 --> 00:23:21,130 as your procedure with parameters. 444 00:23:21,130 --> 00:23:24,005 But I think that's why they decided to still proceed with parameters, 445 00:23:24,005 --> 00:23:26,330 because you can't choose when green flag is clicked 446 00:23:26,330 --> 00:23:28,787 and satisfy the procedure with parameters requirement. 447 00:23:28,787 --> 00:23:32,370 448 00:23:32,370 --> 00:23:38,430 Yeah, so CSP, right now, they are way shorthanded on readers. 449 00:23:38,430 --> 00:23:42,420 So if you currently teach AP CS Principles 450 00:23:42,420 --> 00:23:45,240 and you apply to be a reader next year, you 451 00:23:45,240 --> 00:23:47,850 have a really, really good chance of getting in. 452 00:23:47,850 --> 00:23:50,610 And being a reader basically means-- 453 00:23:50,610 --> 00:23:54,870 at least except for this year, they would fly us out to Kansas City. 454 00:23:54,870 --> 00:23:57,810 They'd put us up in a hotel, and people would read as a group. 455 00:23:57,810 --> 00:24:01,650 And at night, we'd have guest speakers and go out to social events, 456 00:24:01,650 --> 00:24:04,620 and you get to really meet a lot of people in person, 457 00:24:04,620 --> 00:24:08,460 and it's a great way to share resources with teachers. 458 00:24:08,460 --> 00:24:11,400 And it's been a great part of my professional learning. 459 00:24:11,400 --> 00:24:17,012 This year was all virtual, but we still got together on Zoom calls and things 460 00:24:17,012 --> 00:24:18,470 like that, just to meet each other. 461 00:24:18,470 --> 00:24:22,300 So I definitely think it's a great experience. 462 00:24:22,300 --> 00:24:25,380 It is right in the beginning of June. 463 00:24:25,380 --> 00:24:28,630 At the very end of the year, by the way, or the very end of the calendar year, 464 00:24:28,630 --> 00:24:30,352 so in December-- 465 00:24:30,352 --> 00:24:32,310 I know we're talking about assessments earlier. 466 00:24:32,310 --> 00:24:34,810 One of the things that I wanted to share is that we actually 467 00:24:34,810 --> 00:24:36,550 do a collaborative final exam. 468 00:24:36,550 --> 00:24:41,838 So what we do is we have three programming questions 469 00:24:41,838 --> 00:24:43,130 that we choose to have kids do. 470 00:24:43,130 --> 00:24:48,800 So for instance, one of them is in C, if I put in dot slash calendar 471 00:24:48,800 --> 00:24:59,570 31 and then five, 31 is a number of days in a month, and five is like the day 472 00:24:59,570 --> 00:25:08,417 that Sunday falls on, or the first Sunday falls on which day in the month? 473 00:25:08,417 --> 00:25:10,250 And then the idea is, the kids need to write 474 00:25:10,250 --> 00:25:13,070 code that will print out at the command line 475 00:25:13,070 --> 00:25:18,410 the entire calendar, with the letter headers and then the numbers 476 00:25:18,410 --> 00:25:19,785 and have it all line up properly. 477 00:25:19,785 --> 00:25:22,850 478 00:25:22,850 --> 00:25:26,435 Another one that I did this year is I said, kids hadn't seen Sort yet, 479 00:25:26,435 --> 00:25:27,060 but I said, OK. 480 00:25:27,060 --> 00:25:28,230 You've got these numbers. 481 00:25:28,230 --> 00:25:31,530 How would you write code that would put these numbers in order? 482 00:25:31,530 --> 00:25:34,860 And we give this out about two or three weeks ahead of the exam date, 483 00:25:34,860 --> 00:25:37,820 and kids can talk with each other. 484 00:25:37,820 --> 00:25:38,730 They can go online. 485 00:25:38,730 --> 00:25:41,340 They can do whatever they want and write out-- 486 00:25:41,340 --> 00:25:43,380 we encourage them to write it in their IDE 487 00:25:43,380 --> 00:25:47,580 and actually write it out and plan it and come in with those three 488 00:25:47,580 --> 00:25:49,710 problems essentially solved. 489 00:25:49,710 --> 00:25:54,270 And then on the day of the exam, we give them a piece of paper and a pencil, 490 00:25:54,270 --> 00:25:56,880 and we say, here you go, and we pick one of those three. 491 00:25:56,880 --> 00:26:01,830 And they need to write it from memory. 492 00:26:01,830 --> 00:26:05,220 And we don't-- you know, we grade it the way that we used to grade the old 493 00:26:05,220 --> 00:26:06,390 APCSA. 494 00:26:06,390 --> 00:26:08,640 We're really looking for the quality of your thinking and how you solved it. 495 00:26:08,640 --> 00:26:10,432 We don't ding them on little syntax issues, 496 00:26:10,432 --> 00:26:12,550 like they forgot a semicolon, or things like that. 497 00:26:12,550 --> 00:26:15,510 We want to see, how did you solve that? 498 00:26:15,510 --> 00:26:18,180 And of course, just like with a lot of exams, 499 00:26:18,180 --> 00:26:21,690 the learning comes from the preparation and the meeting in groups 500 00:26:21,690 --> 00:26:23,280 to talk through these problems. 501 00:26:23,280 --> 00:26:26,450 If kids try to roll the dice and skip doing some of these, 502 00:26:26,450 --> 00:26:28,200 they're short changing their own learning. 503 00:26:28,200 --> 00:26:29,575 And we may or may not catch that. 504 00:26:29,575 --> 00:26:32,940 You know, if they get lucky, they get one that they've prepped. 505 00:26:32,940 --> 00:26:36,000 But we've done that now for a number of years, 506 00:26:36,000 --> 00:26:38,190 and I've shared those resources on the list. 507 00:26:38,190 --> 00:26:40,930 And when we have a resource, I'll throw those in there. 508 00:26:40,930 --> 00:26:43,380 But anyway, the understanding is that they come in. 509 00:26:43,380 --> 00:26:44,640 They write it from scratch. 510 00:26:44,640 --> 00:26:47,627 We give them about half an hour to hand write it. 511 00:26:47,627 --> 00:26:50,460 And then, what we do is we pair them up with somebody else in class, 512 00:26:50,460 --> 00:26:51,970 and they switch papers. 513 00:26:51,970 --> 00:26:55,410 And if you get somebody else's paper, it's going to be a different problem. 514 00:26:55,410 --> 00:26:58,493 And your job is then to leave comments for them and write through and say, 515 00:26:58,493 --> 00:26:59,250 this looks right. 516 00:26:59,250 --> 00:27:00,720 I think you missed-- 517 00:27:00,720 --> 00:27:03,180 I think the for loop should iterate in the other direction. 518 00:27:03,180 --> 00:27:03,830 They can circle it. 519 00:27:03,830 --> 00:27:05,038 They can write notes to them. 520 00:27:05,038 --> 00:27:07,320 The only thing they can't do is write code. 521 00:27:07,320 --> 00:27:10,633 And then, after about 15 minutes, we switch them back again, 522 00:27:10,633 --> 00:27:13,800 and you have the chance to incorporate the feedback that your classmate gave 523 00:27:13,800 --> 00:27:16,710 you before you finalize it and turn it in. 524 00:27:16,710 --> 00:27:19,142 And what we found was that that really captured better 525 00:27:19,142 --> 00:27:21,100 the collaborative environment in our classroom. 526 00:27:21,100 --> 00:27:22,320 We always thought it was a little artificial 527 00:27:22,320 --> 00:27:24,270 that you have to do this really tough problem, 528 00:27:24,270 --> 00:27:27,600 but either you don't have warning about what it's going to be ahead of time, 529 00:27:27,600 --> 00:27:30,225 you can't use any outside resources, and you can't collaborate. 530 00:27:30,225 --> 00:27:32,130 To me, that seems very artificial. 531 00:27:32,130 --> 00:27:32,555 532 00:27:32,555 --> 00:27:35,430 But we're trying to hold kids accountable for understanding something 533 00:27:35,430 --> 00:27:36,090 at the end of the year. 534 00:27:36,090 --> 00:27:38,298 So everybody knows that this final exam is coming up. 535 00:27:38,298 --> 00:27:40,200 Everybody knows that however much help you've 536 00:27:40,200 --> 00:27:43,290 been getting from TFs or other students, you still are going to-- 537 00:27:43,290 --> 00:27:46,350 some portion of it is going to be on you. 538 00:27:46,350 --> 00:27:50,320 And so that's been our final. 539 00:27:50,320 --> 00:27:52,770 And what I've found from doing our end of class surveys 540 00:27:52,770 --> 00:27:58,770 is that kids sometimes will say that they felt more concerned about letting 541 00:27:58,770 --> 00:28:00,300 another kid in class down. 542 00:28:00,300 --> 00:28:02,220 Like, they got their paper, but they hadn't prepped that problem. 543 00:28:02,220 --> 00:28:03,720 They couldn't give them any feedback. 544 00:28:03,720 --> 00:28:06,387 Nobody wanted to be in that position, because it's embarrassing. 545 00:28:06,387 --> 00:28:09,030 So they prepped harder for this exam than they 546 00:28:09,030 --> 00:28:12,120 would have if they were just being assessed singly, because we 547 00:28:12,120 --> 00:28:14,130 had built in the collaborative element. 548 00:28:14,130 --> 00:28:20,530 So again, I'm happy to share more resources like that with people. 549 00:28:20,530 --> 00:28:23,100 So anyway, thank you. 550 00:28:23,100 --> 00:28:27,010 551 00:28:27,010 --> 00:28:29,540 SPEAKER 1: Thank you, Douglas. 552 00:28:29,540 --> 00:28:32,150 We'll give you a virtual applause. 553 00:28:32,150 --> 00:28:35,750 554 00:28:35,750 --> 00:28:39,090 And I do believe, it looks like Howard does have one question for you 555 00:28:39,090 --> 00:28:41,430 before we transition. 556 00:28:41,430 --> 00:28:43,600 SPEAKER 3: All right, quick question. 557 00:28:43,600 --> 00:28:48,050 Douglas, I guess you kind of went through your thinking 558 00:28:48,050 --> 00:28:50,270 in terms of how you run a class, and I just 559 00:28:50,270 --> 00:28:52,840 wanted to see if you could maybe give a little bit more-- 560 00:28:52,840 --> 00:28:55,100 you went through a quick overview of like, 561 00:28:55,100 --> 00:28:58,610 you show a video that maybe David had already given. 562 00:28:58,610 --> 00:29:01,640 Just want to understand how you integrate 563 00:29:01,640 --> 00:29:06,110 the material that is on CS50 into one of your classes. 564 00:29:06,110 --> 00:29:10,370 Are you mainly just stopping the video and giving more background? 565 00:29:10,370 --> 00:29:15,050 Are you speaking to and asking them to, like you said, 566 00:29:15,050 --> 00:29:17,960 act out something that was presented? 567 00:29:17,960 --> 00:29:22,490 Just trying to understand how that class collaboration is-- 568 00:29:22,490 --> 00:29:24,420 how you do it. 569 00:29:24,420 --> 00:29:27,170 DOUGLAS KIANG: So the way I think about it is, I think about-- 570 00:29:27,170 --> 00:29:29,900 I see them several times a week. 571 00:29:29,900 --> 00:29:34,600 I think of what I provide to them in class as being a small section. 572 00:29:34,600 --> 00:29:37,900 The lecture, the large section, is David's videos. 573 00:29:37,900 --> 00:29:40,360 And so in the beginning of the year, I'll actually 574 00:29:40,360 --> 00:29:43,810 use my class time to show a portion of David's video, 575 00:29:43,810 --> 00:29:46,640 and I'll stop at some climactic point, exciting point 576 00:29:46,640 --> 00:29:50,870 and say, OK, a cliffhanger, but you need to go finish watching this. 577 00:29:50,870 --> 00:29:53,275 But the way that I try to organize it is-- 578 00:29:53,275 --> 00:29:55,150 my expectation from the beginning of the year 579 00:29:55,150 --> 00:29:57,340 is that they're watching David's lectures, 580 00:29:57,340 --> 00:30:00,423 and that they're looking at the notes, because there are hyperlinked notes 581 00:30:00,423 --> 00:30:03,460 for each of the lectures, and that they're 582 00:30:03,460 --> 00:30:04,900 coming into class with questions. 583 00:30:04,900 --> 00:30:07,810 And then, I run my class like a small section 584 00:30:07,810 --> 00:30:11,735 that basically shows hands on examples of what David has talked about. 585 00:30:11,735 --> 00:30:14,110 Sometimes, I'll use some of his examples and go over them 586 00:30:14,110 --> 00:30:17,740 again and go more slowly and say, what questions do you have? 587 00:30:17,740 --> 00:30:22,540 I will use Sandbox to kind of put up some pre problems that I've created. 588 00:30:22,540 --> 00:30:25,690 Sometimes-- if I know a problem set like Vigenere is coming up, 589 00:30:25,690 --> 00:30:29,822 I will create a Sandbox that has a simpler 590 00:30:29,822 --> 00:30:31,780 task that some component of what I know they're 591 00:30:31,780 --> 00:30:34,822 going to need to solve in Vigenere, and I'll have us all do it as a group 592 00:30:34,822 --> 00:30:36,570 together in Sandbox. 593 00:30:36,570 --> 00:30:38,590 And then, kids' code is already in Sandbox. 594 00:30:38,590 --> 00:30:41,140 They can go back to it and refer to it when they actually 595 00:30:41,140 --> 00:30:42,910 are doing the problems set. 596 00:30:42,910 --> 00:30:45,460 On the days after a problem set is due, I always 597 00:30:45,460 --> 00:30:48,040 take the first 10, 15 minutes of class and I have 598 00:30:48,040 --> 00:30:51,070 kids pair up and pull up their code. 599 00:30:51,070 --> 00:30:52,720 How did they solve that problem? 600 00:30:52,720 --> 00:30:55,900 And I have them two people on one machine, 601 00:30:55,900 --> 00:30:59,440 and the person who did not write the code is the one that's driving. 602 00:30:59,440 --> 00:31:01,820 And the person who did write the code doesn't 603 00:31:01,820 --> 00:31:03,820 have their hands on the keyboard, but the person 604 00:31:03,820 --> 00:31:05,100 who's driving talks through it. 605 00:31:05,100 --> 00:31:07,017 Oh, OK, I can see that you solved it this way, 606 00:31:07,017 --> 00:31:09,580 or I solved it differently than you, but this looks better. 607 00:31:09,580 --> 00:31:11,620 And they talk through it that way. 608 00:31:11,620 --> 00:31:14,110 And the level of excitement in the class just 609 00:31:14,110 --> 00:31:19,510 goes up tremendously on those days, because the kids have in many cases 610 00:31:19,510 --> 00:31:22,600 really come through a pretty difficult trial. 611 00:31:22,600 --> 00:31:25,210 Some of them spend hours and hours on this problem set, 612 00:31:25,210 --> 00:31:27,877 and they're proud of their work, and they want to talk about it. 613 00:31:27,877 --> 00:31:29,752 And then at the same time, they're fascinated 614 00:31:29,752 --> 00:31:32,410 that there are all these other ways of solving the problem that 615 00:31:32,410 --> 00:31:35,530 have the same Check 50 result, but the way that they were designed 616 00:31:35,530 --> 00:31:38,020 was much better, or different. 617 00:31:38,020 --> 00:31:41,080 And so those days we really-- those are our design days 618 00:31:41,080 --> 00:31:43,540 where we talk about design. 619 00:31:43,540 --> 00:31:46,510 But there was a period of time where I tried to basically look 620 00:31:46,510 --> 00:31:48,528 at David's lectures, and I was saying, well, I 621 00:31:48,528 --> 00:31:51,070 feel a responsibility since I'm the teacher in the classroom, 622 00:31:51,070 --> 00:31:52,570 I should be lecturing on this stuff. 623 00:31:52,570 --> 00:31:54,730 And I'm trying to copy it, and you know honestly, 624 00:31:54,730 --> 00:31:56,800 David's better than I am at that stuff. 625 00:31:56,800 --> 00:31:58,010 It's already done. 626 00:31:58,010 --> 00:32:00,447 There's no point in my trying to recreate those lectures. 627 00:32:00,447 --> 00:32:01,780 The content is really important. 628 00:32:01,780 --> 00:32:04,510 They should be watching those lectures. 629 00:32:04,510 --> 00:32:09,055 And if they come in and my TFs are working with them 630 00:32:09,055 --> 00:32:10,930 and they clearly haven't watched the lecture, 631 00:32:10,930 --> 00:32:13,170 or they make an appointment with me, and I say, have you watched the lecture? 632 00:32:13,170 --> 00:32:16,300 And they say, I haven't watched it yet, then I say, go watch the lecture. 633 00:32:16,300 --> 00:32:17,800 Because that is part of the class. 634 00:32:17,800 --> 00:32:20,050 If you're not watching the lecture, you're not getting the content. 635 00:32:20,050 --> 00:32:22,092 But that is one battle that I often have to fight 636 00:32:22,092 --> 00:32:25,180 with kids is that they feel like they can just do section and not 637 00:32:25,180 --> 00:32:26,980 do the lecture. 638 00:32:26,980 --> 00:32:32,140 Or I guess maybe they think that because they think of school as the class time, 639 00:32:32,140 --> 00:32:36,310 and it's not necessarily like a fourth meeting is really 640 00:32:36,310 --> 00:32:40,525 sitting in Sanders Theater and watching the actual lecture. 641 00:32:40,525 --> 00:32:41,400 SPEAKER 3: Thank you. 642 00:32:41,400 --> 00:32:43,830 I guess, could I have a follow up question to that, Douglas? 643 00:32:43,830 --> 00:32:45,122 DOUGLAS KIANG: Yeah, of course. 644 00:32:45,122 --> 00:32:47,755 SPEAKER 3: So I think that's a great idea, to-- 645 00:32:47,755 --> 00:32:50,130 both of those ideas were really good, to give them almost 646 00:32:50,130 --> 00:32:55,650 like a preview and then and hopefully catch them and make them actually 647 00:32:55,650 --> 00:32:57,060 want to watch the rest of it. 648 00:32:57,060 --> 00:33:01,680 I guess my question was more around the section aspect of it. 649 00:33:01,680 --> 00:33:04,343 Is it something that is-- 650 00:33:04,343 --> 00:33:05,760 I guess you said the four classes. 651 00:33:05,760 --> 00:33:07,802 I was just trying to understand your structuring. 652 00:33:07,802 --> 00:33:08,990 It seems like you have-- 653 00:33:08,990 --> 00:33:15,660 is it an assumed, you know, one class is the pre lecture, one is the post 654 00:33:15,660 --> 00:33:17,850 lecture for review questions? 655 00:33:17,850 --> 00:33:20,790 Is there a structure that you have that you could recommend 656 00:33:20,790 --> 00:33:23,820 or maybe take offline in terms of how you structure the classes? 657 00:33:23,820 --> 00:33:29,080 You kind of implied a structure that I'm interested in understanding more about. 658 00:33:29,080 --> 00:33:31,830 DOUGLAS KIANG: To be honest, Howard, all my classes are different, 659 00:33:31,830 --> 00:33:33,270 and they're kind of emergent based on what 660 00:33:33,270 --> 00:33:35,020 I think the kids need at that time. 661 00:33:35,020 --> 00:33:39,298 But I will say that my trend overall has been to talk less. 662 00:33:39,298 --> 00:33:41,090 The less I talk from the front of the room, 663 00:33:41,090 --> 00:33:44,720 the better the class is, apparently, which is a blow to my ego. 664 00:33:44,720 --> 00:33:47,270 But especially since the school has really 665 00:33:47,270 --> 00:33:49,910 been cracking down on not giving a ton of homework, 666 00:33:49,910 --> 00:33:53,480 I try to give kids as much time to work in groups on the problem sets 667 00:33:53,480 --> 00:33:57,020 in class as possible, and then I circulate around the room. 668 00:33:57,020 --> 00:34:00,230 And kids who won't ask questions in front of the entire class 669 00:34:00,230 --> 00:34:03,238 often will say to me quietly, yeah, I'm kind of stuck here. 670 00:34:03,238 --> 00:34:05,030 What would you recommend, or what can I do? 671 00:34:05,030 --> 00:34:08,570 And if I get the same question a lot, sometimes I'll 672 00:34:08,570 --> 00:34:10,530 go up to the front of the room and present it. 673 00:34:10,530 --> 00:34:16,730 But I think it's a conceit on my part that if I hear that same question 674 00:34:16,730 --> 00:34:18,620 and I realize, jeez, I should have covered, 675 00:34:18,620 --> 00:34:20,453 you know, access to elements from the array, 676 00:34:20,453 --> 00:34:23,328 then I go to the front of the room, and I'm like, OK, everybody stop. 677 00:34:23,328 --> 00:34:24,050 Hold on a second. 678 00:34:24,050 --> 00:34:26,133 I just want to take five minutes and go over this. 679 00:34:26,133 --> 00:34:29,179 Everybody else-- some people might be really close to solving a problem. 680 00:34:29,179 --> 00:34:32,304 Somebody might be trying to read through instructions, and all of a sudden, 681 00:34:32,304 --> 00:34:35,210 I'm asking you to stop everything you're doing so that I can tell you 682 00:34:35,210 --> 00:34:37,520 what I think is important. 683 00:34:37,520 --> 00:34:42,855 I'm doing that far less now, because I think it's wrong. 684 00:34:42,855 --> 00:34:45,230 I think my goal is to support them in their own learning. 685 00:34:45,230 --> 00:34:47,480 People learn differently, and it's my job 686 00:34:47,480 --> 00:34:52,850 to cue up and make available to them all the resources that they need ahead 687 00:34:52,850 --> 00:34:55,710 of time and have at their fingertips so that when they get stuck, 688 00:34:55,710 --> 00:34:57,960 they can choose whatever modality works best for them. 689 00:34:57,960 --> 00:34:59,127 Maybe it's David's lectures. 690 00:34:59,127 --> 00:35:00,050 Maybe it's a short. 691 00:35:00,050 --> 00:35:02,330 Maybe it's the HTML hyperlink lecture notes. 692 00:35:02,330 --> 00:35:03,290 Maybe it's me. 693 00:35:03,290 --> 00:35:04,790 Maybe it's a classmate. 694 00:35:04,790 --> 00:35:05,840 Maybe it's a TF. 695 00:35:05,840 --> 00:35:09,350 But having all of those different support mechanisms 696 00:35:09,350 --> 00:35:13,960 and really decreasing the amount of teacher instruction I think 697 00:35:13,960 --> 00:35:16,820 has been what's worked well for us, what's worked best for us. 698 00:35:16,820 --> 00:35:21,350 699 00:35:21,350 --> 00:35:22,070 Thanks. 700 00:35:22,070 --> 00:35:24,460 Good question. 701 00:35:24,460 --> 00:35:28,000 SPEAKER 1: Douglas, you got the big thumbs up. 702 00:35:28,000 --> 00:35:33,900 OK, I think Megan might be leaving for her anniversary celebration, so 703 00:35:33,900 --> 00:35:37,700 congratulations Megan, once again. 704 00:35:37,700 --> 00:35:39,015 And next we're going to. 705 00:35:39,015 --> 00:35:40,640 SPEAKER 4: I'm leaving in five minutes. 706 00:35:40,640 --> 00:35:41,223 SPEAKER 1: OK. 707 00:35:41,223 --> 00:35:43,520 708 00:35:43,520 --> 00:35:45,258 SPEAKER 4: Thank you. 709 00:35:45,258 --> 00:35:48,050 SPEAKER 1: Well, you still deserve congratulations and emoji claps. 710 00:35:48,050 --> 00:35:49,370 SPEAKER 4: Thank you so much. 711 00:35:49,370 --> 00:35:52,300 SPEAKER 1: Next, we're going to transition to Jenny Barnes, 712 00:35:52,300 --> 00:35:55,450 and I'll let her take it away. 713 00:35:55,450 --> 00:35:57,190 JENNY BARNES: Hi, thanks, guys. 714 00:35:57,190 --> 00:35:59,120 Man, it's kind of hard to follow you, Douglas. 715 00:35:59,120 --> 00:36:02,828 I have used so much of your material, and I don't have much to add. 716 00:36:02,828 --> 00:36:04,870 I love how you structure your class, and I strive 717 00:36:04,870 --> 00:36:06,770 to do those same things in my class. 718 00:36:06,770 --> 00:36:09,910 And I think you guys are going to see some of that in some 719 00:36:09,910 --> 00:36:14,510 of how I structure my classes as well. 720 00:36:14,510 --> 00:36:18,250 So I'm going to share my screen here really quick. 721 00:36:18,250 --> 00:36:24,940 I think that I am the less comfortable version of the panel, as you'll see. 722 00:36:24,940 --> 00:36:28,960 I started my very first class just letting my students 723 00:36:28,960 --> 00:36:31,540 know that I don't know how to code. 724 00:36:31,540 --> 00:36:35,200 It was a really uncomfortable experience. 725 00:36:35,200 --> 00:36:38,570 Of course, I've been doing this-- this is I going to be my fifth year teaching 726 00:36:38,570 --> 00:36:43,330 CS50, and I feel a lot more competent with my coding skills now, 727 00:36:43,330 --> 00:36:46,150 but I learned so much from that experience 728 00:36:46,150 --> 00:36:52,500 that I've really brought that idea into a lot of my teaching style. 729 00:36:52,500 --> 00:36:56,790 I find it absurd how much they let me do considering that I started as a math 730 00:36:56,790 --> 00:36:59,460 teacher that didn't know how to code. 731 00:36:59,460 --> 00:37:04,530 I've taught in rural Alaska native villages teaching every subject. 732 00:37:04,530 --> 00:37:08,370 Then, I went to a large comprehensive high school with seven class periods 733 00:37:08,370 --> 00:37:11,910 and and pre-algebra, and that was when I got the opportunity 734 00:37:11,910 --> 00:37:13,722 to teach computer science. 735 00:37:13,722 --> 00:37:15,930 We started with the team teaching model, that we just 736 00:37:15,930 --> 00:37:20,070 had so much fun getting to innovate different teaching strategies. 737 00:37:20,070 --> 00:37:21,730 It was a great experience. 738 00:37:21,730 --> 00:37:25,560 I moved on to a career in technical vocational school 739 00:37:25,560 --> 00:37:28,238 that had kind of morphed into a college prep school. 740 00:37:28,238 --> 00:37:31,530 And I'm now at the Middle College, and I worked directly with the Alaska Native 741 00:37:31,530 --> 00:37:34,890 Science and Engineering Program students who are taking college and high school 742 00:37:34,890 --> 00:37:37,133 classes concurrently. 743 00:37:37,133 --> 00:37:39,300 I've also had a chance to teach with girls who code, 744 00:37:39,300 --> 00:37:43,350 and actually I want to apologize for not being here all week. 745 00:37:43,350 --> 00:37:46,770 We had our Girls Who Code summer camp this week, so we just wrapped that up. 746 00:37:46,770 --> 00:37:51,210 And that was a lot of fun, though it was as much success as it was online. 747 00:37:51,210 --> 00:37:55,050 We still had almost 30 girls choose to be on a computer all week. 748 00:37:55,050 --> 00:37:56,408 It was amazing. 749 00:37:56,408 --> 00:37:58,950 We don't get that much sunshine in Alaska, so when it's here, 750 00:37:58,950 --> 00:38:00,600 it's hard to be inside. 751 00:38:00,600 --> 00:38:02,637 And then, actually this year, I had a chance 752 00:38:02,637 --> 00:38:04,720 to be a teaching fellow with the extension school, 753 00:38:04,720 --> 00:38:10,890 so I've been teaching a section with the CS50 Harvard Extension School. 754 00:38:10,890 --> 00:38:13,532 755 00:38:13,532 --> 00:38:14,865 So that's a little bit about me. 756 00:38:14,865 --> 00:38:18,960 757 00:38:18,960 --> 00:38:22,710 This Idea of I don't know how to code was such a powerful experience 758 00:38:22,710 --> 00:38:25,770 after coming as a math teacher, when I had the subject knowledge 759 00:38:25,770 --> 00:38:28,140 and could answer all the extension questions 760 00:38:28,140 --> 00:38:31,930 and knew where I was guiding them to and what the career options were. 761 00:38:31,930 --> 00:38:36,960 This coming in so green has been really cool to just model some of these things 762 00:38:36,960 --> 00:38:38,670 that we often talk about-- 763 00:38:38,670 --> 00:38:40,890 the bravery of failing gracefully, I think 764 00:38:40,890 --> 00:38:43,410 that's one of my superhero powers. 765 00:38:43,410 --> 00:38:46,350 I think it really highlights-- with First Robotics-- 766 00:38:46,350 --> 00:38:48,557 I'm sure a lot of you have had experience with that. 767 00:38:48,557 --> 00:38:50,890 You bring everyone in, and everyone has different roles. 768 00:38:50,890 --> 00:38:55,680 So not necessarily everybody on your team is coding or building robots, 769 00:38:55,680 --> 00:38:58,180 a lot of them are doing social media or fundraising. 770 00:38:58,180 --> 00:39:02,010 And so I like to bring that idea into my computer science classroom 771 00:39:02,010 --> 00:39:04,560 with our groups and just highlighting that everyone's 772 00:39:04,560 --> 00:39:07,650 contributing to the problem solving activity, 773 00:39:07,650 --> 00:39:12,460 whether or not they're the ones that crack the code at the end. 774 00:39:12,460 --> 00:39:15,480 And of course, just showing know how to seek help, use their resources, 775 00:39:15,480 --> 00:39:18,150 collaborate, mentorship, and it really in the end 776 00:39:18,150 --> 00:39:22,020 empowers students, which I think gives them that positive-- 777 00:39:22,020 --> 00:39:25,440 I really focus on making sure our students leave my class with a really 778 00:39:25,440 --> 00:39:28,020 positive experience towards computer science, 779 00:39:28,020 --> 00:39:32,980 and hopefully they'll continue their education with computer science. 780 00:39:32,980 --> 00:39:36,940 Kind of a big idea how I structure my class is I keep it very low stakes 781 00:39:36,940 --> 00:39:42,790 so that kids can get comfortable taking the risks that they need to take, 782 00:39:42,790 --> 00:39:45,460 but I set the bar really high, because I think that creates 783 00:39:45,460 --> 00:39:47,790 a really authentic learning experience. 784 00:39:47,790 --> 00:39:50,350 That's why I love using the Harvard CS50 program, 785 00:39:50,350 --> 00:39:52,300 is that these are actually real problems that 786 00:39:52,300 --> 00:39:54,350 are really hard for Harvard students. 787 00:39:54,350 --> 00:39:58,270 So when I have my eighth grader that's taking algebra 788 00:39:58,270 --> 00:40:01,240 solve one of these problems, it's so powerful for them 789 00:40:01,240 --> 00:40:03,700 to know that there are adult college students that 790 00:40:03,700 --> 00:40:05,730 struggled with this same problem. 791 00:40:05,730 --> 00:40:08,590 They have this very authentic internal reward, 792 00:40:08,590 --> 00:40:11,170 and I feel like I have to work a lot less hard as a teacher 793 00:40:11,170 --> 00:40:15,340 to give them carrots with grades and points and things like that. 794 00:40:15,340 --> 00:40:19,420 There's a big I can do this moment for every student at some point 795 00:40:19,420 --> 00:40:22,150 during the course that just brings me joy. 796 00:40:22,150 --> 00:40:24,580 I love it. 797 00:40:24,580 --> 00:40:26,500 Teaching this class is-- 798 00:40:26,500 --> 00:40:28,450 it just removes a lot of artificial barriers. 799 00:40:28,450 --> 00:40:30,010 The barriers are kind of built in. 800 00:40:30,010 --> 00:40:31,630 It's really hard. 801 00:40:31,630 --> 00:40:34,840 The feedback is built in with the Check 50, 802 00:40:34,840 --> 00:40:39,550 and I do something a little bit different with my academic honesty 803 00:40:39,550 --> 00:40:41,900 policy that I'll talk about here in a little bit, 804 00:40:41,900 --> 00:40:44,560 and I have a different tool that I use to kind of monitor that. 805 00:40:44,560 --> 00:40:47,080 806 00:40:47,080 --> 00:40:49,550 Can I get a thumbs up out there from somebody 807 00:40:49,550 --> 00:40:53,030 to make sure that you guys can hear me and everything's going OK? 808 00:40:53,030 --> 00:40:54,862 Great, thanks. 809 00:40:54,862 --> 00:40:56,570 So I'll talk about that a little bit more 810 00:40:56,570 --> 00:40:59,377 about how I do my academic honesty. 811 00:40:59,377 --> 00:41:02,210 But really, I like to tell students it's very much like puzzle week. 812 00:41:02,210 --> 00:41:05,120 We do a puzzle week at the beginning of the school year, 813 00:41:05,120 --> 00:41:08,300 and students just use whatever resources they can to solve these puzzles. 814 00:41:08,300 --> 00:41:10,740 And I take that same idea into their P-set, 815 00:41:10,740 --> 00:41:14,552 is use whatever resource you can to solve this problem without cheating, 816 00:41:14,552 --> 00:41:16,010 which we'll talk about in a minute. 817 00:41:16,010 --> 00:41:17,990 It's very much like solving riddles. 818 00:41:17,990 --> 00:41:23,090 So I kind of reveal hints in support over time to students that need them. 819 00:41:23,090 --> 00:41:24,800 Giving away the answer ruins the fun. 820 00:41:24,800 --> 00:41:27,510 Also, never getting to see the answer ruins the fun. 821 00:41:27,510 --> 00:41:30,110 It's all about making it a positive experience and making sure 822 00:41:30,110 --> 00:41:32,943 that students stay supported what they're going through these really 823 00:41:32,943 --> 00:41:35,940 challenging experiences. 824 00:41:35,940 --> 00:41:38,160 My academic honesty policy is, you must be 825 00:41:38,160 --> 00:41:41,290 able to explain every line of your submitted code. 826 00:41:41,290 --> 00:41:45,720 And what that allows my classroom to do is when they're working in groups, 827 00:41:45,720 --> 00:41:48,630 they can look at each other's code and have those discussions 828 00:41:48,630 --> 00:41:50,100 while they're coding. 829 00:41:50,100 --> 00:41:53,580 And some of the kids that are really struggling, they get those aha moments, 830 00:41:53,580 --> 00:41:56,370 and they get support they need in that capacity 831 00:41:56,370 --> 00:41:58,260 when I can't be with every student. 832 00:41:58,260 --> 00:42:04,820 And it helps me differentiate and create a much broader range in my classroom. 833 00:42:04,820 --> 00:42:08,160 And I really just enjoy having organic collaboration. 834 00:42:08,160 --> 00:42:11,730 Like Douglas said, I try to have most of my time in class 835 00:42:11,730 --> 00:42:14,850 where students are working in groups and working on problems 836 00:42:14,850 --> 00:42:16,800 and not listening to me talk. 837 00:42:16,800 --> 00:42:18,990 We watch a lot of shorts. 838 00:42:18,990 --> 00:42:23,400 I'll do demos and little sub examples that I know they'll need for the P-set, 839 00:42:23,400 --> 00:42:25,200 do something similar. 840 00:42:25,200 --> 00:42:30,660 I like to do live coding so they can see me making mistakes. 841 00:42:30,660 --> 00:42:35,620 And then, really the first two weeks of my course are really fun. 842 00:42:35,620 --> 00:42:36,630 We do a destruction day. 843 00:42:36,630 --> 00:42:39,870 I get old computers, and we pull the computers apart all day 844 00:42:39,870 --> 00:42:42,210 and identify all the pieces in the computer. 845 00:42:42,210 --> 00:42:48,600 We do the PB&J activity, a lot of the activities that are embedded with CS50. 846 00:42:48,600 --> 00:42:52,650 We do them every year so we can build that culture, and kids across grades 847 00:42:52,650 --> 00:42:56,922 can have those conversations about when their class did this activity, 848 00:42:56,922 --> 00:42:59,130 and they get a lot of chance to work with their peers 849 00:42:59,130 --> 00:43:02,222 and create friendships and form those groups organically. 850 00:43:02,222 --> 00:43:03,930 And they're not required to be in groups. 851 00:43:03,930 --> 00:43:07,190 There are some students that, of course, just like to work independently. 852 00:43:07,190 --> 00:43:13,310 853 00:43:13,310 --> 00:43:18,320 So the way I do check my academic honesty is through postmortems, 854 00:43:18,320 --> 00:43:22,010 and they used to have those built into the CS50 curriculum. 855 00:43:22,010 --> 00:43:28,290 And they have a video that would explain how you solve this problem. 856 00:43:28,290 --> 00:43:34,290 They don't have those anymore, so what I do is-- 857 00:43:34,290 --> 00:43:36,640 and it's kind of a low tech solution. 858 00:43:36,640 --> 00:43:39,730 My students have a hard time sometimes jumping between different programs. 859 00:43:39,730 --> 00:43:41,833 Lots of different accounts, logins. 860 00:43:41,833 --> 00:43:43,750 Some of my students really struggle with that, 861 00:43:43,750 --> 00:43:46,560 so we just stick with Google Classroom and Google everything. 862 00:43:46,560 --> 00:43:48,100 So we use Google Slides. 863 00:43:48,100 --> 00:43:52,580 And students go and they just screenshot their code and put it in a slide. 864 00:43:52,580 --> 00:43:57,490 So what I do is, I'll assign a P-set on Friday or a problem on Friday. 865 00:43:57,490 --> 00:44:02,410 It's due Thursday at midnight, so they have almost a full week. 866 00:44:02,410 --> 00:44:04,750 And then Fridays, we also do our postmortem. 867 00:44:04,750 --> 00:44:07,600 So you come in Friday morning, you're immediately 868 00:44:07,600 --> 00:44:09,670 going to put your code into your slide. 869 00:44:09,670 --> 00:44:11,890 It's already there in the Google Classroom for you. 870 00:44:11,890 --> 00:44:14,890 And then, their task is to read through other people's code 871 00:44:14,890 --> 00:44:16,060 and make three comments. 872 00:44:16,060 --> 00:44:21,130 So you can see over on the side their, there are student comments on the code. 873 00:44:21,130 --> 00:44:25,780 It works really well until we get to some of the larger P-sets, 874 00:44:25,780 --> 00:44:30,590 and then we maybe don't do the Google Slide show so much 875 00:44:30,590 --> 00:44:32,620 and we move just to the presentations. 876 00:44:32,620 --> 00:44:39,370 But this piece of the puzzle, this postmortem Google Slide communication 877 00:44:39,370 --> 00:44:41,595 piece, has been a real game changer for me, 878 00:44:41,595 --> 00:44:44,470 because what happens is while students are reading through and making 879 00:44:44,470 --> 00:44:48,850 comments, I also get to read through all of my students' code and skim through, 880 00:44:48,850 --> 00:44:50,995 and I can look for some design contrast so 881 00:44:50,995 --> 00:44:53,170 that we can have conversations about. 882 00:44:53,170 --> 00:44:56,530 I can check in and see which students maybe need some extra support. 883 00:44:56,530 --> 00:44:58,693 I can see which students don't have it done. 884 00:44:58,693 --> 00:45:00,610 All those kinds of things, and I can give them 885 00:45:00,610 --> 00:45:03,370 a design grade and a completion grade while the students 886 00:45:03,370 --> 00:45:05,460 are doing their comments. 887 00:45:05,460 --> 00:45:07,800 Super game changer. 888 00:45:07,800 --> 00:45:10,032 And then afterwards, I have students present. 889 00:45:10,032 --> 00:45:12,990 I have one student come up in front of the room and present their code, 890 00:45:12,990 --> 00:45:14,698 and that's where that idea that they have 891 00:45:14,698 --> 00:45:18,060 to be explaining every step of their code really comes into play. 892 00:45:18,060 --> 00:45:19,350 They have to be ready. 893 00:45:19,350 --> 00:45:22,440 And I didn't plan to do a volunteer, but all the students 894 00:45:22,440 --> 00:45:24,710 want to present eventually. 895 00:45:24,710 --> 00:45:27,450 Once they get comfortable, a lot of students 896 00:45:27,450 --> 00:45:31,160 are excited to share their code, so I have to at least have one volunteer, 897 00:45:31,160 --> 00:45:33,410 because there's usually many, many that want to share. 898 00:45:33,410 --> 00:45:36,243 And then afterwards, of course, we have the discussion about design. 899 00:45:36,243 --> 00:45:37,840 And it's one of my favorite days. 900 00:45:37,840 --> 00:45:40,950 There's just amazing aha moments that happened between the students, 901 00:45:40,950 --> 00:45:43,050 and it's not coming from me. 902 00:45:43,050 --> 00:45:46,500 They're learning from each other. 903 00:45:46,500 --> 00:45:50,030 Students that don't have it done or didn't get it completely done 904 00:45:50,030 --> 00:45:51,740 get to have that big reveal. 905 00:45:51,740 --> 00:45:54,440 They get to see the solution to the riddle. 906 00:45:54,440 --> 00:45:58,260 Now, they don't necessarily get to have access to that code after the activity, 907 00:45:58,260 --> 00:46:00,800 so we take that away from them, but they've seen it, 908 00:46:00,800 --> 00:46:03,800 and they've come up with some ideas on how then they can go and complete 909 00:46:03,800 --> 00:46:06,550 the assignment afterwards. 910 00:46:06,550 --> 00:46:09,740 The students get feedback right there immediately, 911 00:46:09,740 --> 00:46:13,620 and it's a check for academic honesty all in the same package. 912 00:46:13,620 --> 00:46:19,640 So that's my big joy is those postmortems. 913 00:46:19,640 --> 00:46:21,710 Students can still submit after the postmortem. 914 00:46:21,710 --> 00:46:23,420 I just give them up to 80%. 915 00:46:23,420 --> 00:46:25,760 They can't get 100% at that point. 916 00:46:25,760 --> 00:46:28,880 I don't like to manage who's late and how many points, all those things. 917 00:46:28,880 --> 00:46:31,550 It's very difficult for me to manage that with all of the-- 918 00:46:31,550 --> 00:46:33,467 computer science is a small part of what I do. 919 00:46:33,467 --> 00:46:34,980 I'm actually still a math teacher. 920 00:46:34,980 --> 00:46:37,430 So we keep it pretty open ended. 921 00:46:37,430 --> 00:46:39,563 They can submit when they have it done, and I 922 00:46:39,563 --> 00:46:41,480 have students that want to get their grade up, 923 00:46:41,480 --> 00:46:44,127 and they'll go back and redo some of their early P-sets 924 00:46:44,127 --> 00:46:45,710 and up their scores just a little bit. 925 00:46:45,710 --> 00:46:47,090 And I'm totally OK with that. 926 00:46:47,090 --> 00:46:49,340 They've learned the material, and they've demonstrated 927 00:46:49,340 --> 00:46:50,960 that they've learned the material. 928 00:46:50,960 --> 00:46:53,200 Fantastic. 929 00:46:53,200 --> 00:46:57,280 So for my grading, this was an idea I got from the CS50 training 930 00:46:57,280 --> 00:47:01,573 that I went to, is that most of the students in the class get an A or B. 931 00:47:01,573 --> 00:47:04,240 So you have students coming in that have never coded before that 932 00:47:04,240 --> 00:47:06,010 are so timid and scared to be there. 933 00:47:06,010 --> 00:47:07,390 And you have students that are-- 934 00:47:07,390 --> 00:47:09,080 I've had students on their way to MIT. 935 00:47:09,080 --> 00:47:12,550 They've already been accepted to the computer science program at MIT. 936 00:47:12,550 --> 00:47:16,000 So I have such a huge range in my classroom 937 00:47:16,000 --> 00:47:20,590 that the idea that I could grade different levels differently 938 00:47:20,590 --> 00:47:23,320 within the same course was kind of mindblowing to me, 939 00:47:23,320 --> 00:47:25,580 and I've had a lot of success with that. 940 00:47:25,580 --> 00:47:28,105 So I really like to support my students, and I have not 941 00:47:28,105 --> 00:47:30,820 just a less comfortable but a way less comfortable 942 00:47:30,820 --> 00:47:34,217 category and a way more comfortable category as well for students 943 00:47:34,217 --> 00:47:35,800 that really want to move on and excel. 944 00:47:35,800 --> 00:47:37,570 945 00:47:37,570 --> 00:47:40,480 I use a lot of P-sets that maybe we don't-- or the problems that we 946 00:47:40,480 --> 00:47:42,910 don't have a chance to get to in class. 947 00:47:42,910 --> 00:47:46,915 I add them as extra credit for some of the kids that are moving faster. 948 00:47:46,915 --> 00:47:50,270 949 00:47:50,270 --> 00:47:53,390 Yeah, it's not really graded against the content. 950 00:47:53,390 --> 00:47:55,440 I really focus on having a positive experience, 951 00:47:55,440 --> 00:47:56,607 their effort, participation. 952 00:47:56,607 --> 00:48:00,500 So they get a lot of support with hints that kind of get revealed 953 00:48:00,500 --> 00:48:02,750 over time to get those P-sets done. 954 00:48:02,750 --> 00:48:05,390 So there's really no reason for students to not complete them, 955 00:48:05,390 --> 00:48:07,348 especially once they get to see the postmortem. 956 00:48:07,348 --> 00:48:10,370 They actually get to see the answer, and they can still submit. 957 00:48:10,370 --> 00:48:14,150 We've had to kind of move towards a no homework required but at our school 958 00:48:14,150 --> 00:48:23,020 as well, and actually, the only pushback I've gotten from administration, 959 00:48:23,020 --> 00:48:24,970 students, the only real big push back I've 960 00:48:24,970 --> 00:48:28,540 gotten in four years of doing this in a variety of schools 961 00:48:28,540 --> 00:48:31,947 and environments was I've had so many parents come to me 962 00:48:31,947 --> 00:48:34,030 and say, how can you assign them so much homework? 963 00:48:34,030 --> 00:48:37,090 My student is staying up to 4:00 in the morning 964 00:48:37,090 --> 00:48:39,035 every night working on his problems. 965 00:48:39,035 --> 00:48:40,660 How can you give them so much homework? 966 00:48:40,660 --> 00:48:41,500 This is terrible. 967 00:48:41,500 --> 00:48:43,330 His other things are suffering. 968 00:48:43,330 --> 00:48:46,150 And I have to explain, and I repeat it to students all the time, 969 00:48:46,150 --> 00:48:47,410 there is no homework required. 970 00:48:47,410 --> 00:48:50,470 And it's just an indication of how addictive these problems are 971 00:48:50,470 --> 00:48:52,630 and how engaged they are with the content, 972 00:48:52,630 --> 00:48:54,520 and so having the conversation with parents 973 00:48:54,520 --> 00:48:59,630 and giving a different perspective on setting boundaries in a different way. 974 00:48:59,630 --> 00:49:02,070 I don't see any questions yet, so I'll just kind of-- 975 00:49:02,070 --> 00:49:03,160 I don't know if you guys have any questions. 976 00:49:03,160 --> 00:49:05,077 I feel like I've been talking for a long time, 977 00:49:05,077 --> 00:49:08,650 but I'll give you guys kind of a brief overview of how I structure my class. 978 00:49:08,650 --> 00:49:12,070 I'm sure you guys have heard a lot of this already. 979 00:49:12,070 --> 00:49:13,400 Oh, there is a question. 980 00:49:13,400 --> 00:49:15,550 Matthew, do you want to ask your question? 981 00:49:15,550 --> 00:49:23,570 SPEAKER 6: Yes, I love the idea of growing and wanting to get better 982 00:49:23,570 --> 00:49:26,530 and submitting again and again. 983 00:49:26,530 --> 00:49:29,260 My question, though, is like, how long-- 984 00:49:29,260 --> 00:49:30,830 do you just let them-- 985 00:49:30,830 --> 00:49:32,840 like, I just imagine that the quarter ends, 986 00:49:32,840 --> 00:49:36,910 or the grading period ends or is approaching the end, 987 00:49:36,910 --> 00:49:39,880 and suddenly everyone's going back to do all this work. 988 00:49:39,880 --> 00:49:44,580 Do you give a time from the day it's due? 989 00:49:44,580 --> 00:49:46,337 Or what is the window? 990 00:49:46,337 --> 00:49:47,920 JENNY BARNES: That's a great question. 991 00:49:47,920 --> 00:49:51,300 So we have a week for each problem, and it's due for the postmortem. 992 00:49:51,300 --> 00:49:54,520 So obviously, if they're going to participate, we use it in class. 993 00:49:54,520 --> 00:49:56,490 So if they're going to participate in their group in their conversation, 994 00:49:56,490 --> 00:49:58,020 they need to have it done. 995 00:49:58,020 --> 00:50:01,530 As far as going back, I don't actually have that many students do it. 996 00:50:01,530 --> 00:50:04,087 It's usually students that-- 997 00:50:04,087 --> 00:50:06,420 I don't know, were traveling in the beginning of school, 998 00:50:06,420 --> 00:50:08,340 or they had basketball, and they were traveling a lot 999 00:50:08,340 --> 00:50:11,382 in the beginning, that kind of want their grade GPA to be where they want 1000 00:50:11,382 --> 00:50:14,580 it, and I give them that opportunity. 1001 00:50:14,580 --> 00:50:16,687 I have had classes-- 1002 00:50:16,687 --> 00:50:18,520 you know, every class is a little different. 1003 00:50:18,520 --> 00:50:22,350 I've had classes where they're not as high functioning, 1004 00:50:22,350 --> 00:50:25,120 and I need to put some boundaries on it. 1005 00:50:25,120 --> 00:50:29,760 So the final problem in a unit after that is complete, 1006 00:50:29,760 --> 00:50:31,210 they can't go back and do anymore. 1007 00:50:31,210 --> 00:50:33,270 So I put that cap just within the unit. 1008 00:50:33,270 --> 00:50:36,920 Some classes, it's within a quarter, and some classes it's within the semester. 1009 00:50:36,920 --> 00:50:39,780 I like to do it within the semester, because that's not 1010 00:50:39,780 --> 00:50:41,070 an artificial barrier. 1011 00:50:41,070 --> 00:50:42,195 That doesn't come from me. 1012 00:50:42,195 --> 00:50:43,320 That comes from our school. 1013 00:50:43,320 --> 00:50:46,940 We have to submit grades, and that way, it's not me creating that boundary. 1014 00:50:46,940 --> 00:50:48,273 SPEAKER 6: All right, thank you. 1015 00:50:48,273 --> 00:50:50,985 1016 00:50:50,985 --> 00:50:54,110 JENNY BARNES: How do you support less abled students with special education 1017 00:50:54,110 --> 00:50:55,430 needs? 1018 00:50:55,430 --> 00:51:00,530 I think the idea that I don't have to stand and deliver 1019 00:51:00,530 --> 00:51:04,460 gives me the opportunity to go around and work with groups individually 1020 00:51:04,460 --> 00:51:06,200 and students individually. 1021 00:51:06,200 --> 00:51:07,220 And I'm on the floor. 1022 00:51:07,220 --> 00:51:08,518 Like, I'm on the floor a lot. 1023 00:51:08,518 --> 00:51:11,060 There are times when the classroom gets really self managing, 1024 00:51:11,060 --> 00:51:13,940 and certain units are easier to manage than others. 1025 00:51:13,940 --> 00:51:15,050 But I'm on the floor. 1026 00:51:15,050 --> 00:51:18,290 So when I have students with special needs, a lot of times 1027 00:51:18,290 --> 00:51:22,790 they'll end up in a group, and their group supports them. 1028 00:51:22,790 --> 00:51:25,248 I quickly, pretty quickly identify which groups 1029 00:51:25,248 --> 00:51:26,790 are going to need that extra support. 1030 00:51:26,790 --> 00:51:30,155 So after the little mini lesson, like this 1031 00:51:30,155 --> 00:51:32,030 is how you, this is what Strings are, we have 1032 00:51:32,030 --> 00:51:34,572 an activity so they can engage with the concept a little bit, 1033 00:51:34,572 --> 00:51:36,717 and then they get to start their P-set. 1034 00:51:36,717 --> 00:51:39,050 There's usually a couple of groups that I'll pull aside, 1035 00:51:39,050 --> 00:51:44,040 and I'll go through and break down the problems into steps 1036 00:51:44,040 --> 00:51:47,300 and I'll say, OK, step number one, just like we did on Mario, 1037 00:51:47,300 --> 00:51:49,380 we had to check the user input. 1038 00:51:49,380 --> 00:51:51,750 So on Ceasar, what's the first thing we're going to do? 1039 00:51:51,750 --> 00:51:53,250 We're going to check the user input. 1040 00:51:53,250 --> 00:51:54,630 OK, let's get that part done. 1041 00:51:54,630 --> 00:51:57,470 And so you can give him that step by step structure 1042 00:51:57,470 --> 00:51:59,780 while the other kids that are more advanced 1043 00:51:59,780 --> 00:52:02,600 are just tackling this problem. 1044 00:52:02,600 --> 00:52:05,790 Hope that answers your question. 1045 00:52:05,790 --> 00:52:08,285 I don't think I do anything revolutionary with my class, 1046 00:52:08,285 --> 00:52:09,910 but I have been doing this for a while. 1047 00:52:09,910 --> 00:52:12,452 1048 00:52:12,452 --> 00:52:14,160 And I just love teaching it so much, so I 1049 00:52:14,160 --> 00:52:16,770 hope to encourage you guys to all keep teaching it. 1050 00:52:16,770 --> 00:52:21,420 My breakdown is, I actually picked up the idea of doing the Create Task early 1051 00:52:21,420 --> 00:52:22,650 from Douglas. 1052 00:52:22,650 --> 00:52:28,860 But I use it as my end of semester one wrap up final project, 1053 00:52:28,860 --> 00:52:31,130 because I tend to lose some students at semester one. 1054 00:52:31,130 --> 00:52:35,780 There's usually three or four students that will drop at semester one, 1055 00:52:35,780 --> 00:52:39,770 so it's nice to kind of give that a rounded completion. 1056 00:52:39,770 --> 00:52:42,710 And week two is I think where Strings get introduced, 1057 00:52:42,710 --> 00:52:45,853 so you have some tools that are fun. 1058 00:52:45,853 --> 00:52:48,270 And I don't spend that much time in Scratch I don't know-- 1059 00:52:48,270 --> 00:52:51,350 I think at our school district, they use it a lot in middle school. 1060 00:52:51,350 --> 00:52:55,730 So when kids come into my classroom, they go, oh, Scratch. 1061 00:52:55,730 --> 00:52:58,400 And so I think in some ways, it's comforting 1062 00:52:58,400 --> 00:53:02,150 that they're having this transition that they're comfortable with, 1063 00:53:02,150 --> 00:53:06,265 but I don't think I could keep them inspired in Scratch very long. 1064 00:53:06,265 --> 00:53:08,140 I don't know if anyone else has that problem. 1065 00:53:08,140 --> 00:53:11,660 1066 00:53:11,660 --> 00:53:14,150 They can submit the Create Task in December. 1067 00:53:14,150 --> 00:53:17,390 I usually have them upload it so they can't lose it, 1068 00:53:17,390 --> 00:53:19,250 because they lose things. 1069 00:53:19,250 --> 00:53:23,270 But they don't submit it, and then right before the test, 1070 00:53:23,270 --> 00:53:27,290 we will do an activity where they review each other's and submit. 1071 00:53:27,290 --> 00:53:31,142 1072 00:53:31,142 --> 00:53:32,850 And they have to submit by April, and you 1073 00:53:32,850 --> 00:53:36,450 get a lot of emails and notifications that the due date is coming. 1074 00:53:36,450 --> 00:53:37,022 Let's see. 1075 00:53:37,022 --> 00:53:38,480 I'm trying to understand the slide. 1076 00:53:38,480 --> 00:53:39,272 Do you cover seven? 1077 00:53:39,272 --> 00:53:41,850 1078 00:53:41,850 --> 00:53:50,125 I think that the CS50 is so much more robust than what is required in AP CSP, 1079 00:53:50,125 --> 00:53:51,750 and they all are changing a little bit. 1080 00:53:51,750 --> 00:53:53,792 They might be growing together a little bit more, 1081 00:53:53,792 --> 00:53:58,950 but I know originally that was my experience and remains my experience. 1082 00:53:58,950 --> 00:54:06,390 I think that my CS50 students could probably do well on the final test, 1083 00:54:06,390 --> 00:54:08,840 on the AP test after semester one. 1084 00:54:08,840 --> 00:54:12,840 I think semester two, we spend a little bit more time with internet, so big 1085 00:54:12,840 --> 00:54:14,970 ideas about internet and data. 1086 00:54:14,970 --> 00:54:18,150 Some of the social issues involved in cybersecurity, 1087 00:54:18,150 --> 00:54:20,100 all that happens in semester two. 1088 00:54:20,100 --> 00:54:23,970 So because the coding, I think, in CS50 sometimes loses students 1089 00:54:23,970 --> 00:54:27,090 because it gets pretty advanced, so we do some of those other topics, 1090 00:54:27,090 --> 00:54:29,670 and we fill in the blanks in semester two. 1091 00:54:29,670 --> 00:54:32,040 So are there any questions about, I don't know, 1092 00:54:32,040 --> 00:54:33,440 the way I structure my class? 1093 00:54:33,440 --> 00:54:34,940 So I do Create Task in semester one. 1094 00:54:34,940 --> 00:54:37,732 Then, we start with the Explore Task when everyone's fresh and back 1095 00:54:37,732 --> 00:54:39,450 and we have discussions, but that's gone. 1096 00:54:39,450 --> 00:54:43,170 So we'll probably replace that with maybe a big data unit. 1097 00:54:43,170 --> 00:54:49,588 And sometimes, I have students that can do week four and week seven and eight. 1098 00:54:49,588 --> 00:54:50,880 They're usually pretty excited. 1099 00:54:50,880 --> 00:54:54,690 I've had a handful of students finish Finance over the years, but in general, 1100 00:54:54,690 --> 00:54:56,970 my classes aren't-- 1101 00:54:56,970 --> 00:54:59,910 we're just not able to get through the whole curriculum, 1102 00:54:59,910 --> 00:55:01,710 because we take so much time for projects. 1103 00:55:01,710 --> 00:55:04,500 We do the Create Practice, the Create Task, 1104 00:55:04,500 --> 00:55:06,330 and we also do a final project at the end, 1105 00:55:06,330 --> 00:55:08,520 which we'll talk about in a little bit. 1106 00:55:08,520 --> 00:55:11,040 Yeah, I did not know how to code when I started. 1107 00:55:11,040 --> 00:55:11,890 I'm a math teacher. 1108 00:55:11,890 --> 00:55:12,932 That helped a little bit. 1109 00:55:12,932 --> 00:55:17,010 And there was-- our district decided to say yes to coding finally, 1110 00:55:17,010 --> 00:55:18,960 so there was four of us in our district that 1111 00:55:18,960 --> 00:55:21,240 were all learning how to code together. 1112 00:55:21,240 --> 00:55:25,740 And one of them was an English teacher, and two of them 1113 00:55:25,740 --> 00:55:27,170 were theater teachers, actually. 1114 00:55:27,170 --> 00:55:29,670 So we had two drama teachers, an English teacher, and a math teacher. 1115 00:55:29,670 --> 00:55:32,003 So I actually felt like I really knew what I was. doing. 1116 00:55:32,003 --> 00:55:35,600 I was the technical person in the group. 1117 00:55:35,600 --> 00:55:40,350 But we all went to the CS50 training down in San Diego, 1118 00:55:40,350 --> 00:55:44,310 and we worked through, I think, the first three units 1119 00:55:44,310 --> 00:55:47,170 before we got there and then had a chance to discuss some of that. 1120 00:55:47,170 --> 00:55:52,740 So I had up through Caesar completed before I started teaching. 1121 00:55:52,740 --> 00:55:56,438 Caesar made me cry, and I love telling my students that. 1122 00:55:56,438 --> 00:55:59,730 I wasn't sure I was going to be able to do it, and I think a lot of my students 1123 00:55:59,730 --> 00:56:03,240 have the same experience, and it's a bonding moment. 1124 00:56:03,240 --> 00:56:06,960 But over the years-- it has been really gratifying to learn with my students. 1125 00:56:06,960 --> 00:56:10,590 And I know that sometimes, that can be really frustrating for students. 1126 00:56:10,590 --> 00:56:13,762 But in Alaska, we're used to not having very many resources, 1127 00:56:13,762 --> 00:56:15,720 so it's one of those things, like, at least you 1128 00:56:15,720 --> 00:56:17,480 have the opportunity to learn. 1129 00:56:17,480 --> 00:56:20,280 At least you have the opportunity to have the space and time, 1130 00:56:20,280 --> 00:56:22,090 and we can do it together. 1131 00:56:22,090 --> 00:56:24,950 So it's been a pretty positive experience. 1132 00:56:24,950 --> 00:56:27,890 Eight weeks is sufficient to prepare students for AP exams. 1133 00:56:27,890 --> 00:56:29,870 Cool. 1134 00:56:29,870 --> 00:56:32,400 So let's see. 1135 00:56:32,400 --> 00:56:35,280 Let me jump into a unit here. 1136 00:56:35,280 --> 00:56:36,605 Oh, I didn't do my week one. 1137 00:56:36,605 --> 00:56:37,730 I make a slide for my week. 1138 00:56:37,730 --> 00:56:38,580 I forgot. 1139 00:56:38,580 --> 00:56:40,110 But here is chapter zero. 1140 00:56:40,110 --> 00:56:42,240 I really love this one. 1141 00:56:42,240 --> 00:56:46,870 This is where we have so many interactive projects and discussions. 1142 00:56:46,870 --> 00:56:51,390 Destruction day is always a blast, where they're pulling computers apart. 1143 00:56:51,390 --> 00:56:52,620 Everyday algorithms. 1144 00:56:52,620 --> 00:56:55,392 I also extend that into the next unit, and we do flow charts. 1145 00:56:55,392 --> 00:56:57,600 And so in their group, they have to make a flow chart 1146 00:56:57,600 --> 00:57:00,040 and present their flow chart of their own algorithm 1147 00:57:00,040 --> 00:57:02,730 they've created after doing everyday algorithms. 1148 00:57:02,730 --> 00:57:08,070 And students really seem to engage with this idea that computers are stupid, 1149 00:57:08,070 --> 00:57:09,243 so we just start with that. 1150 00:57:09,243 --> 00:57:11,160 It's so empowering for them that the computers 1151 00:57:11,160 --> 00:57:12,410 don't know what they're doing. 1152 00:57:12,410 --> 00:57:14,140 I have to tell them. 1153 00:57:14,140 --> 00:57:16,620 So that's my week zero. 1154 00:57:16,620 --> 00:57:19,730 It's just in a Google Classroom. 1155 00:57:19,730 --> 00:57:22,630 I post resources and assignments. 1156 00:57:22,630 --> 00:57:26,590 A lot of that's just pulled right from the CS50 AP Site. 1157 00:57:26,590 --> 00:57:29,738 1158 00:57:29,738 --> 00:57:31,030 And oh, I need to wrap this up. 1159 00:57:31,030 --> 00:57:36,520 So the last thing I want talk about is community and recruitment. 1160 00:57:36,520 --> 00:57:39,310 As I've had opportunity to learn more coding and I love coding, 1161 00:57:39,310 --> 00:57:44,060 I find myself putting more time into building access and equity 1162 00:57:44,060 --> 00:57:46,060 into computer science education, because I think 1163 00:57:46,060 --> 00:57:50,650 it's so important for just empowering-- 1164 00:57:50,650 --> 00:57:53,650 having educated citizens and consumers that 1165 00:57:53,650 --> 00:57:57,340 can be a participant in our government, because our whole world is 1166 00:57:57,340 --> 00:57:58,360 moving digital. 1167 00:57:58,360 --> 00:58:01,377 So it's so important to me to make sure all kids have access 1168 00:58:01,377 --> 00:58:02,710 to a computer science education. 1169 00:58:02,710 --> 00:58:05,380 And our little cohort has really been working hard-- 1170 00:58:05,380 --> 00:58:09,130 Alaska, you may not be surprised to find out, is a little behind the curve in CS 1171 00:58:09,130 --> 00:58:10,000 education. 1172 00:58:10,000 --> 00:58:12,400 So we've hit barriers and had to-- we just 1173 00:58:12,400 --> 00:58:15,473 got our standards approved last year. 1174 00:58:15,473 --> 00:58:18,640 We've got some legislation passed now so students get math credit or science 1175 00:58:18,640 --> 00:58:23,110 credit for taking this class and really providing some avenues for teachers 1176 00:58:23,110 --> 00:58:26,800 to entice kids to taking these classes and growing it around the state, which 1177 00:58:26,800 --> 00:58:30,835 has all sorts of interesting barriers being out in rural Alaska. 1178 00:58:30,835 --> 00:58:33,460 One of the things we do to build community and make sure we get 1179 00:58:33,460 --> 00:58:35,500 recruitment is just a ton of events. 1180 00:58:35,500 --> 00:58:39,880 So I spent a lot of my time doing events instead of learning how to code. 1181 00:58:39,880 --> 00:58:41,740 The puzzle week, we do a whole week instead, 1182 00:58:41,740 --> 00:58:45,370 and we let students take the puzzles home and make groups, 1183 00:58:45,370 --> 00:58:49,210 and we all meet at the end of the week to do the reveal at the Fun Center, 1184 00:58:49,210 --> 00:58:51,820 and they play laser tag and all those kinds of things. 1185 00:58:51,820 --> 00:58:53,560 We do a guest speaker every year. 1186 00:58:53,560 --> 00:58:56,520 We usually reach out to somebody from CS50. 1187 00:58:56,520 --> 00:58:59,290 A former CS50 student-- a lot of them are at Microsoft. 1188 00:58:59,290 --> 00:59:02,930 There used to be some links where we could go and grab that information. 1189 00:59:02,930 --> 00:59:05,230 We've had a lot of guest speakers Skype in. 1190 00:59:05,230 --> 00:59:08,650 I take a group of kids to the Harvard CS50 fair every year. 1191 00:59:08,650 --> 00:59:10,570 It's a 2000 mile flight. 1192 00:59:10,570 --> 00:59:12,730 And it's a big deal. 1193 00:59:12,730 --> 00:59:17,300 Our district has supported that, and kids are paying their own way to go. 1194 00:59:17,300 --> 00:59:18,640 We have a good time. 1195 00:59:18,640 --> 00:59:21,930 We do a hackathon, and at the end of the year, we do a road show. 1196 00:59:21,930 --> 00:59:24,490 So we actually take all the computer science students 1197 00:59:24,490 --> 00:59:28,300 from every high school, and we take them to every middle school. 1198 00:59:28,300 --> 00:59:30,790 We do like an hour and a half at each middle school, 1199 00:59:30,790 --> 00:59:32,530 and they present their final projects. 1200 00:59:32,530 --> 00:59:34,870 And it's a great recruitment tool for eighth graders 1201 00:59:34,870 --> 00:59:37,395 and getting the younger kids to change their perspective 1202 00:59:37,395 --> 00:59:39,520 of what computer science is, that it's a community, 1203 00:59:39,520 --> 00:59:43,258 and that we have a lot of fun, and that there are cookies. 1204 00:59:43,258 --> 00:59:44,550 I also do the Teaching Fellows. 1205 00:59:44,550 --> 00:59:49,770 The P-sets tend to be like merit badges, so as they go through, 1206 00:59:49,770 --> 00:59:53,010 they'll talk to former students and like, oh, Mario was so hard 1207 00:59:53,010 --> 00:59:55,290 and all of those things. 1208 00:59:55,290 --> 00:59:58,280 We definitely use food as a cultural indicator. 1209 00:59:58,280 --> 00:59:59,810 Would do tacos and cake. 1210 00:59:59,810 --> 01:00:02,102 And we do the rubber duckies and the stress balls, 1211 01:00:02,102 --> 01:00:04,810 just like they have in the videos, and all those kinds of things. 1212 01:00:04,810 --> 01:00:06,620 So that is what I do. 1213 01:00:06,620 --> 01:00:11,040 There is a question about how I prepare my week. 1214 01:00:11,040 --> 01:00:15,900 And I do a little mini lesson, a big idea on Friday, 1215 01:00:15,900 --> 01:00:18,780 the second half of class and assign the P-set. 1216 01:00:18,780 --> 01:00:22,380 They have all week to work on it, and I'll do more mini lessons 1217 01:00:22,380 --> 01:00:23,630 throughout the week. 1218 01:00:23,630 --> 01:00:26,370 But I try and give them a day or two full class 1219 01:00:26,370 --> 01:00:28,290 periods where they get to work on the P-set, 1220 01:00:28,290 --> 01:00:29,940 and they're due Thursday at midnight. 1221 01:00:29,940 --> 01:00:32,920 Friday, we come in, and we do the postmortem. 1222 01:00:32,920 --> 01:00:34,450 So it does keep us on a schedule. 1223 01:00:34,450 --> 01:00:36,010 Keep us moving forward. 1224 01:00:36,010 --> 01:00:39,750 Let me see what questions I missed here. 1225 01:00:39,750 --> 01:00:40,560 Distance learning. 1226 01:00:40,560 --> 01:00:44,140 1227 01:00:44,140 --> 01:00:49,300 I had some students that didn't return the way our school district did it 1228 01:00:49,300 --> 01:00:53,740 I did have students finish but I only had three 1229 01:00:53,740 --> 01:00:58,810 so I'm not sure my experiences with distance learning this last quarter 1230 01:00:58,810 --> 01:01:00,940 is super relevant, I wouldn't think. 1231 01:01:00,940 --> 01:01:03,470 I'm looking for ideas on how to do this next year as well, 1232 01:01:03,470 --> 01:01:07,360 so I'm excited to hear what Margaret has to say. 1233 01:01:07,360 --> 01:01:10,300 I don't have software for flow charts. 1234 01:01:10,300 --> 01:01:17,060 I went and bought two by three white boards from Costco. 1235 01:01:17,060 --> 01:01:20,570 I got funding from somewhere, and I have a set of 15 of those in my classroom. 1236 01:01:20,570 --> 01:01:22,827 So students can go grab a whiteboard anytime. 1237 01:01:22,827 --> 01:01:25,750 1238 01:01:25,750 --> 01:01:30,460 My school's a public school district. 1239 01:01:30,460 --> 01:01:33,310 I've taught in so many different environments for my diversity 1240 01:01:33,310 --> 01:01:38,720 numbers, public, private, charter, all those different things, 1241 01:01:38,720 --> 01:01:41,473 it's really hard to say. 1242 01:01:41,473 --> 01:01:43,640 We've had a lot of success increasing our enrollment 1243 01:01:43,640 --> 01:01:45,440 and having more classes offered. 1244 01:01:45,440 --> 01:01:49,147 We still have a pretty low number of women and minorities, 1245 01:01:49,147 --> 01:01:51,980 but I do work for the Alaska Native Science and Engineering Program, 1246 01:01:51,980 --> 01:01:53,435 and so once we've kind of-- 1247 01:01:53,435 --> 01:01:55,310 now, we offer that class to them exclusively, 1248 01:01:55,310 --> 01:01:58,640 so I do have a class of native students every year 1249 01:01:58,640 --> 01:02:02,630 that that's really helped some of the diversity. 1250 01:02:02,630 --> 01:02:04,190 We don't have a lot of funding. 1251 01:02:04,190 --> 01:02:10,190 We are always going to partners in industry to look for funding. 1252 01:02:10,190 --> 01:02:15,730 And some years, I've had 20 students in a class. 1253 01:02:15,730 --> 01:02:19,750 I don't think I've ever had more than 22 students in a class in three sections. 1254 01:02:19,750 --> 01:02:22,370 Last year, I had one section and 10 students. 1255 01:02:22,370 --> 01:02:24,297 So there's just been a lot of variability. 1256 01:02:24,297 --> 01:02:28,040 1257 01:02:28,040 --> 01:02:30,920 If there's any questions, let's see. 1258 01:02:30,920 --> 01:02:32,680 I don't see any hands. 1259 01:02:32,680 --> 01:02:34,813 And I'm scanning here for more questions. 1260 01:02:34,813 --> 01:02:36,980 When you do the roadshow, can middle school students 1261 01:02:36,980 --> 01:02:38,870 register for a CS course? 1262 01:02:38,870 --> 01:02:39,500 I wish. 1263 01:02:39,500 --> 01:02:43,320 That would be amazing to have them sign up right there. 1264 01:02:43,320 --> 01:02:46,753 I don't think my school district is organized enough for that. 1265 01:02:46,753 --> 01:02:47,670 I'm going to try that. 1266 01:02:47,670 --> 01:02:48,503 That's a great idea. 1267 01:02:48,503 --> 01:02:52,430 1268 01:02:52,430 --> 01:02:55,177 My students have been pretty successful on the AP test, actually. 1269 01:02:55,177 --> 01:02:57,760 But I have a lot of students that are nervous about taking it. 1270 01:02:57,760 --> 01:03:01,800 They don't think they can take it, and I don't push them to take it. 1271 01:03:01,800 --> 01:03:02,480 That's not true. 1272 01:03:02,480 --> 01:03:02,980 I do. 1273 01:03:02,980 --> 01:03:07,077 I really like them to take the test, because I think if they pass the CS50, 1274 01:03:07,077 --> 01:03:08,410 they are going to be successful. 1275 01:03:08,410 --> 01:03:11,140 This is a really robust class. 1276 01:03:11,140 --> 01:03:14,063 I think it goes beyond the scope of CSP, and I 1277 01:03:14,063 --> 01:03:17,230 think getting those scores back builds a lot of confidence in these students 1278 01:03:17,230 --> 01:03:19,863 to move on, to see that they've passed the AP test. 1279 01:03:19,863 --> 01:03:22,780 A lot of my students just don't see themselves as computer scientists, 1280 01:03:22,780 --> 01:03:25,030 and so the whole point of the whole thing 1281 01:03:25,030 --> 01:03:28,660 is to encourage them to continue and change that perspective. 1282 01:03:28,660 --> 01:03:30,100 Over the years, let's see. 1283 01:03:30,100 --> 01:03:33,780 1284 01:03:33,780 --> 01:03:34,650 Cool. 1285 01:03:34,650 --> 01:03:36,570 I don't see any more questions, so I'm going 1286 01:03:36,570 --> 01:03:39,263 to stop talking here, unless somebody's got a hand. 1287 01:03:39,263 --> 01:03:41,430 Thank you guys for listening to me talk for so long. 1288 01:03:41,430 --> 01:03:43,960 1289 01:03:43,960 --> 01:03:46,687 You can reach out anytime if you have more questions. 1290 01:03:46,687 --> 01:03:49,370 1291 01:03:49,370 --> 01:03:51,870 SPEAKER 1: We'll give you a big round of applause, Jenny. 1292 01:03:51,870 --> 01:03:52,870 JENNY BARNES: Thank you. 1293 01:03:52,870 --> 01:03:58,280 1294 01:03:58,280 --> 01:04:01,280 SPEAKER 1: Next up, we have Margaret from New York. 1295 01:04:01,280 --> 01:04:03,067 Margaret, we'll turn it over to you. 1296 01:04:03,067 --> 01:04:04,400 MARGARET TANZOSH: OK, thank You. 1297 01:04:04,400 --> 01:04:05,780 Hi, everybody. 1298 01:04:05,780 --> 01:04:07,880 Gosh, I feel like I have like nothing left to say. 1299 01:04:07,880 --> 01:04:10,045 That was so complete and amazing. 1300 01:04:10,045 --> 01:04:12,170 And actually, a lot of what I do, Jenny, you'll see 1301 01:04:12,170 --> 01:04:15,000 is actually pretty similar to the way you structure your class. 1302 01:04:15,000 --> 01:04:20,062 So I teach at a public high school in New York City. 1303 01:04:20,062 --> 01:04:22,520 As I think I mentioned, it it's called Gifted and Talented. 1304 01:04:22,520 --> 01:04:23,730 It's a screened high school. 1305 01:04:23,730 --> 01:04:26,360 But we still have a very diverse population. 1306 01:04:26,360 --> 01:04:32,120 We have special ed kids along with kids that are amazing. 1307 01:04:32,120 --> 01:04:33,518 This was a picture-- 1308 01:04:33,518 --> 01:04:35,060 and not that they're not all amazing. 1309 01:04:35,060 --> 01:04:37,170 They're all amazing. 1310 01:04:37,170 --> 01:04:38,600 This is a picture from last year. 1311 01:04:38,600 --> 01:04:39,620 We had a big hackathon-- 1312 01:04:39,620 --> 01:04:42,020 I think David had showed a picture the first day-- 1313 01:04:42,020 --> 01:04:46,252 the front of my school, and we had both invited the middle school. 1314 01:04:46,252 --> 01:04:47,960 It's a K through 12 school, so we invited 1315 01:04:47,960 --> 01:04:51,080 the middle school and the high school to come just 1316 01:04:51,080 --> 01:04:54,200 to kind of see a profile of what our school looks like. 1317 01:04:54,200 --> 01:04:57,188 So I teach four sections of computer science. 1318 01:04:57,188 --> 01:04:58,730 At least, I have the last four years. 1319 01:04:58,730 --> 01:05:02,150 I've been teaching computer science for the last five years. 1320 01:05:02,150 --> 01:05:04,160 I was a math teacher before that. 1321 01:05:04,160 --> 01:05:06,850 I've also taught at the Harvard Extension School, 1322 01:05:06,850 --> 01:05:08,540 as has Jenny had discussed. 1323 01:05:08,540 --> 01:05:11,930 And generally, I've had four sections of computer science 1324 01:05:11,930 --> 01:05:15,260 and one section of AP Computer Science Principles. 1325 01:05:15,260 --> 01:05:20,770 And I often have somewhere between 130 and 150 students. 1326 01:05:20,770 --> 01:05:22,200 So it's a lot of students. 1327 01:05:22,200 --> 01:05:23,000 I don't have TAs. 1328 01:05:23,000 --> 01:05:25,730 I think one year, I had a TA in one of my classes. 1329 01:05:25,730 --> 01:05:28,550 But students have a very heavy schedule. 1330 01:05:28,550 --> 01:05:29,960 There's eight periods a day. 1331 01:05:29,960 --> 01:05:33,770 They are programmed for seven classes, plus the only break they get is lunch. 1332 01:05:33,770 --> 01:05:37,290 So we don't have halls, and we have very, 1333 01:05:37,290 --> 01:05:41,720 very occasionally, there may be a senior that has all their requirements done, 1334 01:05:41,720 --> 01:05:43,820 so they may occasionally have a TA available. 1335 01:05:43,820 --> 01:05:46,190 But it only happened one year. 1336 01:05:46,190 --> 01:05:49,010 So what I do, the way I run the class is I 1337 01:05:49,010 --> 01:05:51,080 really try to keep a lot of excitement going. 1338 01:05:51,080 --> 01:05:52,730 I really love to stress the events. 1339 01:05:52,730 --> 01:05:56,090 I put pictures up in my classroom from past year's events. 1340 01:05:56,090 --> 01:05:58,820 We always do Puzzle Day at the beginning of the year, which 1341 01:05:58,820 --> 01:06:00,380 draws kids not just from my class. 1342 01:06:00,380 --> 01:06:02,840 I open it up to the whole school. 1343 01:06:02,840 --> 01:06:04,258 Kids have a lot of fun. 1344 01:06:04,258 --> 01:06:05,300 They look at the puzzles. 1345 01:06:05,300 --> 01:06:06,350 They're like, oh my god. 1346 01:06:06,350 --> 01:06:07,392 What am I supposed to do? 1347 01:06:07,392 --> 01:06:08,380 I can't do that. 1348 01:06:08,380 --> 01:06:10,870 But I'll walk around. 1349 01:06:10,870 --> 01:06:12,870 I usually have another teacher there to help me. 1350 01:06:12,870 --> 01:06:14,578 We'll give them hints or whatever we need 1351 01:06:14,578 --> 01:06:16,950 to do so that every table gets at least one problem. 1352 01:06:16,950 --> 01:06:21,510 And then at the end, they all take turns explaining the solution to the problem, 1353 01:06:21,510 --> 01:06:23,570 so we've had tremendous fun with that. 1354 01:06:23,570 --> 01:06:26,960 Since we're in New York City, we're about two hour bus ride away from Yale, 1355 01:06:26,960 --> 01:06:30,320 so I hire a big bus, and we go up to the Yale fair every year. 1356 01:06:30,320 --> 01:06:34,433 We usually have about 30 kids or so that choose to do that with us. 1357 01:06:34,433 --> 01:06:37,100 And some kids have said it was like the highlight of their year. 1358 01:06:37,100 --> 01:06:38,810 They love it. 1359 01:06:38,810 --> 01:06:41,060 In past years, we've had a hackathon in the spring, 1360 01:06:41,060 --> 01:06:45,023 and then we have our own CS Fair in June. 1361 01:06:45,023 --> 01:06:46,440 And these are just a few pictures. 1362 01:06:46,440 --> 01:06:48,457 These are students working at Puzzle Day. 1363 01:06:48,457 --> 01:06:50,790 People really-- they're really immersed in the problems. 1364 01:06:50,790 --> 01:06:54,440 They're really addictive, and this was from the Yale Fair. 1365 01:06:54,440 --> 01:06:58,160 You can see, I have a very diverse group of students. 1366 01:06:58,160 --> 01:06:59,940 They had an amazing time, as I said. 1367 01:06:59,940 --> 01:07:02,360 Many of them said it was their highlight of the year. 1368 01:07:02,360 --> 01:07:06,200 And these are-- this is a picture from the Computer Science Fair. 1369 01:07:06,200 --> 01:07:08,330 We call it our own CS50 Fair. 1370 01:07:08,330 --> 01:07:11,123 Since we are K through 12, I'll often have third and fourth graders 1371 01:07:11,123 --> 01:07:13,790 come and look at some of the projects and play some of the games 1372 01:07:13,790 --> 01:07:14,870 that the students create. 1373 01:07:14,870 --> 01:07:18,058 And the kids just have so much pride about what 1374 01:07:18,058 --> 01:07:20,100 they've been able to accomplish through the year, 1375 01:07:20,100 --> 01:07:23,040 so we have a lot of fun with that. 1376 01:07:23,040 --> 01:07:28,010 So for my CS Intro class, I actually use the CS50 curriculum for everything. 1377 01:07:28,010 --> 01:07:31,920 I go off on a little branch, as you see, semester two for my intro. 1378 01:07:31,920 --> 01:07:35,082 But I always start with chapters zero, one, and two. 1379 01:07:35,082 --> 01:07:37,040 And kind of as Jenny said, a lot of my students 1380 01:07:37,040 --> 01:07:38,855 also have done Scratch in middle school. 1381 01:07:38,855 --> 01:07:41,230 So we'll do a couple of weeks, a week or two, of Scratch. 1382 01:07:41,230 --> 01:07:42,780 We don't spend a huge amount of time on it. 1383 01:07:42,780 --> 01:07:44,592 But they usually have a lot of fun with it. 1384 01:07:44,592 --> 01:07:46,800 I let them work in groups, and they create a project. 1385 01:07:46,800 --> 01:07:49,550 And we also do a lot of the writing problems 1386 01:07:49,550 --> 01:07:53,300 at the very beginning of the year, you know everyday algorithms and those. 1387 01:07:53,300 --> 01:07:56,100 And they enjoy them. 1388 01:07:56,100 --> 01:07:59,720 And those are the only things that I really assign for homework. 1389 01:07:59,720 --> 01:08:02,570 Generally, I structure the class so that I 1390 01:08:02,570 --> 01:08:07,550 do a very short warm up that might have a hint as to how to program 1391 01:08:07,550 --> 01:08:09,500 something in a P-set to come. 1392 01:08:09,500 --> 01:08:10,760 A short mini lesson. 1393 01:08:10,760 --> 01:08:12,290 I use the CS50 slides. 1394 01:08:12,290 --> 01:08:16,729 I divide them up, so I might just do a lesson one day on for loops. 1395 01:08:16,729 --> 01:08:20,420 And then, I try to let the students have-- we only have 45 minute 1396 01:08:20,420 --> 01:08:23,660 periods now, so I try to give them the rest of the period 1397 01:08:23,660 --> 01:08:25,986 to work on their programming problems. 1398 01:08:25,986 --> 01:08:28,819 And then I kind of-- as Jenny had mentioned, I walk around the room. 1399 01:08:28,819 --> 01:08:31,180 I help them, et cetera. 1400 01:08:31,180 --> 01:08:35,390 Semester two, we do Homepage, which is a CS50 problem. 1401 01:08:35,390 --> 01:08:38,000 And they loved that this year. 1402 01:08:38,000 --> 01:08:40,970 Interestingly, so I use the version from CS50 1403 01:08:40,970 --> 01:08:42,930 where the bootstrap link is already embedded 1404 01:08:42,930 --> 01:08:45,180 and taught them how to use a little bootstrap with it. 1405 01:08:45,180 --> 01:08:48,140 And they were so impressed that they could create such professional 1406 01:08:48,140 --> 01:08:48,877 looking websites. 1407 01:08:48,877 --> 01:08:50,960 And I gave them quite a lot of time to work on it. 1408 01:08:50,960 --> 01:08:51,460 1409 01:08:51,460 --> 01:08:54,220 So we go kind of slowly in the intro class. 1410 01:08:54,220 --> 01:08:57,200 We then, after Homepage, we do some JavaScript. 1411 01:08:57,200 --> 01:09:01,290 I introduce some p5.js, and students do a final project of their choice, again, 1412 01:09:01,290 --> 01:09:03,330 either individually or in groups. 1413 01:09:03,330 --> 01:09:04,649 And I try to make it fun. 1414 01:09:04,649 --> 01:09:06,700 I don't have harsh deadlines. 1415 01:09:06,700 --> 01:09:10,180 I have very flexible deadlines, so I have a suggested deadline. 1416 01:09:10,180 --> 01:09:13,439 And then, the programs are definitely due at the end of the marking period. 1417 01:09:13,439 --> 01:09:16,350 Hopefully at the end of the unit, but for some students, 1418 01:09:16,350 --> 01:09:18,390 I'll give them extra time and let them move on 1419 01:09:18,390 --> 01:09:21,279 until the end of the marking period. 1420 01:09:21,279 --> 01:09:24,390 So for my AP class, since most of them have already 1421 01:09:24,390 --> 01:09:28,073 been through a year of the intro class, we do a little review on chapter two. 1422 01:09:28,073 --> 01:09:30,240 And I'll try to pull some of the alternate problems. 1423 01:09:30,240 --> 01:09:34,830 I'll sometimes find them on the Harvard website, 1424 01:09:34,830 --> 01:09:36,819 like readability or substitution. 1425 01:09:36,819 --> 01:09:41,279 And I always post a lot of extra problems so that the students-- 1426 01:09:41,279 --> 01:09:44,529 I pretty much encourage them and allow them to work at their own pace. 1427 01:09:44,529 --> 01:09:51,479 So students that struggle do get extra time, and students that are more eager 1428 01:09:51,479 --> 01:09:54,180 and start doing the stuff through the night for homework 1429 01:09:54,180 --> 01:09:56,220 because they just love it so much, I always 1430 01:09:56,220 --> 01:09:58,080 have enough extra problems to post for them. 1431 01:09:58,080 --> 01:10:03,090 So I'll post the, as others have said, the more comfy versions 1432 01:10:03,090 --> 01:10:03,930 of the problems. 1433 01:10:03,930 --> 01:10:06,450 Or sometimes, I'll find a problem from previous years 1434 01:10:06,450 --> 01:10:11,090 and I'll post that up there, even from the next unit along with videos. 1435 01:10:11,090 --> 01:10:14,690 And so the order I've been kind of doing a bit of review in chapter two. 1436 01:10:14,690 --> 01:10:18,210 We do some of the-- 1437 01:10:18,210 --> 01:10:20,370 sorry, I'm getting texts from my family right now. 1438 01:10:20,370 --> 01:10:23,780 Now everybody chose right now to start texting. 1439 01:10:23,780 --> 01:10:26,720 Of course. 1440 01:10:26,720 --> 01:10:27,650 OK, what was I saying? 1441 01:10:27,650 --> 01:10:29,610 I lost my train of thought. 1442 01:10:29,610 --> 01:10:33,040 Chapter three, I do the searching and sorting algorithms, 1443 01:10:33,040 --> 01:10:34,380 and then we move on to Python. 1444 01:10:34,380 --> 01:10:37,350 So since they've already done some HTML and CSS the previous year, 1445 01:10:37,350 --> 01:10:39,177 we don't spend a lot of time on that. 1446 01:10:39,177 --> 01:10:41,010 And then, they'll work on their Create Task. 1447 01:10:41,010 --> 01:10:43,980 I'll use that as a final assessment for semester one. 1448 01:10:43,980 --> 01:10:48,000 And I actually have submit it-- our semester one ends in January, 1449 01:10:48,000 --> 01:10:51,547 so I'll have them submit it in January, and I'll grade it as a final exam. 1450 01:10:51,547 --> 01:10:53,880 And so they've already had some Python under their belt. 1451 01:10:53,880 --> 01:10:55,650 So I allow them to do it, of course, they 1452 01:10:55,650 --> 01:10:57,330 can do it in any language they want. 1453 01:10:57,330 --> 01:10:59,853 Most of them do it in either C or in Python. 1454 01:10:59,853 --> 01:11:01,770 And then, when they come back in semester two, 1455 01:11:01,770 --> 01:11:04,290 we do a little bit of Flask in chapter seven, 1456 01:11:04,290 --> 01:11:08,892 and then we'll also talk about a little bit of data during that. 1457 01:11:08,892 --> 01:11:11,850 And we had to get ready for Explore, now, we're not going to have that. 1458 01:11:11,850 --> 01:11:13,200 An exam review. 1459 01:11:13,200 --> 01:11:17,010 And then, some students are ready for finance and some are not. 1460 01:11:17,010 --> 01:11:19,920 So again, everybody doesn't do finance. 1461 01:11:19,920 --> 01:11:23,400 Again, I allow students that are able to move more quickly, 1462 01:11:23,400 --> 01:11:25,920 I'm there to support them with that. 1463 01:11:25,920 --> 01:11:29,730 But it's not something that everybody is really able to get into. 1464 01:11:29,730 --> 01:11:30,600 I post assignments. 1465 01:11:30,600 --> 01:11:31,642 I create custom websites. 1466 01:11:31,642 --> 01:11:34,558 Now, I'm not sure how I'm going to do that next year, because if we're 1467 01:11:34,558 --> 01:11:37,530 working remote, we might be asked to do everything on Google Classroom. 1468 01:11:37,530 --> 01:11:40,350 But I do like an intro-- 1469 01:11:40,350 --> 01:11:42,030 I'll escape from this. 1470 01:11:42,030 --> 01:11:43,470 I think you can probably. 1471 01:11:43,470 --> 01:11:45,520 Can people see this screen here? 1472 01:11:45,520 --> 01:11:48,073 So this is one of the intro websites. 1473 01:11:48,073 --> 01:11:51,240 I like it better than Classroom, because I can post all the assignments here 1474 01:11:51,240 --> 01:11:52,013 on the right. 1475 01:11:52,013 --> 01:11:53,430 I think it's easier to find stuff. 1476 01:11:53,430 --> 01:11:58,620 But so I'll pull from the CS50 materials, 1477 01:11:58,620 --> 01:12:01,770 and I'll put suggested due dates here often. 1478 01:12:01,770 --> 01:12:05,610 I also have them do a reflection after every program that they submit. 1479 01:12:05,610 --> 01:12:10,230 So for me, the ability to manage the academic honesty 1480 01:12:10,230 --> 01:12:13,380 is by asking them to write about their algorithms, 1481 01:12:13,380 --> 01:12:17,190 write about their development process, their aha moments in the reflections. 1482 01:12:17,190 --> 01:12:20,160 Because I don't have TAs and I have so many students, 1483 01:12:20,160 --> 01:12:22,650 I do encourage them to help each other. 1484 01:12:22,650 --> 01:12:24,510 Some students, I allow them to collaborate. 1485 01:12:24,510 --> 01:12:27,180 They'll actually develop some code together. 1486 01:12:27,180 --> 01:12:31,500 So I'm not looking so much to compare code but to look for understanding. 1487 01:12:31,500 --> 01:12:34,230 Sometimes, I do find a student where I see a submission, 1488 01:12:34,230 --> 01:12:37,620 and the code is way more advanced than anything I've taught, in which case, 1489 01:12:37,620 --> 01:12:40,488 I will sit down with that student and have a conversation with them. 1490 01:12:40,488 --> 01:12:42,780 And sometimes, it'll turn out that somebody helped them 1491 01:12:42,780 --> 01:12:46,110 with it, in which case, I'll ask them to delete the whole thing 1492 01:12:46,110 --> 01:12:49,140 and start it again and warn them that they can't do this anymore. 1493 01:12:49,140 --> 01:12:50,320 They're going to get zero. 1494 01:12:50,320 --> 01:12:53,343 They're going to have more issues with administration 1495 01:12:53,343 --> 01:12:54,510 if they continue to do that. 1496 01:12:54,510 --> 01:12:56,070 But generally, it doesn't-- 1497 01:12:56,070 --> 01:12:59,310 after the first time, they sometimes get a better understanding 1498 01:12:59,310 --> 01:13:00,140 of what's expected. 1499 01:13:00,140 --> 01:13:01,890 I think at the very beginning of the year, 1500 01:13:01,890 --> 01:13:04,740 sometimes they don't really always understand 1501 01:13:04,740 --> 01:13:07,470 what it means to be able to get some help on the internet 1502 01:13:07,470 --> 01:13:09,750 but not get the help for a solution. 1503 01:13:09,750 --> 01:13:12,490 Because sometimes a student will find a code along video 1504 01:13:12,490 --> 01:13:17,517 for Pennies or something like that, and then they'll do that. 1505 01:13:17,517 --> 01:13:19,350 But then, I usually recognize pretty quickly 1506 01:13:19,350 --> 01:13:24,090 that there's something in it from the way they've coded that's not theirs, 1507 01:13:24,090 --> 01:13:25,682 so we'll have that discussion. 1508 01:13:25,682 --> 01:13:28,140 And I've also created, and I'll show you in a little while, 1509 01:13:28,140 --> 01:13:32,880 a bunch of practice labs so that students can work on their own. 1510 01:13:32,880 --> 01:13:38,220 So again, the way I manage the class is that I do a short mini lesson. 1511 01:13:38,220 --> 01:13:39,880 I give them time to code. 1512 01:13:39,880 --> 01:13:42,990 And since I'm often allowing them to work at their own pace, when 1513 01:13:42,990 --> 01:13:46,890 they need a little extra help, for instance on data types or placeholders 1514 01:13:46,890 --> 01:13:50,506 or operators, I'll go to a-- 1515 01:13:50,506 --> 01:13:52,540 let's see if this comes up-- 1516 01:13:52,540 --> 01:13:57,360 a practice lab that I've created, where they could then 1517 01:13:57,360 --> 01:14:02,160 read a little bit of information on the left, have some sample code over here, 1518 01:14:02,160 --> 01:14:04,890 and have a little bit of a problem to actually solve so they 1519 01:14:04,890 --> 01:14:06,610 can get some practice with this. 1520 01:14:06,610 --> 01:14:09,947 And I have seen students actually going through this. 1521 01:14:09,947 --> 01:14:12,030 And when I walk around the classroom working on it 1522 01:14:12,030 --> 01:14:14,580 and getting the practice before they get into their problems. 1523 01:14:14,580 --> 01:14:17,700 Or maybe they're working on the CS50 problem and now they're like, gee, 1524 01:14:17,700 --> 01:14:19,380 I forget how to use arguments. 1525 01:14:19,380 --> 01:14:21,480 So I'm going to go back and look at the lab, 1526 01:14:21,480 --> 01:14:24,060 so that it allows me to do a lot of small group work 1527 01:14:24,060 --> 01:14:25,680 with the struggling students. 1528 01:14:25,680 --> 01:14:29,970 So coming back to my presentation. 1529 01:14:29,970 --> 01:14:33,270 So I use the websites for links to the problems. 1530 01:14:33,270 --> 01:14:35,910 I post information about what we're working 1531 01:14:35,910 --> 01:14:40,740 on this week, where the suggested deadlines are, et cetera, et cetera. 1532 01:14:40,740 --> 01:14:44,380 And again, I do a lot of small group work. 1533 01:14:44,380 --> 01:14:48,187 So the way my classroom is set up, the computers generally 1534 01:14:48,187 --> 01:14:50,520 are facing the outside of the classroom around a circle, 1535 01:14:50,520 --> 01:14:52,200 like 30 computers around the classroom. 1536 01:14:52,200 --> 01:14:54,070 Very close to each other. 1537 01:14:54,070 --> 01:14:56,315 So it's hard for me to do-- 1538 01:14:56,315 --> 01:14:58,440 I can't just stand up in the front of the classroom 1539 01:14:58,440 --> 01:15:03,090 and talk for any length of time, because they will definitely just tune out. 1540 01:15:03,090 --> 01:15:06,540 I also don't enforce them watching the entire lecture videos, 1541 01:15:06,540 --> 01:15:11,370 because at home, some students don't have regular internet or Wi-Fi 1542 01:15:11,370 --> 01:15:13,830 or not everybody has computers available. 1543 01:15:13,830 --> 01:15:15,430 Most of them do but not all of them. 1544 01:15:15,430 --> 01:15:17,160 So I feel like it wouldn't really be fair to ask 1545 01:15:17,160 --> 01:15:19,040 them to watch an hour and a half video, but I 1546 01:15:19,040 --> 01:15:22,390 do post all the lecture videos on the class websites, 1547 01:15:22,390 --> 01:15:24,530 and I highly recommend that they watch them 1548 01:15:24,530 --> 01:15:27,620 and even show them how they could watch a particular segment. 1549 01:15:27,620 --> 01:15:30,470 I also always post all the shorts. 1550 01:15:30,470 --> 01:15:33,910 So for instance, if I-- 1551 01:15:33,910 --> 01:15:35,780 I'm coming back over here. 1552 01:15:35,780 --> 01:15:36,580 Sorry about this. 1553 01:15:36,580 --> 01:15:38,540 It's kind of in the way. 1554 01:15:38,540 --> 01:15:45,230 And coming back to the website here, I'll create labs, 1555 01:15:45,230 --> 01:15:49,610 and I'll have them work-- rather than working in the IDE, 1556 01:15:49,610 --> 01:15:51,290 I'll have them all work in a lab. 1557 01:15:51,290 --> 01:15:54,120 So if I could find the labs up here-- 1558 01:15:54,120 --> 01:15:56,150 so for instance, the Fahrenheit lab. 1559 01:15:56,150 --> 01:16:02,490 So I've created all of the CS50 problems for semester one anyway into the labs. 1560 01:16:02,490 --> 01:16:03,830 So they get hints. 1561 01:16:03,830 --> 01:16:06,680 They get little pseudocode if they're stuck, et cetera. 1562 01:16:06,680 --> 01:16:08,640 They get the starter code here. 1563 01:16:08,640 --> 01:16:11,450 And then, they have a place that they can write some pseudocode in. 1564 01:16:11,450 --> 01:16:14,870 And so I allow them to do that. 1565 01:16:14,870 --> 01:16:16,912 It helps them to be a little bit self-sufficient. 1566 01:16:16,912 --> 01:16:19,703 And then, I'll grab-- we have a couple of laptops in the classroom. 1567 01:16:19,703 --> 01:16:21,890 So I'll take the students who are really struggling, 1568 01:16:21,890 --> 01:16:23,723 and we'll go around the table in the middle. 1569 01:16:23,723 --> 01:16:26,870 I'll get them with the laptops, and we'll open up one of the labs together, 1570 01:16:26,870 --> 01:16:28,620 and we'll start the problem together. 1571 01:16:28,620 --> 01:16:29,370 And I'll code it-- 1572 01:16:29,370 --> 01:16:31,828 kind of as Jenny was saying, we might start coding together 1573 01:16:31,828 --> 01:16:33,260 a little bit of user input. 1574 01:16:33,260 --> 01:16:36,200 And then, we'll work out some pseudocode together as comments 1575 01:16:36,200 --> 01:16:37,992 so that they have a structure now. 1576 01:16:37,992 --> 01:16:39,950 So first you're going to use your two why-loop. 1577 01:16:39,950 --> 01:16:40,770 How do you do that? 1578 01:16:40,770 --> 01:16:44,450 You're going to declare your variable, et cetera, et cetera. 1579 01:16:44,450 --> 01:16:46,577 And then, we'll have the steps. 1580 01:16:46,577 --> 01:16:47,910 So I try to help them with that. 1581 01:16:47,910 --> 01:16:51,410 So my philosophy is that if anybody really wants to, 1582 01:16:51,410 --> 01:16:54,110 they can pretty much get close to maybe not 100, 1583 01:16:54,110 --> 01:16:57,470 but they can give it an A, basically a 90 or above. 1584 01:16:57,470 --> 01:16:59,870 They may not master one or two of the quizzes, 1585 01:16:59,870 --> 01:17:03,480 but in terms of the problem sets, I'll always be there to help them with it. 1586 01:17:03,480 --> 01:17:06,560 The important part is that they don't just get the data from a friend, 1587 01:17:06,560 --> 01:17:08,420 or get the code from a friend. 1588 01:17:08,420 --> 01:17:11,270 If they really don't understand it, they need to come to me, 1589 01:17:11,270 --> 01:17:13,100 and then we go through it together. 1590 01:17:13,100 --> 01:17:17,480 Or they need to go to a student who I might have set up as a class expert. 1591 01:17:17,480 --> 01:17:19,550 Students who finished their problems first, 1592 01:17:19,550 --> 01:17:23,133 we have charts on the wall for each problem, and then students 1593 01:17:23,133 --> 01:17:25,550 who have finished that feel comfortable with the material, 1594 01:17:25,550 --> 01:17:27,610 will put their name up on the chart as an expert 1595 01:17:27,610 --> 01:17:29,360 and get an extra credit point, and they'll 1596 01:17:29,360 --> 01:17:31,260 go around and help students as well. 1597 01:17:31,260 --> 01:17:34,310 So it really builds a real sense of community. 1598 01:17:34,310 --> 01:17:39,150 Students really feel, I think, a lot of them really do enjoy the class. 1599 01:17:39,150 --> 01:17:42,055 I try to make it understandable that it's a lot of hard work 1600 01:17:42,055 --> 01:17:44,510 but that we have a lot of fun at the same time. 1601 01:17:44,510 --> 01:17:47,690 And you can see in the labs, I try to use my own students 1602 01:17:47,690 --> 01:17:49,680 to introduce the problem sets. 1603 01:17:49,680 --> 01:17:53,090 So that again, I try to use a kind of diverse population 1604 01:17:53,090 --> 01:17:55,410 so students can see that, gee, I know him. 1605 01:17:55,410 --> 01:17:57,950 I used to play basketball with him, or whatever. 1606 01:17:57,950 --> 01:18:01,880 And that you know, gee, if my friend can do this, I can probably do this, too. 1607 01:18:01,880 --> 01:18:05,400 So again, just trying to communicate that. 1608 01:18:05,400 --> 01:18:08,792 And then finally, I've created a lot of these labs 1609 01:18:08,792 --> 01:18:10,250 that I was going to share with you. 1610 01:18:10,250 --> 01:18:15,080 So they're pretty much on everything-- all the different topics from unit zero 1611 01:18:15,080 --> 01:18:17,330 through unit three, I thing. 1612 01:18:17,330 --> 01:18:19,190 Images, I think, is unit three. 1613 01:18:19,190 --> 01:18:24,980 And I have a Google Doc here, a link that you can take a look at. 1614 01:18:24,980 --> 01:18:27,830 These are on numerous different topics. 1615 01:18:27,830 --> 01:18:31,400 And the way that they work is that I might have-- 1616 01:18:31,400 --> 01:18:32,600 it looks like this expired. 1617 01:18:32,600 --> 01:18:35,360 I was trying to have it set up in advance. 1618 01:18:35,360 --> 01:18:38,400 Instructions, like what are you going to learn in this lab? 1619 01:18:38,400 --> 01:18:40,040 What is the main topic? 1620 01:18:40,040 --> 01:18:43,460 And then summarize a little bit so that there's not 1621 01:18:43,460 --> 01:18:44,990 too much on the screen at a time. 1622 01:18:44,990 --> 01:18:48,690 It's just kind of a handful of information. 1623 01:18:48,690 --> 01:18:54,170 And then finally, summarizing up various different ways of using operators. 1624 01:18:54,170 --> 01:18:55,070 And then, your turn. 1625 01:18:55,070 --> 01:18:57,480 And then, I have a little program that they work on 1626 01:18:57,480 --> 01:19:00,230 at the right, where there's already a lot of the code is supplied, 1627 01:19:00,230 --> 01:19:04,013 but then they just fill in a few of the pieces that are missing, 1628 01:19:04,013 --> 01:19:05,930 just to give them, again, a little opportunity 1629 01:19:05,930 --> 01:19:08,870 to look at well-structured code, hopefully, 1630 01:19:08,870 --> 01:19:11,750 and be able to complete it without having 1631 01:19:11,750 --> 01:19:14,000 to know how to start it from scratch. 1632 01:19:14,000 --> 01:19:18,080 And Command Line Arguments, sometimes I'll put little animated gifs in them. 1633 01:19:18,080 --> 01:19:21,110 And for the Command Line Arguments, a lot of students 1634 01:19:21,110 --> 01:19:24,290 have found this really helpful to understand the reasoning behind Command 1635 01:19:24,290 --> 01:19:25,380 Line Arguments. 1636 01:19:25,380 --> 01:19:28,640 And even for the Sorting, I have the Sorting and Searching algorithms 1637 01:19:28,640 --> 01:19:32,660 which I use for my AP class, and I created some little animations 1638 01:19:32,660 --> 01:19:35,720 to kind of give a sense of how these Sorting algorithms work. 1639 01:19:35,720 --> 01:19:38,240 I did require these for my AP class. 1640 01:19:38,240 --> 01:19:44,070 And if I refresh this, see if this comes back, I have a bit of a program 1641 01:19:44,070 --> 01:19:45,820 here where they have to basically complete 1642 01:19:45,820 --> 01:19:50,900 a function that sorts the array. 1643 01:19:50,900 --> 01:19:55,200 And so again, a lot of the information is there, 1644 01:19:55,200 --> 01:19:57,720 and then they have to complete the function at the bottom. 1645 01:19:57,720 --> 01:20:00,270 And the idea of this also for my AP class 1646 01:20:00,270 --> 01:20:03,810 is that I really stress them learning how to use functions. 1647 01:20:03,810 --> 01:20:07,390 In my intro class, we talk about it, but everybody does not really 1648 01:20:07,390 --> 01:20:08,640 become an expert at functions. 1649 01:20:08,640 --> 01:20:11,040 They struggle with functions often. 1650 01:20:11,040 --> 01:20:14,850 But in my AP class, when we review those couple of programs from chapter two, 1651 01:20:14,850 --> 01:20:18,150 I might just have them to Caesar with the function now. 1652 01:20:18,150 --> 01:20:20,470 They must use a function. 1653 01:20:20,470 --> 01:20:27,540 And in terms of design feedback, I mean honestly for my 120 intro students, 1654 01:20:27,540 --> 01:20:32,450 I generally grade it based on correctness and style. 1655 01:20:32,450 --> 01:20:35,190 I create a little Python script to actually use the CSV file 1656 01:20:35,190 --> 01:20:37,470 that I download so that I could put together 1657 01:20:37,470 --> 01:20:41,010 75% based on correctness, 25% on style. 1658 01:20:41,010 --> 01:20:42,830 And then, I tweak it depending. 1659 01:20:42,830 --> 01:20:48,030 But I generally don't give them all that much feedback about their code. 1660 01:20:48,030 --> 01:20:52,380 I will pull up errors I see, common errors, common poor design decisions, 1661 01:20:52,380 --> 01:20:54,660 and Will use those as part of a mini lesson. 1662 01:20:54,660 --> 01:20:57,360 And so that's often the way that I will kind of 1663 01:20:57,360 --> 01:20:59,170 communicate that information to them. 1664 01:20:59,170 --> 01:21:01,582 But for the AP class, we will talk more about design. 1665 01:21:01,582 --> 01:21:02,790 We'll talk more about decide. 1666 01:21:02,790 --> 01:21:04,582 How could I make the design more efficient? 1667 01:21:04,582 --> 01:21:06,000 Why is this not efficient? 1668 01:21:06,000 --> 01:21:08,940 And I'll give them specific feedback on the code. 1669 01:21:08,940 --> 01:21:12,390 And again, these are just a few of the-- 1670 01:21:12,390 --> 01:21:14,100 I think about 28 labs. 1671 01:21:14,100 --> 01:21:15,820 I created a bunch of them. 1672 01:21:15,820 --> 01:21:17,910 And then this, I even made for-- 1673 01:21:17,910 --> 01:21:22,710 since the AP exam has a section on models and modeling simulations, 1674 01:21:22,710 --> 01:21:25,740 I created a little lab, because I hadn't really 1675 01:21:25,740 --> 01:21:27,220 had too many programs to do that. 1676 01:21:27,220 --> 01:21:30,240 So I created a little program, which is very 1677 01:21:30,240 --> 01:21:32,910 similar to one of the questions I've seen on the AP exam, 1678 01:21:32,910 --> 01:21:36,360 where you're using a random number generator 1679 01:21:36,360 --> 01:21:41,410 to be able to simulate an 80% of students getting a particular grade. 1680 01:21:41,410 --> 01:21:44,140 And again, they get information here on how to do this, 1681 01:21:44,140 --> 01:21:47,848 and then they have two challenges here with hints. 1682 01:21:47,848 --> 01:21:49,890 And then, they have to complete the code and then 1683 01:21:49,890 --> 01:21:53,310 also a Monty Hall simulation, which I just thought would be fun. 1684 01:21:53,310 --> 01:21:56,400 And then images, I do go through with my AP class. 1685 01:21:56,400 --> 01:21:58,577 We do do Who Done It, at the very least. 1686 01:21:58,577 --> 01:22:01,410 Some students will go and do one of the other programs in that unit, 1687 01:22:01,410 --> 01:22:02,430 like Recover. 1688 01:22:02,430 --> 01:22:05,130 But really only the most advanced students that really are 1689 01:22:05,130 --> 01:22:07,560 into pushing themselves on their own. 1690 01:22:07,560 --> 01:22:10,440 I don't really go through with the whole class all of the knowledge 1691 01:22:10,440 --> 01:22:13,610 that you'd need to do Recover, but we do go through Images. 1692 01:22:13,610 --> 01:22:15,960 And I do feel that that's valuable for the AP exam, 1693 01:22:15,960 --> 01:22:19,230 also to have an understanding of what's inside an image, how it really works, 1694 01:22:19,230 --> 01:22:20,670 how pixels work. 1695 01:22:20,670 --> 01:22:23,910 And the great thing about-- and again, these are practice laps. 1696 01:22:23,910 --> 01:22:28,520 For the AP course, everybody's working in the IDE at this point, 1697 01:22:28,520 --> 01:22:29,370 because it's richer. 1698 01:22:29,370 --> 01:22:30,740 The debugging is so much better. 1699 01:22:30,740 --> 01:22:32,490 But to get a little practice, I still find 1700 01:22:32,490 --> 01:22:35,220 that the labs can be really useful, because you don't have 1701 01:22:35,220 --> 01:22:37,470 to download code, it's just all there. 1702 01:22:37,470 --> 01:22:39,540 So this is just a little exercise they're 1703 01:22:39,540 --> 01:22:42,240 going to do here to change some colors in a little smiley face, 1704 01:22:42,240 --> 01:22:47,010 basically, that is basically looking like this little BIT map. 1705 01:22:47,010 --> 01:22:49,555 Kind of inspired by one of the new problem 1706 01:22:49,555 --> 01:22:54,480 sets that Brian created this year in terms of changing colors in an image. 1707 01:22:54,480 --> 01:22:55,790 And you could see this here. 1708 01:22:55,790 --> 01:22:58,500 So all the helper files are here. 1709 01:22:58,500 --> 01:23:01,170 They just complete one of the functions. 1710 01:23:01,170 --> 01:23:04,970 And yeah, that's kind of it. 1711 01:23:04,970 --> 01:23:06,940 And that's basically it. 1712 01:23:06,940 --> 01:23:11,880 I mean, the link here will take you to all of these labs, 1713 01:23:11,880 --> 01:23:14,140 and then as well, all of these are going to be-- 1714 01:23:14,140 --> 01:23:17,340 if you are interested, you're welcome to take a look at them, use them. 1715 01:23:17,340 --> 01:23:22,170 You could fork it if you're interested in using it for your own class. 1716 01:23:22,170 --> 01:23:25,265 But I have found them really helpful to help students 1717 01:23:25,265 --> 01:23:28,140 get the knowledge they need when I'm just not available to help them, 1718 01:23:28,140 --> 01:23:29,220 because it's me. 1719 01:23:29,220 --> 01:23:33,780 Sometimes I can have 34 students in one class and just me. 1720 01:23:33,780 --> 01:23:38,520 And at the beginning of the year, having everybody start out with the IDE 1721 01:23:38,520 --> 01:23:40,860 can be very challenging, because now students 1722 01:23:40,860 --> 01:23:43,980 don't know how to navigate folders, or why can't I submit my code? 1723 01:23:43,980 --> 01:23:47,230 It doesn't work, when you're not CD'd into the correct folder 1724 01:23:47,230 --> 01:23:48,640 and all that type of thing. 1725 01:23:48,640 --> 01:23:51,690 So I find using the labs at the beginning of the year 1726 01:23:51,690 --> 01:23:54,870 when they're getting started in the intro class for semester one 1727 01:23:54,870 --> 01:23:58,080 is really helpful to kind of have a smoother start to the year. 1728 01:23:58,080 --> 01:24:02,730 And I always to emphasize that persistence is key. 1729 01:24:02,730 --> 01:24:06,450 That it's really all about persistence, and that don't be surprised 1730 01:24:06,450 --> 01:24:10,110 that it's very, very common to kind of freak out at the beginning, 1731 01:24:10,110 --> 01:24:12,690 feeling like you have no idea what's going on, 1732 01:24:12,690 --> 01:24:14,025 but that is not unique to you. 1733 01:24:14,025 --> 01:24:15,960 That is a common experience. 1734 01:24:15,960 --> 01:24:19,500 That almost everybody experiences that, but just like taking a foreign language 1735 01:24:19,500 --> 01:24:21,375 and you walk into the classroom and you don't 1736 01:24:21,375 --> 01:24:24,330 know French and everybody is speaking French, it takes a little while. 1737 01:24:24,330 --> 01:24:26,340 But eventually, it's like learning a language. 1738 01:24:26,340 --> 01:24:28,320 Your eyes will get used to it. 1739 01:24:28,320 --> 01:24:30,270 It will begin to make more sense. 1740 01:24:30,270 --> 01:24:33,330 And I always love reading the students' reflections. 1741 01:24:33,330 --> 01:24:38,130 I'll always do Analyze This as an end of semester one reflection, which I love. 1742 01:24:38,130 --> 01:24:41,130 And it's just so fun to read about how many of the students 1743 01:24:41,130 --> 01:24:45,700 are like, oh, yeah, then I felt so proud when I completed Ceasar-- 1744 01:24:45,700 --> 01:24:51,690 that sense of feeling really good when they complete something hard 1745 01:24:51,690 --> 01:24:55,570 and really feeling like they have a taste of what a computer scientist is. 1746 01:24:55,570 --> 01:24:59,047 Which is why I just love this curriculum so much. 1747 01:24:59,047 --> 01:25:01,630 At the end, I also have them to an end of the year reflection, 1748 01:25:01,630 --> 01:25:05,230 and some of the things I got back in my intro class 1749 01:25:05,230 --> 01:25:08,710 was they loved doing their own website for Homepage 1750 01:25:08,710 --> 01:25:12,970 and found they loved the creativity for that, but also 1751 01:25:12,970 --> 01:25:15,370 I always have students who love doing the website 1752 01:25:15,370 --> 01:25:18,540 but then others that really miss doing the algorithmic thinking 1753 01:25:18,540 --> 01:25:23,380 in the programs that we do coding in C and in JavaScript later on. 1754 01:25:23,380 --> 01:25:26,320 From my AP class this year, a number of students 1755 01:25:26,320 --> 01:25:28,330 really loved doing the Create Task. 1756 01:25:28,330 --> 01:25:30,535 They found that-- and I give them-- 1757 01:25:30,535 --> 01:25:33,670 because to get the 12 hour in is 18 days, 1758 01:25:33,670 --> 01:25:35,410 which is pretty much a whole month. 1759 01:25:35,410 --> 01:25:38,160 And then, they always need an extra week or two after that. 1760 01:25:38,160 --> 01:25:42,460 And many of them really felt that it was like the highlight of the year 1761 01:25:42,460 --> 01:25:45,590 having to create this entire program from scratch, and they really loved-- 1762 01:25:45,590 --> 01:25:49,380 not in Scratch, although they could use Scratch, but often in C or Python, 1763 01:25:49,380 --> 01:25:53,060 and they really felt good about that. 1764 01:25:53,060 --> 01:25:56,858 SPEAKER 1: Margaret, someone was asking how you created your animations. 1765 01:25:56,858 --> 01:25:59,400 MARGARET TANZOSH: How did I create the animations in the lab? 1766 01:25:59,400 --> 01:26:01,755 SPEAKER 1: Yeah, for the bubble start one. 1767 01:26:01,755 --> 01:26:03,380 MARGARET TANZOSH: I used After Effects. 1768 01:26:03,380 --> 01:26:05,890 1769 01:26:05,890 --> 01:26:15,460 I did it first just using PowerPoint, and then I decided to redo it, 1770 01:26:15,460 --> 01:26:20,110 because I also did animations that became a little bit more 1771 01:26:20,110 --> 01:26:23,470 like Merge Sort, which was a little crazy. 1772 01:26:23,470 --> 01:26:27,280 I wanted to kind of give a sense visually of how it worked. 1773 01:26:27,280 --> 01:26:29,500 And it took me a while myself to understand how 1774 01:26:29,500 --> 01:26:31,652 Merge Sort worked and didn't use up-- 1775 01:26:31,652 --> 01:26:33,610 because the standard way you see it represented 1776 01:26:33,610 --> 01:26:37,870 is like this, which looks like you're using seven different arrays, which 1777 01:26:37,870 --> 01:26:39,110 is not true. 1778 01:26:39,110 --> 01:26:41,650 And so I was really trying hard to kind of conceptualize 1779 01:26:41,650 --> 01:26:44,635 how this all works by creating animation. 1780 01:26:44,635 --> 01:26:47,260 So in order to do these, I needed to use a little bit something 1781 01:26:47,260 --> 01:26:49,740 more than just using PowerPoint. 1782 01:26:49,740 --> 01:26:54,390 So then I redid everything in After Effects. 1783 01:26:54,390 --> 01:26:56,240 I hope I explained that so well. 1784 01:26:56,240 --> 01:26:58,860 OK, I feel like there was so much already that a lot of it 1785 01:26:58,860 --> 01:27:01,672 might have been repetitive, but hopefully that made some sense. 1786 01:27:01,672 --> 01:27:04,380 SPEAKER 1: Well, you deserve another round of applause, Margaret. 1787 01:27:04,380 --> 01:27:05,808 MARGARET TANZOSH: OK, thank you. 1788 01:27:05,808 --> 01:27:07,600 SPEAKER 1: Indeed, well first and foremost, 1789 01:27:07,600 --> 01:27:09,540 thank you all so much for participating and giving up 1790 01:27:09,540 --> 01:27:11,160 so much time over the past few days. 1791 01:27:11,160 --> 01:27:13,770 Hopefully, this is just the beginning of staying 1792 01:27:13,770 --> 01:27:16,620 in touch, not only with each other but also with us. 1793 01:27:16,620 --> 01:27:18,840 Allow me to call out a few of the team members 1794 01:27:18,840 --> 01:27:21,690 who've been both on camera and behind the scenes 1795 01:27:21,690 --> 01:27:24,185 listed here and then, of course, all of CS50's team 1796 01:27:24,185 --> 01:27:27,060 who've been creating all of this content over the past several years. 1797 01:27:27,060 --> 01:27:28,210 Just a few reminders. 1798 01:27:28,210 --> 01:27:30,950 Let me go ahead and share this URL in the chat, 1799 01:27:30,950 --> 01:27:35,370 but we will post this as with everything else on the website 1800 01:27:35,370 --> 01:27:37,800 itself so that you have access to everything. 1801 01:27:37,800 --> 01:27:42,030 The website, indeed, will remain up so not to worry about that. 1802 01:27:42,030 --> 01:27:44,220 Certificates, if helpful for you professionally 1803 01:27:44,220 --> 01:27:46,500 in terms of continuing ed credits, we will follow up 1804 01:27:46,500 --> 01:27:49,920 with a form via which to collect the requisite information from folks, 1805 01:27:49,920 --> 01:27:54,450 so stay tuned for an email from us on that on the so-called vault where 1806 01:27:54,450 --> 01:27:57,870 we store all of the staff solutions. 1807 01:27:57,870 --> 01:28:00,210 We will also follow up about getting you access 1808 01:28:00,210 --> 01:28:03,700 to that by way of your GitHub account, so keep an eye out for that. 1809 01:28:03,700 --> 01:28:07,390 And then in direct answer to your question about staying in touch, 1810 01:28:07,390 --> 01:28:09,490 you can always email us at this address. 1811 01:28:09,490 --> 01:28:12,720 This will go to a lot of the staff that you have met 1812 01:28:12,720 --> 01:28:14,780 over the course of the past few days. 1813 01:28:14,780 --> 01:28:16,530 As Jason mentioned, too, if you would like 1814 01:28:16,530 --> 01:28:21,150 to contribute back materials of your own that you would like us to then extend 1815 01:28:21,150 --> 01:28:25,077 and amplify to other folks and in CS50 AP's teacher network, 1816 01:28:25,077 --> 01:28:26,910 please just send them to us at that address, 1817 01:28:26,910 --> 01:28:31,680 and we'll begin to curate the materials on a repository of sorts online, 1818 01:28:31,680 --> 01:28:34,170 and that will evolve inevitably over time. 1819 01:28:34,170 --> 01:28:37,410 We will follow up with some invitations to these email lists, one of which 1820 01:28:37,410 --> 01:28:40,773 will be specific to teachers who are specifically teaching AP CSP 1821 01:28:40,773 --> 01:28:42,690 and therefore might have particular questions, 1822 01:28:42,690 --> 01:28:45,240 and then more broadly a teachers list for folks 1823 01:28:45,240 --> 01:28:50,010 teaching CS50 AP or any of CS50's courses online or locally. 1824 01:28:50,010 --> 01:28:52,770 And then last but not least, if you haven't added yourself 1825 01:28:52,770 --> 01:28:56,162 to the directory, the Google Spreadsheet I've emailed out 1826 01:28:56,162 --> 01:28:57,870 in the past couple of emails, please feel 1827 01:28:57,870 --> 01:29:00,570 free to add yourself there so that if you made a connection with someone 1828 01:29:00,570 --> 01:29:03,960 and you'd like to follow up on something they said or some conversation you had, 1829 01:29:03,960 --> 01:29:06,002 you can reach out to them directly without having 1830 01:29:06,002 --> 01:29:08,790 to go through the whole list as well. 1831 01:29:08,790 --> 01:29:11,640 I think that officially brings us to the end. 1832 01:29:11,640 --> 01:29:13,830 So nice to meet and re-meet everyone. 1833 01:29:13,830 --> 01:29:15,780 Hope to stay in touch quite regularly. 1834 01:29:15,780 --> 01:29:17,500 Take care. 1835 01:29:17,500 --> 01:29:18,000