1 00:00:00,000 --> 00:00:06,450 2 00:00:06,450 --> 00:00:07,260 CARTER: OK. 3 00:00:07,260 --> 00:00:08,860 Well, hello, one and all yet again. 4 00:00:08,860 --> 00:00:11,550 So I'm excited to introduce Peter over here who 5 00:00:11,550 --> 00:00:14,190 will be guiding us through how he's used CS50's 6 00:00:14,190 --> 00:00:18,090 own tools in his very own classroom and modified some of the curriculum 7 00:00:18,090 --> 00:00:19,960 to suit his own students. 8 00:00:19,960 --> 00:00:23,080 So thank you, Peter, for being here, and I'll turn it over to you. 9 00:00:23,080 --> 00:00:24,850 PETER WADE: Hello, everyone. 10 00:00:24,850 --> 00:00:26,880 So as Carter said, my name is Peter Wade. 11 00:00:26,880 --> 00:00:30,180 And one of the-- 12 00:00:30,180 --> 00:00:31,466 I have two sessions coming up. 13 00:00:31,466 --> 00:00:32,549 But this is the first one. 14 00:00:32,549 --> 00:00:34,710 And what this really is-- 15 00:00:34,710 --> 00:00:36,190 it's the missing class. 16 00:00:36,190 --> 00:00:39,210 It's what I felt that I really needed, which 17 00:00:39,210 --> 00:00:43,230 is someone to hold my hand, maybe both of my hands, 18 00:00:43,230 --> 00:00:50,230 and push me along slowly as I started using all of the different tools. 19 00:00:50,230 --> 00:00:52,950 There's a lot of stuff moving here. 20 00:00:52,950 --> 00:00:57,324 Among the many things we're going to do is 21 00:00:57,324 --> 00:01:01,590 we're going to build the first classroom and the first assignment 22 00:01:01,590 --> 00:01:02,850 in Google Classroom. 23 00:01:02,850 --> 00:01:05,030 Obviously everyone uses different LMSs. 24 00:01:05,030 --> 00:01:07,600 So I'll let you figure out how to translate it in this. 25 00:01:07,600 --> 00:01:10,180 But this will give you an idea of how my classes worked 26 00:01:10,180 --> 00:01:15,080 and how I found my kids responded to those classrooms. 27 00:01:15,080 --> 00:01:16,930 There are going to be lots of questions. 28 00:01:16,930 --> 00:01:18,823 If you're online, put them in the chat. 29 00:01:18,823 --> 00:01:20,740 If you're in here, please stop me at any time. 30 00:01:20,740 --> 00:01:22,300 And I'm happy to answer. 31 00:01:22,300 --> 00:01:25,090 So the first one is this, is the good old Google Form. 32 00:01:25,090 --> 00:01:26,990 Who are you, and what are you here to learn? 33 00:01:26,990 --> 00:01:30,752 I want to know who I'm talking to and what 34 00:01:30,752 --> 00:01:32,710 everyone's really curious about because there's 35 00:01:32,710 --> 00:01:36,010 a lot of questions when you just start. 36 00:01:36,010 --> 00:01:42,400 I started this using CS50 in 2020 for my AP Computer Science class. 37 00:01:42,400 --> 00:01:45,640 I then expanded it out to my entire upper school. 38 00:01:45,640 --> 00:01:49,510 I was the only computer science teacher like lots of you out there I'm sure, 39 00:01:49,510 --> 00:01:55,150 the only computer science teacher and really 40 00:01:55,150 --> 00:01:59,470 felt like I was just working alone and needed a big group of support. 41 00:01:59,470 --> 00:02:01,240 But I want to know what your questions are 42 00:02:01,240 --> 00:02:07,660 as you're starting this, second year, third year, fifth year, 20th year. 43 00:02:07,660 --> 00:02:09,550 How are you feeling about all this? 44 00:02:09,550 --> 00:02:11,150 AUDIENCE: [INAUDIBLE] 45 00:02:11,150 --> 00:02:12,950 PETER WADE: The [INAUDIBLE] blocked. 46 00:02:12,950 --> 00:02:14,398 The link is blocked. 47 00:02:14,398 --> 00:02:16,940 AUDIENCE: I got it open, but it won't let me select anything. 48 00:02:16,940 --> 00:02:19,602 [CHATTER] 49 00:02:19,602 --> 00:02:20,305 50 00:02:20,305 --> 00:02:21,180 PETER WADE: Oh, good. 51 00:02:21,180 --> 00:02:22,125 OK, yep. 52 00:02:22,125 --> 00:02:25,050 53 00:02:25,050 --> 00:02:29,300 Well, I've got some coming in. 54 00:02:29,300 --> 00:02:30,470 Try typing in the link. 55 00:02:30,470 --> 00:02:32,300 See if typing in the link works. 56 00:02:32,300 --> 00:02:37,430 So it's cs50.ly/year1. 57 00:02:37,430 --> 00:02:40,870 See if that one works for you guys. 58 00:02:40,870 --> 00:02:44,905 Wouldn't be a computer science class if something didn't work the first time. 59 00:02:44,905 --> 00:03:04,695 60 00:03:04,695 --> 00:03:06,135 Is the URL working? 61 00:03:06,135 --> 00:03:07,050 AUDIENCE: URL works. 62 00:03:07,050 --> 00:03:08,010 PETER WADE: The URL works. 63 00:03:08,010 --> 00:03:10,343 AUDIENCE: I can't fill in the radio buttons on the form. 64 00:03:10,343 --> 00:03:12,220 They're all like grayed out. 65 00:03:12,220 --> 00:03:13,830 PETER WADE: Why are they doing that? 66 00:03:13,830 --> 00:03:18,960 67 00:03:18,960 --> 00:03:19,807 OK. 68 00:03:19,807 --> 00:03:21,390 We're just going to move on from that. 69 00:03:21,390 --> 00:03:23,680 But there's some answers in here. 70 00:03:23,680 --> 00:03:26,250 So a little bit about myself. 71 00:03:26,250 --> 00:03:28,410 AUDIENCE: Are you logged into Zoom? 72 00:03:28,410 --> 00:03:29,280 PETER WADE: No. 73 00:03:29,280 --> 00:03:30,130 I shouldn't be. 74 00:03:30,130 --> 00:03:31,470 AUDIENCE: [INAUDIBLE] Thank you. 75 00:03:31,470 --> 00:03:34,080 PETER WADE: Nope. 76 00:03:34,080 --> 00:03:35,430 So who am I? 77 00:03:35,430 --> 00:03:36,840 So, again, my name is Peter Wade. 78 00:03:36,840 --> 00:03:40,048 This is the school I've been teaching at called, the Colorado Springs School. 79 00:03:40,048 --> 00:03:42,070 I'm actually a computer science transplant. 80 00:03:42,070 --> 00:03:44,490 I started teaching French in 2014. 81 00:03:44,490 --> 00:03:49,890 I taught French for four years and then moved into computer science, 82 00:03:49,890 --> 00:03:52,800 started looking for a teaching job right as COVID hit, 83 00:03:52,800 --> 00:03:56,970 and somehow ended up moving to Colorado Springs. 84 00:03:56,970 --> 00:04:00,540 Basically, I won't go into the full detail of it, but a friend of mine 85 00:04:00,540 --> 00:04:04,470 dared me to move there after complaining that I couldn't find a job here. 86 00:04:04,470 --> 00:04:06,150 And I took them up on their dare. 87 00:04:06,150 --> 00:04:10,050 And I spent three years up there. 88 00:04:10,050 --> 00:04:13,650 Full disclosure, I am actually taking a sabbatical 89 00:04:13,650 --> 00:04:15,030 from teaching for a few years. 90 00:04:15,030 --> 00:04:17,684 91 00:04:17,684 --> 00:04:21,459 For a lot of different reasons, I need a more flexible schedule 92 00:04:21,459 --> 00:04:23,110 than teaching offers right now. 93 00:04:23,110 --> 00:04:26,400 But I intend to go back to it at some point in the near future. 94 00:04:26,400 --> 00:04:28,150 But these are some of the things-- so I've 95 00:04:28,150 --> 00:04:31,442 taught seven classes in two divisions in the middle school and the high school. 96 00:04:31,442 --> 00:04:34,750 I also worked briefly in the elementary school teaching fourth and fifth. 97 00:04:34,750 --> 00:04:38,980 I advised the curriculum in kindergarten through third grade. 98 00:04:38,980 --> 00:04:40,840 And a lot of the school-- 99 00:04:40,840 --> 00:04:44,860 what the school does is from programs that I've built-- 100 00:04:44,860 --> 00:04:50,320 and almost every single one of them used CS50 at some level, 101 00:04:50,320 --> 00:04:53,620 including the fourth grade classroom, which I was very proud of because kids 102 00:04:53,620 --> 00:04:56,468 love the scratch curriculum. 103 00:04:56,468 --> 00:04:58,760 So for this session, this is what you're going to need. 104 00:04:58,760 --> 00:05:00,510 You're going to need your GitHub username. 105 00:05:00,510 --> 00:05:03,860 If you're in the room and you want to learn this, 106 00:05:03,860 --> 00:05:07,230 you're probably going to want to be on your computers for this as well. 107 00:05:07,230 --> 00:05:10,940 So you're going to need your GitHub username and a Google account 108 00:05:10,940 --> 00:05:13,340 to view my Google Classroom. 109 00:05:13,340 --> 00:05:16,220 If you don't have a Google account, I unfortunately 110 00:05:16,220 --> 00:05:18,710 don't really have a workaround for it. 111 00:05:18,710 --> 00:05:19,370 So I'm sorry. 112 00:05:19,370 --> 00:05:23,890 But you'll have to follow along with what's happening on the screen. 113 00:05:23,890 --> 00:05:25,600 And this is what we'll do. 114 00:05:25,600 --> 00:05:30,370 So part 1 is, again, that really handhold, step by step by step 115 00:05:30,370 --> 00:05:33,640 by step of how do I make a Google Classroom? 116 00:05:33,640 --> 00:05:35,170 How do I get into submit50? 117 00:05:35,170 --> 00:05:37,310 How do I do this, that, and the other thing? 118 00:05:37,310 --> 00:05:41,560 So we're going to set up an example CS50, classroom and submit50, link 119 00:05:41,560 --> 00:05:44,740 and assignment in there to Google Classroom, create an example student, 120 00:05:44,740 --> 00:05:45,970 have them join the classroom. 121 00:05:45,970 --> 00:05:49,178 And in this case, a lot of you guys are going to be the example students too. 122 00:05:49,178 --> 00:05:52,240 I find it really helpful or I found it really helpful 123 00:05:52,240 --> 00:05:57,820 to do the class as a student, see how the kids are seeing it and experiencing 124 00:05:57,820 --> 00:06:01,060 it before I did it myself. 125 00:06:01,060 --> 00:06:05,007 View grade and return the assignment, and then a Q&A from that first part. 126 00:06:05,007 --> 00:06:07,090 And as I said, we're going to have a lot of stops. 127 00:06:07,090 --> 00:06:08,715 We're going to have a lot of questions. 128 00:06:08,715 --> 00:06:11,070 And we're not just going to be in the slideshow. 129 00:06:11,070 --> 00:06:13,570 So these are some links you're going to need to get started. 130 00:06:13,570 --> 00:06:17,020 Again, all of these are in the slideshow online. 131 00:06:17,020 --> 00:06:19,870 If you go on to the Notion page, you can click right here. 132 00:06:19,870 --> 00:06:22,780 The one that matters right now, though, is 133 00:06:22,780 --> 00:06:26,570 going to be this one, which is my example Google Classroom. 134 00:06:26,570 --> 00:06:28,340 So for me, it will take me in here. 135 00:06:28,340 --> 00:06:32,400 If you click there, it should pop in and say, hey, 136 00:06:32,400 --> 00:06:36,020 I'm looking to join your classroom. 137 00:06:36,020 --> 00:06:41,440 It should automatically join you as you click on it. 138 00:06:41,440 --> 00:06:43,660 So that's this one right here. 139 00:06:43,660 --> 00:06:46,180 In hindsight, I should have gotten a URL shortener. 140 00:06:46,180 --> 00:06:47,275 Very sorry about that. 141 00:06:47,275 --> 00:06:50,040 142 00:06:50,040 --> 00:06:51,110 Where was it? 143 00:06:51,110 --> 00:06:51,690 It's here. 144 00:06:51,690 --> 00:06:54,460 145 00:06:54,460 --> 00:06:56,470 Someone let me know if that's actually working. 146 00:06:56,470 --> 00:07:14,840 147 00:07:14,840 --> 00:07:17,795 Is it working or is it just blocking you guys out? 148 00:07:17,795 --> 00:07:18,670 Let's put it in here. 149 00:07:18,670 --> 00:07:19,840 AUDIENCE: [INAUDIBLE] 150 00:07:19,840 --> 00:07:20,980 PETER WADE: It's very slow. 151 00:07:20,980 --> 00:07:21,820 OK, good. 152 00:07:21,820 --> 00:07:25,220 153 00:07:25,220 --> 00:07:26,740 I can't go in on that one. 154 00:07:26,740 --> 00:07:32,720 155 00:07:32,720 --> 00:07:33,410 There we go. 156 00:07:33,410 --> 00:07:34,207 OK, perfect. 157 00:07:34,207 --> 00:07:35,165 It seems to be working. 158 00:07:35,165 --> 00:07:39,570 159 00:07:39,570 --> 00:07:42,090 AUDIENCE: So I think I was trying to get into your account. 160 00:07:42,090 --> 00:07:44,930 Was told the wrong account for Google Classroom. 161 00:07:44,930 --> 00:07:47,537 162 00:07:47,537 --> 00:07:49,050 PETER WADE: OK. 163 00:07:49,050 --> 00:07:52,116 AUDIENCE: So I tried to go through the link on your slide. 164 00:07:52,116 --> 00:07:54,660 PETER WADE: Let me try this. 165 00:07:54,660 --> 00:07:55,790 Let's do that again. 166 00:07:55,790 --> 00:08:01,922 167 00:08:01,922 --> 00:08:04,770 If there's anything I've learned from my time teaching, 168 00:08:04,770 --> 00:08:08,080 it's that teaching computer science, it's that nothing works the first time. 169 00:08:08,080 --> 00:08:11,950 And you just tell the students, just roll with what we got for a second. 170 00:08:11,950 --> 00:08:13,038 We'll get there. 171 00:08:13,038 --> 00:08:14,580 It's still telling you wrong account. 172 00:08:14,580 --> 00:08:15,227 OK. 173 00:08:15,227 --> 00:08:16,685 AUDIENCE: It could be a me problem. 174 00:08:16,685 --> 00:08:18,540 PETER WADE: Possibly. 175 00:08:18,540 --> 00:08:19,095 Let's see. 176 00:08:19,095 --> 00:08:23,750 177 00:08:23,750 --> 00:08:27,690 OK, well, we'll continue for the moment. 178 00:08:27,690 --> 00:08:32,450 I think it's important to understand what each one of these programs 179 00:08:32,450 --> 00:08:33,260 is doing, right? 180 00:08:33,260 --> 00:08:38,659 So you've got three separate pieces that allow you to have your assignment, 181 00:08:38,659 --> 00:08:42,799 give the instructions, submit it, and get it-- and then grade it. 182 00:08:42,799 --> 00:08:45,980 So the CS50 website, which is for-- this is 183 00:08:45,980 --> 00:08:50,570 for Python, whatever CS50 module or expansion pack you're using, 184 00:08:50,570 --> 00:08:53,750 starts with the website, which includes all 185 00:08:53,750 --> 00:08:57,680 of the instructions, the videos, everything that you might need. 186 00:08:57,680 --> 00:09:00,350 And if you're like me, you're probably just going 187 00:09:00,350 --> 00:09:04,430 to link directly to the assignment or to whatever they're asking about. 188 00:09:04,430 --> 00:09:06,980 Then you've got Submit50. 189 00:09:06,980 --> 00:09:11,210 And Submit50 is how the kids, when they're working in the development 190 00:09:11,210 --> 00:09:15,080 environment, get their work to you so that you 191 00:09:15,080 --> 00:09:17,210 can see it, comment, and grade on it. 192 00:09:17,210 --> 00:09:19,340 And then you've got your LMS. 193 00:09:19,340 --> 00:09:23,930 And your LMS, which is Learning Management System could be anything. 194 00:09:23,930 --> 00:09:26,720 I think the most popular ones that I know of are Canvas 195 00:09:26,720 --> 00:09:28,327 and Google Classroom. 196 00:09:28,327 --> 00:09:29,660 And I just heard of another one. 197 00:09:29,660 --> 00:09:31,760 And Blackbot-- I think? 198 00:09:31,760 --> 00:09:33,980 Blackboard. 199 00:09:33,980 --> 00:09:38,330 So there's a lot of different ones, right? 200 00:09:38,330 --> 00:09:42,080 Each one of these works in their own individual space. 201 00:09:42,080 --> 00:09:44,850 So I like to think of this, as well-- 202 00:09:44,850 --> 00:09:47,000 and all of these systems work the same. 203 00:09:47,000 --> 00:09:49,310 Now, I call them the expansion packs. 204 00:09:49,310 --> 00:09:50,420 And I have our-- 205 00:09:50,420 --> 00:09:55,230 go to all of the different CS50 modules in there are each their own expansion 206 00:09:55,230 --> 00:09:55,730 packs. 207 00:09:55,730 --> 00:09:58,760 Some of them technically are base games. 208 00:09:58,760 --> 00:10:02,070 Like the Scratch and the Python units can stand on their own. 209 00:10:02,070 --> 00:10:09,050 But a lot of them require some level of completing a CS50 class itself. 210 00:10:09,050 --> 00:10:13,910 But they're very good for when you're trying to expand beyond a single class 211 00:10:13,910 --> 00:10:18,770 or when you're trying to expand your offerings without having to build 212 00:10:18,770 --> 00:10:22,640 your own class every single time. 213 00:10:22,640 --> 00:10:26,550 But that's my discussion for tomorrow if you come back and see me tomorrow. 214 00:10:26,550 --> 00:10:31,590 So let's start with the most important part here, which is the assignments. 215 00:10:31,590 --> 00:10:33,600 And the assignments is really where-- this is 216 00:10:33,600 --> 00:10:36,600 how the kids learn what they're doing. 217 00:10:36,600 --> 00:10:39,510 And so to do that-- let me just make sure. 218 00:10:39,510 --> 00:10:43,230 219 00:10:43,230 --> 00:10:48,030 Yep, so for this one, we're going to-- 220 00:10:48,030 --> 00:10:51,540 yeah, so the kids will complete the assignment-- excuse me-- 221 00:10:51,540 --> 00:10:53,490 the kids will complete-- or your students 222 00:10:53,490 --> 00:10:57,540 will complete the assignment in the CS50 dev. 223 00:10:57,540 --> 00:11:01,530 But the assignment page, which is under the curriculum 224 00:11:01,530 --> 00:11:06,060 and the unit for each class is always on the website. 225 00:11:06,060 --> 00:11:12,360 And each-- well, almost each unit, but in the AP class, Check50 and Submit50 226 00:11:12,360 --> 00:11:16,050 are there for every single assignment. 227 00:11:16,050 --> 00:11:20,010 Check50 is how the students check their work. 228 00:11:20,010 --> 00:11:22,920 Anything that they submit to Check50, you can't see. 229 00:11:22,920 --> 00:11:25,770 You can see the results if you go to their computer. 230 00:11:25,770 --> 00:11:27,360 But you don't have-- 231 00:11:27,360 --> 00:11:30,345 that is not how they submit the assignment to you. 232 00:11:30,345 --> 00:11:33,160 Submit50 is how they actually submit that assignment. 233 00:11:33,160 --> 00:11:36,420 So that you can view it, comment, and all the other things 234 00:11:36,420 --> 00:11:38,590 you might need for it. 235 00:11:38,590 --> 00:11:39,810 There's also Style50. 236 00:11:39,810 --> 00:11:44,260 This was written before I had seen the major updates to Style50, which 237 00:11:44,260 --> 00:11:51,300 is really cool, makes it-- which is much nicer than the terminal command window. 238 00:11:51,300 --> 00:11:54,290 So I'm really excited for that. 239 00:11:54,290 --> 00:11:56,870 So let's talk about how this all links together. 240 00:11:56,870 --> 00:12:02,140 And to do that, we're going to get started by talking about the dev. 241 00:12:02,140 --> 00:12:05,530 And this was supposed to be-- whoopsie, you 242 00:12:05,530 --> 00:12:08,360 can't see it because the colors are all wrong. 243 00:12:08,360 --> 00:12:13,690 But the cs50-- the cs5dev is the development environment. 244 00:12:13,690 --> 00:12:15,230 And that looks like this. 245 00:12:15,230 --> 00:12:17,350 You need to have your GitHub account. 246 00:12:17,350 --> 00:12:18,700 Try and log in. 247 00:12:18,700 --> 00:12:20,320 Start one up yourself. 248 00:12:20,320 --> 00:12:22,030 Show that you got-- 249 00:12:22,030 --> 00:12:24,590 let's just make sure that this part works. 250 00:12:24,590 --> 00:12:27,293 First thing in the slideshow that works because the first thing 251 00:12:27,293 --> 00:12:29,335 you don't you have to do that doesn't involve me. 252 00:12:29,335 --> 00:12:37,280 253 00:12:37,280 --> 00:12:40,760 So this is your development environment, which 254 00:12:40,760 --> 00:12:44,280 is separated by three separate parts. 255 00:12:44,280 --> 00:12:47,742 This one has a whole bunch of files and folders because this is-- 256 00:12:47,742 --> 00:12:49,700 I've been using this for a couple of years now. 257 00:12:49,700 --> 00:12:53,220 So it's got all my different classes and the school years. 258 00:12:53,220 --> 00:12:55,810 But at its core, it's still a-- 259 00:12:55,810 --> 00:12:58,010 I think it's a Linux based-- it's a-- 260 00:12:58,010 --> 00:13:00,050 I know it's a Unix based environment. 261 00:13:00,050 --> 00:13:04,635 And to navigate it, the terminal window, they 262 00:13:04,635 --> 00:13:06,510 are going to have to-- the students are going 263 00:13:06,510 --> 00:13:09,270 to have to learn how to navigate things in the terminal window. 264 00:13:09,270 --> 00:13:12,340 And that usually takes a little while. 265 00:13:12,340 --> 00:13:16,110 So if there's anything I can tell you, and let me just put this in a text 266 00:13:16,110 --> 00:13:17,595 that actually you can see. 267 00:13:17,595 --> 00:13:22,210 268 00:13:22,210 --> 00:13:25,540 There we go, nope. 269 00:13:25,540 --> 00:13:26,950 Sure, why not. 270 00:13:26,950 --> 00:13:32,110 OK, there's a bunch of Unix commands that you should memorize for day one. 271 00:13:32,110 --> 00:13:34,570 So that you don't have to go looking up as the kids 272 00:13:34,570 --> 00:13:39,940 as their students are struggling with this, which is cd, 273 00:13:39,940 --> 00:13:43,870 change direc-- if you've never used a Linux environment before, 274 00:13:43,870 --> 00:13:49,210 cd, mkdir, code, and rm. 275 00:13:49,210 --> 00:13:52,990 These are the four commands you're going to need to get started. 276 00:13:52,990 --> 00:13:54,520 Memorize them. 277 00:13:54,520 --> 00:13:55,835 Put them right there. 278 00:13:55,835 --> 00:13:57,460 Because you're going to use them a lot. 279 00:13:57,460 --> 00:13:59,293 And the kids are going to-- and the students 280 00:13:59,293 --> 00:14:01,880 are going to need to memorize them as well. 281 00:14:01,880 --> 00:14:03,910 And half of what you're going to do for unit-- 282 00:14:03,910 --> 00:14:08,140 for unit 1 is just reminding kids, no, you've got to make a new directory. 283 00:14:08,140 --> 00:14:09,790 No, you're in the wrong directory. 284 00:14:09,790 --> 00:14:12,370 You see you're in unit-- you're in unit 0. 285 00:14:12,370 --> 00:14:13,630 You need to be in unit 1. 286 00:14:13,630 --> 00:14:18,850 No, you can't-- you have to create the file before you can submit it, Ryan. 287 00:14:18,850 --> 00:14:20,410 Very simple conversations. 288 00:14:20,410 --> 00:14:28,790 But this is a big part of unit 1 is getting the commands correct. 289 00:14:28,790 --> 00:14:35,160 To my knowledge, the CS50 development environment does not work on iPads. 290 00:14:35,160 --> 00:14:37,230 But I don't know that. 291 00:14:37,230 --> 00:14:39,630 It does? 292 00:14:39,630 --> 00:14:41,430 How did it work? 293 00:14:41,430 --> 00:14:43,180 AUDIENCE: I don't think it worked as well. 294 00:14:43,180 --> 00:14:46,202 But he was able to do any assignment I needed him to do on it. 295 00:14:46,202 --> 00:14:47,910 PETER WADE: All right, so that's probably 296 00:14:47,910 --> 00:14:53,730 because of the update to using VS Code instead of that. 297 00:14:53,730 --> 00:14:57,990 But that is-- so if you have students on iPads, they can use it. 298 00:14:57,990 --> 00:15:02,730 But you should probably encourage them to use a PC, a PC or a Mac. 299 00:15:02,730 --> 00:15:05,325 Because it's a cloud environment, everything you do, online. 300 00:15:05,325 --> 00:15:06,700 You don't have to think about it. 301 00:15:06,700 --> 00:15:08,880 They go, oh no, the internet went down. 302 00:15:08,880 --> 00:15:10,740 Well, their stuff is online. 303 00:15:10,740 --> 00:15:11,777 Oh, I lost my file. 304 00:15:11,777 --> 00:15:12,360 No you didn't. 305 00:15:12,360 --> 00:15:14,430 You didn't do the homework. 306 00:15:14,430 --> 00:15:17,580 Pretty simple. 307 00:15:17,580 --> 00:15:20,640 One thing that's cool is that they can share the development environment 308 00:15:20,640 --> 00:15:21,508 with one another. 309 00:15:21,508 --> 00:15:23,550 So if they're working remotely, they can actually 310 00:15:23,550 --> 00:15:28,880 share the files and folders with one another and get live updates on it. 311 00:15:28,880 --> 00:15:31,802 All right, so Submit50, this is the one that took me 312 00:15:31,802 --> 00:15:33,260 a little while when I first did it. 313 00:15:33,260 --> 00:15:34,885 So we're going to do this one together. 314 00:15:34,885 --> 00:15:40,302 So to do this, we're going to go into submit.cs50.io. 315 00:15:40,302 --> 00:15:42,510 And I know it's really small for those of you online. 316 00:15:42,510 --> 00:15:43,218 I'm really sorry. 317 00:15:43,218 --> 00:15:45,920 318 00:15:45,920 --> 00:15:50,000 So this is what you'll see when you first log in. 319 00:15:50,000 --> 00:15:55,453 You hit-- when you get to submit.cs50, it just auto logged me in. 320 00:15:55,453 --> 00:15:57,620 But it'll ask you to authorize it with your account. 321 00:15:57,620 --> 00:15:59,203 So you authorize it with your account. 322 00:15:59,203 --> 00:16:00,730 And it takes you to here. 323 00:16:00,730 --> 00:16:03,652 These are-- what you're looking at right here 324 00:16:03,652 --> 00:16:05,860 is that I've submitted assignments with this account. 325 00:16:05,860 --> 00:16:08,300 That's what you're seeing are submissions I've made. 326 00:16:08,300 --> 00:16:12,340 So for your students, they can also log in to Submit50 327 00:16:12,340 --> 00:16:13,690 and see what they've submitted. 328 00:16:13,690 --> 00:16:14,860 They can click on it. 329 00:16:14,860 --> 00:16:16,240 They can click on Check50. 330 00:16:16,240 --> 00:16:19,330 But this doesn't really help us as the teacher. 331 00:16:19,330 --> 00:16:23,150 So what we're going to do is we go to My Courses, which is on the right. 332 00:16:23,150 --> 00:16:28,030 And this is where all of your courses will be listed. 333 00:16:28,030 --> 00:16:32,980 And you'll see this that it includes the submissions with unique slugs. 334 00:16:32,980 --> 00:16:35,140 So if we go into this, we go into-- 335 00:16:35,140 --> 00:16:37,816 336 00:16:37,816 --> 00:16:42,970 we'll do this one, AP CSP school year 2023. 337 00:16:42,970 --> 00:16:49,390 43 submissions, so we can see my students and their colorful user 338 00:16:49,390 --> 00:16:51,610 pictures. 339 00:16:51,610 --> 00:16:53,870 And this is where you'll see the results. 340 00:16:53,870 --> 00:16:56,530 So if we take a look at-- 341 00:16:56,530 --> 00:16:59,590 let's see, we'll do Aidan Yarros. 342 00:16:59,590 --> 00:17:02,690 Aiden Yarros, he submitted the program password. 343 00:17:02,690 --> 00:17:09,430 And we can see all of the results that are premade by the CS50 staff. 344 00:17:09,430 --> 00:17:10,839 If we hit Style50. 345 00:17:10,839 --> 00:17:14,740 It brings up the code, shows any style errors that they may have made. 346 00:17:14,740 --> 00:17:18,040 And then comments, because comments are important. 347 00:17:18,040 --> 00:17:20,890 You can look at the code and make comments on the code. 348 00:17:20,890 --> 00:17:24,069 And they can directly access that and see that. 349 00:17:24,069 --> 00:17:26,200 That's all through the GitHub system. 350 00:17:26,200 --> 00:17:29,140 You don't have to do any of that. 351 00:17:29,140 --> 00:17:32,780 But to do this, we have to make a class. 352 00:17:32,780 --> 00:17:36,310 So what we're going to do is we're-- is that to make a new class, 353 00:17:36,310 --> 00:17:38,200 you have to go to a specific URL. 354 00:17:38,200 --> 00:17:41,170 There's not a button in here. 355 00:17:41,170 --> 00:17:44,378 I think Rongxin had to email me three or four times 356 00:17:44,378 --> 00:17:46,670 to tell me there's no button in there, but where is it? 357 00:17:46,670 --> 00:17:47,637 No, it's not in there. 358 00:17:47,637 --> 00:17:48,720 You got to do it yourself. 359 00:17:48,720 --> 00:17:53,480 So the link to start a new Classroom is courses/new. 360 00:17:53,480 --> 00:17:56,130 361 00:17:56,130 --> 00:17:58,930 And that's how you get to create a new course. 362 00:17:58,930 --> 00:18:04,240 And then for this purpose, we're going to call this our test example. 363 00:18:04,240 --> 00:18:08,680 OK, and then just like Rongxin demonstrated earlier, 364 00:18:08,680 --> 00:18:14,170 it will create a new CS50 class, a new Submit50 class 365 00:18:14,170 --> 00:18:16,375 that your students can submit to. 366 00:18:16,375 --> 00:18:18,910 367 00:18:18,910 --> 00:18:24,190 First deal you have to get the link for them, which is right here. 368 00:18:24,190 --> 00:18:26,740 And what I have always done, if you take a look, 369 00:18:26,740 --> 00:18:29,980 this is my fake Google Classroom here. 370 00:18:29,980 --> 00:18:33,430 I have always, at the very top, made it a material, just 371 00:18:33,430 --> 00:18:36,610 to have a unit at the top, which includes Scratch, and syllabus, 372 00:18:36,610 --> 00:18:39,820 and then websites, and passwords, and other stuff that they're definitely 373 00:18:39,820 --> 00:18:40,600 going to need. 374 00:18:40,600 --> 00:18:42,310 At the top, you can make-- 375 00:18:42,310 --> 00:18:47,560 I made an assignment typically, just included the link right there. 376 00:18:47,560 --> 00:18:49,075 And then I posted it. 377 00:18:49,075 --> 00:18:51,750 378 00:18:51,750 --> 00:18:57,870 And now as a student, which is on the right, this is my fake student account. 379 00:18:57,870 --> 00:19:04,860 I can go down here to the Submit50 assignment and click on it. 380 00:19:04,860 --> 00:19:10,830 And it will now say, hey, authorize CS50 Submit. 381 00:19:10,830 --> 00:19:11,787 So I hit authorize. 382 00:19:11,787 --> 00:19:13,620 And then I type the password, which is going 383 00:19:13,620 --> 00:19:16,203 to be a problem because I can't remember what the password is. 384 00:19:16,203 --> 00:19:18,420 Oh wait, it's-- oh, there it is, good. 385 00:19:18,420 --> 00:19:21,840 386 00:19:21,840 --> 00:19:24,270 So they click I understand and will grant teachers 387 00:19:24,270 --> 00:19:25,972 this course-- yada, yada, yada. 388 00:19:25,972 --> 00:19:27,930 So now from their end, this is all that they've 389 00:19:27,930 --> 00:19:30,690 got because they haven't submitted anything obviously, right? 390 00:19:30,690 --> 00:19:37,650 And from our end, when I reload this page, 391 00:19:37,650 --> 00:19:44,930 we can see that I have a single student in this class, CBogus02131. 392 00:19:44,930 --> 00:19:46,850 I'm sure that there'll be a very pop-- 393 00:19:46,850 --> 00:19:48,770 I'm sure that there'll be a great programmer. 394 00:19:48,770 --> 00:19:51,930 395 00:19:51,930 --> 00:19:56,130 So now let's do an assignment. 396 00:19:56,130 --> 00:19:59,070 Hold on, I think I'm jumping ahead of myself, excuse me. 397 00:19:59,070 --> 00:19:59,992 Create a new class. 398 00:19:59,992 --> 00:20:01,950 So the other thing that we need to do, and this 399 00:20:01,950 --> 00:20:07,200 was another part that took me a little while is that for each student to-- 400 00:20:07,200 --> 00:20:13,620 their work to appear in your Submit50 Classroom, 401 00:20:13,620 --> 00:20:20,050 you have to include the slug to make the Submit and Check50 slug. 402 00:20:20,050 --> 00:20:21,930 So at the bottom of the page here, you'll 403 00:20:21,930 --> 00:20:24,900 find the Check50 or the Submit50 slug. 404 00:20:24,900 --> 00:20:32,350 And you copy everything from down here and paste it directly 405 00:20:32,350 --> 00:20:35,570 into the assignment. 406 00:20:35,570 --> 00:20:38,672 So you click-- whoops, yep, here we are. 407 00:20:38,672 --> 00:20:39,880 Oh, you need to hit Settings. 408 00:20:39,880 --> 00:20:40,660 That's why. 409 00:20:40,660 --> 00:20:43,583 So we go to Settings and then at the bottom here, you'll see slugs. 410 00:20:43,583 --> 00:20:44,500 Right now, it's empty. 411 00:20:44,500 --> 00:20:47,240 412 00:20:47,240 --> 00:20:49,080 You paste that in there. 413 00:20:49,080 --> 00:20:54,350 And now, anytime a student submits that assignment, 414 00:20:54,350 --> 00:20:59,060 it will submit their work to your Google Classroom-- 415 00:20:59,060 --> 00:21:01,880 or to excuse me, to your Submit50 Classroom. 416 00:21:01,880 --> 00:21:04,590 417 00:21:04,590 --> 00:21:08,340 And so in this example I have here, the first assignment, which is Hello. 418 00:21:08,340 --> 00:21:12,820 So if we look here, here is the assignment page for Hello. 419 00:21:12,820 --> 00:21:13,810 It's got all the steps. 420 00:21:13,810 --> 00:21:16,330 Hello is a great starting point because it's-- 421 00:21:16,330 --> 00:21:17,780 it's a step by step by step. 422 00:21:17,780 --> 00:21:21,910 It's more of checking that they understand how to submit work. 423 00:21:21,910 --> 00:21:26,071 So they've got all of the instructions and all this, and yada, yada, yada, 424 00:21:26,071 --> 00:21:27,430 yada. 425 00:21:27,430 --> 00:21:29,830 And then all we have to do is we can run-- 426 00:21:29,830 --> 00:21:33,580 is that as a student, we can just run Check50. 427 00:21:33,580 --> 00:21:38,300 So we-- but when I click paste it in and you'll see this very, very, very, 428 00:21:38,300 --> 00:21:42,790 very often, where students will paste in Check50 and they'll get this complaint. 429 00:21:42,790 --> 00:21:46,990 You seem to be missing the required files. 430 00:21:46,990 --> 00:21:49,990 It's because you're not in the right directory. 431 00:21:49,990 --> 00:21:56,830 You will have that discussion at least 10 times per assignment. 432 00:21:56,830 --> 00:21:59,590 So we type in LS, it shows us that we're in the right directory. 433 00:21:59,590 --> 00:22:01,270 OK, now we paste in Check50. 434 00:22:01,270 --> 00:22:07,420 435 00:22:07,420 --> 00:22:10,038 And we don't have to do the whole backend 436 00:22:10,038 --> 00:22:11,830 linking that we were doing last year, which 437 00:22:11,830 --> 00:22:15,560 is another great improvement since last year. 438 00:22:15,560 --> 00:22:18,380 All right, so we can see now, this is what the students will see. 439 00:22:18,380 --> 00:22:20,810 Is that they'll see hello.c exists. 440 00:22:20,810 --> 00:22:22,535 And I'll expand this up a little bit. 441 00:22:22,535 --> 00:22:27,300 442 00:22:27,300 --> 00:22:28,950 We'll see hello.c exists. 443 00:22:28,950 --> 00:22:30,540 And we'll see hello.c compiles. 444 00:22:30,540 --> 00:22:34,230 The students will often just type this in and hit this again, and again, 445 00:22:34,230 --> 00:22:35,010 and again. 446 00:22:35,010 --> 00:22:38,132 Always remind them, click on the link at the bottom. 447 00:22:38,132 --> 00:22:39,840 So they can actually see what's happening 448 00:22:39,840 --> 00:22:43,950 and what the computer is expecting, what's popping back. 449 00:22:43,950 --> 00:22:45,270 So we can see this. 450 00:22:45,270 --> 00:22:47,820 Now, for this purpose, we're just going to submit this. 451 00:22:47,820 --> 00:22:56,290 So we take the same slug, let me change Check50 to Submit50, Submit50. 452 00:22:56,290 --> 00:23:00,340 453 00:23:00,340 --> 00:23:05,110 And then we see the-- keeping in mind the courses, that was really fast. 454 00:23:05,110 --> 00:23:08,130 455 00:23:08,130 --> 00:23:15,060 So we see here now in our Submit50 Classroom that there is a single 456 00:23:15,060 --> 00:23:20,280 submission from one student, CBogus, who got a 2 out of 4 on their Check50 457 00:23:20,280 --> 00:23:25,830 assignment, who got a 1.00 on their Style50, and who has-- 458 00:23:25,830 --> 00:23:28,680 and that has zero comments in there. 459 00:23:28,680 --> 00:23:32,610 Now at the moment, there is not a way to-- you have to-- 460 00:23:32,610 --> 00:23:36,300 then to give the grade back to the student, hold on, 461 00:23:36,300 --> 00:23:39,030 let me just make sure I'm not jumping ahead of anything. 462 00:23:39,030 --> 00:23:43,710 So that's the key point to understand what Submit50 is doing. 463 00:23:43,710 --> 00:23:45,240 You create a new class. 464 00:23:45,240 --> 00:23:48,090 It validates each student, add themselves correctly. 465 00:23:48,090 --> 00:23:50,460 And then add slugs you intend to use the slug list. 466 00:23:50,460 --> 00:23:56,580 I guess you can also leave the slug list open with not the root 467 00:23:56,580 --> 00:23:59,610 directory, with the lower directory. 468 00:23:59,610 --> 00:24:02,040 I've always just manually put each one in. 469 00:24:02,040 --> 00:24:03,360 So it'll work in either way. 470 00:24:03,360 --> 00:24:08,650 Nice thing with this, even if you have forgotten to add a specific slug, 471 00:24:08,650 --> 00:24:11,980 a student can still submit the assignment. 472 00:24:11,980 --> 00:24:15,610 You can still capture it after adding the slug. 473 00:24:15,610 --> 00:24:17,980 The student doesn't have to submit the assignment again 474 00:24:17,980 --> 00:24:19,810 if you have not put the slug in. 475 00:24:19,810 --> 00:24:23,570 Very, very useful. 476 00:24:23,570 --> 00:24:28,650 And then you add the relevant material from the assignment page to your LMS. 477 00:24:28,650 --> 00:24:32,540 So in my case, the way I typically ran it was I 478 00:24:32,540 --> 00:24:36,470 had each assignment as a Google Classroom assignment. 479 00:24:36,470 --> 00:24:40,910 My students will look anywhere on the internet for their homework 480 00:24:40,910 --> 00:24:44,120 instead of on the website I tell them to go to. 481 00:24:44,120 --> 00:24:45,545 They'll look in Google Classroom. 482 00:24:45,545 --> 00:24:46,670 They'll put it into Google. 483 00:24:46,670 --> 00:24:48,830 But they will not go to a separate website. 484 00:24:48,830 --> 00:24:52,550 So I always found it easier to give a link to the assignment 485 00:24:52,550 --> 00:24:59,490 directly, which here is Hello, as well as a video with our good old friend 486 00:24:59,490 --> 00:25:01,530 Brian Yu. 487 00:25:01,530 --> 00:25:04,530 My students really liked Brian Yu this year. 488 00:25:04,530 --> 00:25:08,310 Really excited every time he came on the screen. 489 00:25:08,310 --> 00:25:11,340 And then I also included the Check50 and-- 490 00:25:11,340 --> 00:25:13,150 oops, excuse me. 491 00:25:13,150 --> 00:25:16,540 And then I also included the Check50 and the Submit50 slug. 492 00:25:16,540 --> 00:25:20,550 So that they could just copy paste them in to the terminal window, 493 00:25:20,550 --> 00:25:23,850 really quick, test their code, submit their code, 494 00:25:23,850 --> 00:25:29,800 reduce complaints and improved their performance. 495 00:25:29,800 --> 00:25:41,970 Now, I want to get you Open, Edit, there we go. 496 00:25:41,970 --> 00:25:48,360 And again, there's no link between Google Classroom and Submit50. 497 00:25:48,360 --> 00:25:50,550 It's an independent system. 498 00:25:50,550 --> 00:25:52,950 At the moment, to my knowledge, there isn't 499 00:25:52,950 --> 00:25:58,120 anything that links the Submit system to any LMS system. 500 00:25:58,120 --> 00:26:00,600 So the students can't get graded through Submit50. 501 00:26:00,600 --> 00:26:02,190 It only checks what they've done. 502 00:26:02,190 --> 00:26:07,920 503 00:26:07,920 --> 00:26:11,370 OK, we're going to try that in a second. 504 00:26:11,370 --> 00:26:14,580 So I'm going to stop here because I've gone through a lot. 505 00:26:14,580 --> 00:26:19,470 And I'm curious what questions there are in here as well as online. 506 00:26:19,470 --> 00:26:21,480 In this Classroom, are there any questions 507 00:26:21,480 --> 00:26:26,950 that have appeared as we've gone through this? 508 00:26:26,950 --> 00:26:29,730 509 00:26:29,730 --> 00:26:30,265 Yes. 510 00:26:30,265 --> 00:26:32,640 AUDIENCE: Can you [INAUDIBLE] the link to create courses? 511 00:26:32,640 --> 00:26:35,380 You said courses-- 512 00:26:35,380 --> 00:26:39,910 PETER WADE: So the question was, what is the link to create a new course? 513 00:26:39,910 --> 00:26:45,190 The way to do that, again, is you go into the Submit50 system. 514 00:26:45,190 --> 00:26:48,580 You go into submit50.cs50.io-- 515 00:26:48,580 --> 00:26:50,640 and hold on, and see if I can get a notes-- 516 00:26:50,640 --> 00:26:56,690 517 00:26:56,690 --> 00:26:59,750 there's a way to somehow. 518 00:26:59,750 --> 00:27:05,093 519 00:27:05,093 --> 00:27:07,760 So I'm just going to make this a nice big document for everyone, 520 00:27:07,760 --> 00:27:10,420 so you can see. 521 00:27:10,420 --> 00:27:14,350 OK, so you've got your general link here. 522 00:27:14,350 --> 00:27:21,730 And the way you add a new course is by adding on to that URL N-E-W, new. 523 00:27:21,730 --> 00:27:26,060 And that's the URL to make a new class in Submit50. 524 00:27:26,060 --> 00:27:30,000 525 00:27:30,000 --> 00:27:30,990 So the question? 526 00:27:30,990 --> 00:27:34,500 That took me about three months to figure out. 527 00:27:34,500 --> 00:27:36,180 Any questions from online? 528 00:27:36,180 --> 00:27:37,050 AUDIENCE: Yeah, we have a quite a few. 529 00:27:37,050 --> 00:27:37,830 You want me to go through them? 530 00:27:37,830 --> 00:27:40,530 PETER WADE: Yeah, would you mind throw one or two or three? 531 00:27:40,530 --> 00:27:45,240 AUDIENCE: So from Hilda, we have what is the setup process for students? 532 00:27:45,240 --> 00:27:47,700 Do they need to create a GitHub account in advance? 533 00:27:47,700 --> 00:27:49,950 And can you batch create for the students in advance 534 00:27:49,950 --> 00:27:52,110 so they don't have to spend as much time? 535 00:27:52,110 --> 00:27:55,020 PETER WADE: To my knowledge, you can't create accounts for students 536 00:27:55,020 --> 00:27:56,310 because it needs to-- 537 00:27:56,310 --> 00:27:57,750 GitHub has two factor. 538 00:27:57,750 --> 00:28:00,790 And the two factor defaults to their email address. 539 00:28:00,790 --> 00:28:03,010 So each one of them needs it. 540 00:28:03,010 --> 00:28:06,000 I'm going to talk about this later because I've got a layout to class. 541 00:28:06,000 --> 00:28:10,380 But in the same way that this presentation is called day one, 542 00:28:10,380 --> 00:28:12,180 year one, day one. 543 00:28:12,180 --> 00:28:14,640 I have what I call year one, day two. 544 00:28:14,640 --> 00:28:17,400 And day two, you just acknowledge you're going 545 00:28:17,400 --> 00:28:22,430 to lose the entire day to getting the kids set up with the tools. 546 00:28:22,430 --> 00:28:24,430 Because the kids are going to run into problems. 547 00:28:24,430 --> 00:28:26,847 One of them, their GitHub account isn't going to validate. 548 00:28:26,847 --> 00:28:29,710 And you're going to have to spend half an hour working with them, 549 00:28:29,710 --> 00:28:31,180 trying to figure it out. 550 00:28:31,180 --> 00:28:33,220 If there's any recommendation I can have, 551 00:28:33,220 --> 00:28:36,280 any class that you are primarily using GitHub, 552 00:28:36,280 --> 00:28:40,600 and it's going to be much better now that we don't have to do the-- 553 00:28:40,600 --> 00:28:44,140 there used to be this backend thing that you needed to link the dev 554 00:28:44,140 --> 00:28:45,820 environment to with GitHub. 555 00:28:45,820 --> 00:28:48,910 And that alone would take about 20 minutes for each student. 556 00:28:48,910 --> 00:28:50,530 That's gone. 557 00:28:50,530 --> 00:28:51,760 Much better now. 558 00:28:51,760 --> 00:28:56,560 But yeah, you're definitely going to have to take at least one day, possibly 559 00:28:56,560 --> 00:28:57,520 two days. 560 00:28:57,520 --> 00:28:59,140 It's OK. 561 00:28:59,140 --> 00:29:00,140 You'll get through it. 562 00:29:00,140 --> 00:29:00,760 I promise. 563 00:29:00,760 --> 00:29:04,760 But just tell the kids this is going to take a day, please be patient. 564 00:29:04,760 --> 00:29:07,840 We need to set each of them up with a GitHub account. 565 00:29:07,840 --> 00:29:10,720 You're going to need to set each of them up with a Scratch account 566 00:29:10,720 --> 00:29:13,890 if you're doing the AP class. 567 00:29:13,890 --> 00:29:17,440 I truly do recommend doing the Scratch unit zero. 568 00:29:17,440 --> 00:29:18,820 You can skip it if you want. 569 00:29:18,820 --> 00:29:21,940 I think it's a great way to set them up for the concept of doing 570 00:29:21,940 --> 00:29:26,260 a big project at the end of each unit. 571 00:29:26,260 --> 00:29:28,690 OK, excellent question. 572 00:29:28,690 --> 00:29:32,560 Another question from online. 573 00:29:32,560 --> 00:29:35,560 AUDIENCE: Sure a couple of questions couple of the questions 574 00:29:35,560 --> 00:29:39,040 here have been focused on how are you supposed to grade the students, if not 575 00:29:39,040 --> 00:29:41,530 on Submit50? 576 00:29:41,530 --> 00:29:44,410 PETER WADE: The way that I did it is I created-- 577 00:29:44,410 --> 00:29:47,830 excuse me-- I created a set of-- 578 00:29:47,830 --> 00:29:53,290 excuse me-- I created a set of rubrics. 579 00:29:53,290 --> 00:29:55,160 So that I could really quickly go through. 580 00:29:55,160 --> 00:29:56,500 So I had a lab rubric. 581 00:29:56,500 --> 00:29:59,020 I had a assignment rubric. 582 00:29:59,020 --> 00:30:02,620 I had bigger complex rubrics. 583 00:30:02,620 --> 00:30:05,770 So that as they were going through, I could really quickly just go, 584 00:30:05,770 --> 00:30:08,800 OK, this program includes everything. 585 00:30:08,800 --> 00:30:11,720 In my case, I put it down to the following. 586 00:30:11,720 --> 00:30:13,180 This is a lab assignment. 587 00:30:13,180 --> 00:30:14,080 Labs are shorter. 588 00:30:14,080 --> 00:30:15,880 They're 10-- they're 10 points each. 589 00:30:15,880 --> 00:30:17,740 Does the program include comments? 590 00:30:17,740 --> 00:30:19,870 Does it meet style expectations? 591 00:30:19,870 --> 00:30:21,820 Is it functional? 592 00:30:21,820 --> 00:30:25,030 Does it meet edge cases when I throw edge cases in? 593 00:30:25,030 --> 00:30:26,710 And is the program efficient? 594 00:30:26,710 --> 00:30:29,770 Those were the core concepts that I focused on labs. 595 00:30:29,770 --> 00:30:32,360 Projects, obviously, were bigger, more complicated. 596 00:30:32,360 --> 00:30:36,470 And they had more points added on. 597 00:30:36,470 --> 00:30:38,600 I always graded-- 598 00:30:38,600 --> 00:30:42,470 I told the students that they would get their grades 599 00:30:42,470 --> 00:30:49,400 through our SMS, which was Renweb, which is a terrible SMS, for the record. 600 00:30:49,400 --> 00:30:52,430 But you can find your grades there. 601 00:30:52,430 --> 00:30:54,890 Then they can find their grades there. 602 00:30:54,890 --> 00:30:58,310 I would grade them in Google Classroom. 603 00:30:58,310 --> 00:31:02,900 But at the time, CS50 did not have any-- 604 00:31:02,900 --> 00:31:05,990 the Submit50 system did not have any grading capability 605 00:31:05,990 --> 00:31:11,450 other than adding comments to their work and showing off what they missed 606 00:31:11,450 --> 00:31:13,220 from the checks that were written. 607 00:31:13,220 --> 00:31:14,600 And it can be important. 608 00:31:14,600 --> 00:31:18,530 Sometimes the kids-- had this happen once where kids will-- 609 00:31:18,530 --> 00:31:20,510 you have to be really careful when they submit. 610 00:31:20,510 --> 00:31:22,760 Because sometimes they won't-- 611 00:31:22,760 --> 00:31:26,930 they will just work to get the questions right. 612 00:31:26,930 --> 00:31:29,240 So they'll get all green faces. 613 00:31:29,240 --> 00:31:31,820 But they won't actually think about what the problem is. 614 00:31:31,820 --> 00:31:35,360 They won't actually think, oh, how do I make it say someone's name, instead 615 00:31:35,360 --> 00:31:37,710 of just, OK, I'll make it say this. 616 00:31:37,710 --> 00:31:38,685 If the name is this. 617 00:31:38,685 --> 00:31:41,810 That was one-- that was actually one that one of the first assignments that 618 00:31:41,810 --> 00:31:49,010 I found was that the kid made it so that if the username was equal to this, 619 00:31:49,010 --> 00:31:49,760 and they went in-- 620 00:31:49,760 --> 00:31:52,640 I was impressed with their level of work for this one. 621 00:31:52,640 --> 00:31:58,970 They went into the C library, found out how they compared strings correctly, 622 00:31:58,970 --> 00:32:03,350 which if you know C, you can't compare strings directly to each other. 623 00:32:03,350 --> 00:32:07,190 But they looked at that, checked what the input was, 624 00:32:07,190 --> 00:32:09,050 and then output something specifically. 625 00:32:09,050 --> 00:32:12,290 They didn't output the variable. 626 00:32:12,290 --> 00:32:14,900 They just output a string specific to each one, which 627 00:32:14,900 --> 00:32:16,340 I was very impressed by. 628 00:32:16,340 --> 00:32:17,540 But he still got a 0-- 629 00:32:17,540 --> 00:32:20,180 or he still got a 5 on the assignment. 630 00:32:20,180 --> 00:32:21,410 One more, I think. 631 00:32:21,410 --> 00:32:22,850 One more from online if there is? 632 00:32:22,850 --> 00:32:25,880 AUDIENCE: Yeah sure, there's been a couple of questions just regarding-- 633 00:32:25,880 --> 00:32:28,983 you've been mentioning Google Classroom here for the last few slides. 634 00:32:28,983 --> 00:32:31,400 Do you have any other LMS systems that you would recommend 635 00:32:31,400 --> 00:32:33,930 that are compatible with Submit50? 636 00:32:33,930 --> 00:32:37,410 PETER WADE: I mean, every system is compatible with Submit50 637 00:32:37,410 --> 00:32:39,510 because it's not connected to it. 638 00:32:39,510 --> 00:32:43,890 Submit50 does not link to any LMS that I know of. 639 00:32:43,890 --> 00:32:45,450 And I would look at the-- 640 00:32:45,450 --> 00:32:47,840 Rongxin is that true? 641 00:32:47,840 --> 00:32:51,160 Does it-- does it connect-- does Submit50 connect to like Canvas, 642 00:32:51,160 --> 00:32:53,710 or Google Classroom, or anything? 643 00:32:53,710 --> 00:32:56,750 Or is that an idea in the future? 644 00:32:56,750 --> 00:32:58,660 RONGXIN: It is not out of the box possible. 645 00:32:58,660 --> 00:33:00,790 But we do offer API. 646 00:33:00,790 --> 00:33:05,260 If you have the technical savvy, you can build that connection to Canvas. 647 00:33:05,260 --> 00:33:07,840 Canvas also provide API. 648 00:33:07,840 --> 00:33:09,250 PETER WADE: So there is a way-- 649 00:33:09,250 --> 00:33:12,820 you can build a software that will connect it directly. 650 00:33:12,820 --> 00:33:16,540 But by default, Submit50 runs in its own box. 651 00:33:16,540 --> 00:33:17,830 I go back to this. 652 00:33:17,830 --> 00:33:23,590 Each one of these runs in their own little box online. 653 00:33:23,590 --> 00:33:26,650 The AP website, Submit50, the dev environment, 654 00:33:26,650 --> 00:33:31,750 and your LMS, each one of them is sequestered in their own little circle. 655 00:33:31,750 --> 00:33:35,398 And other than Submit50 and the dev environment, 656 00:33:35,398 --> 00:33:36,940 they don't really talk to each other. 657 00:33:36,940 --> 00:33:40,210 658 00:33:40,210 --> 00:33:45,570 All right, now to those of you in here, if it's-- 659 00:33:45,570 --> 00:33:47,820 probably just going through stuff that we've all done. 660 00:33:47,820 --> 00:33:52,110 So I'm going to keep moving. 661 00:33:52,110 --> 00:33:55,627 A couple of pointers for those of you who are-- 662 00:33:55,627 --> 00:33:58,252 sorry, I should stop clapping right in front of the microphone. 663 00:33:58,252 --> 00:34:01,350 664 00:34:01,350 --> 00:34:04,350 One of the trouble-- one of the ways that I have taught 665 00:34:04,350 --> 00:34:06,970 has been to teach mostly flipped. 666 00:34:06,970 --> 00:34:08,190 So the students will come-- 667 00:34:08,190 --> 00:34:11,760 will watch the video through Edpuzzle, come into the classroom. 668 00:34:11,760 --> 00:34:13,830 And they'll get a shorter lecture. 669 00:34:13,830 --> 00:34:15,659 They'll still get a lecture of some level. 670 00:34:15,659 --> 00:34:20,010 But they'll get a shorter lecture about how to do the assignment. 671 00:34:20,010 --> 00:34:22,230 Maybe I'll give them a couple lines of code 672 00:34:22,230 --> 00:34:26,230 to get them started with what they're doing. 673 00:34:26,230 --> 00:34:31,860 But you have to keep the time in class varied. 674 00:34:31,860 --> 00:34:34,080 Because otherwise, they'll just feel like they go 675 00:34:34,080 --> 00:34:35,969 in every day to do the same projects. 676 00:34:35,969 --> 00:34:37,980 And if they're not-- they really-- and if they 677 00:34:37,980 --> 00:34:43,350 feel like they're not making progress, it becomes a real chore for them 678 00:34:43,350 --> 00:34:44,370 to be in class. 679 00:34:44,370 --> 00:34:45,850 And I had a student tell me that. 680 00:34:45,850 --> 00:34:49,790 That was one of my-- my first teaching year, I made that mistake. 681 00:34:49,790 --> 00:34:51,699 So that's my recommendation. 682 00:34:51,699 --> 00:34:58,270 They also can really get to a point, you have to manage it-- 683 00:34:58,270 --> 00:35:02,740 and it takes a while to learn this, you have to manage the class in a way-- 684 00:35:02,740 --> 00:35:06,460 if you're having them work in class, you have to manage it in a way 685 00:35:06,460 --> 00:35:10,060 where they do not just rely on one student to do all the work 686 00:35:10,060 --> 00:35:14,440 and then all just copy and change it slightly. 687 00:35:14,440 --> 00:35:16,680 AI is another whole thing. 688 00:35:16,680 --> 00:35:19,740 But I think the best thing suggestion I have 689 00:35:19,740 --> 00:35:23,880 is the labs, when I did my classes, I would do the video lecture. 690 00:35:23,880 --> 00:35:26,550 And then I'd give some specific lectures about whatever I'm 691 00:35:26,550 --> 00:35:31,230 trying to do, maybe go into more detail on a specific topic, 692 00:35:31,230 --> 00:35:34,230 memory addresses were a big one because it took them a little while 693 00:35:34,230 --> 00:35:38,370 to understand a string starts at a memory address. 694 00:35:38,370 --> 00:35:40,215 My biggest suggestion is-- 695 00:35:40,215 --> 00:35:42,750 the way I did it was that the labs, which are back, 696 00:35:42,750 --> 00:35:45,450 and I'm so glad that they're back, because they're so useful. 697 00:35:45,450 --> 00:35:47,070 The labs would do-- 698 00:35:47,070 --> 00:35:48,250 would be their own thing. 699 00:35:48,250 --> 00:35:50,850 I would usually walk them through the steps to complete it. 700 00:35:50,850 --> 00:35:52,800 And then they would get to the assignments. 701 00:35:52,800 --> 00:35:55,505 And they would be more on their own. 702 00:35:55,505 --> 00:35:56,880 They're allowed to work together. 703 00:35:56,880 --> 00:35:59,463 They're allowed to talk to each other because let's be honest, 704 00:35:59,463 --> 00:36:01,260 that's what professional programmers do. 705 00:36:01,260 --> 00:36:07,440 But it's still up to each of them to do the work themselves. 706 00:36:07,440 --> 00:36:09,690 Make sure students know where the hint section is. 707 00:36:09,690 --> 00:36:13,440 As I said, kids will look anywhere on the internet for an answer except where 708 00:36:13,440 --> 00:36:15,730 you tell them to go. 709 00:36:15,730 --> 00:36:18,600 They won't read-- they really don't want to read. 710 00:36:18,600 --> 00:36:21,660 They'll just start jumping into the program without thinking. 711 00:36:21,660 --> 00:36:24,330 So reading through the assignment expectations, 712 00:36:24,330 --> 00:36:28,530 really easy way to remove that problem. 713 00:36:28,530 --> 00:36:32,310 I have, generally, I didn't send kids home with homework. 714 00:36:32,310 --> 00:36:33,870 But sometimes I would. 715 00:36:33,870 --> 00:36:35,700 I had what I called the 15-minute rule. 716 00:36:35,700 --> 00:36:38,350 Where a kid, when they were a student, when they were home, 717 00:36:38,350 --> 00:36:43,150 had to spend 15 minutes on a problem themselves before they tried-- 718 00:36:43,150 --> 00:36:46,810 before they gave up and went to the internet or emailed me. 719 00:36:46,810 --> 00:36:47,745 They never did that. 720 00:36:47,745 --> 00:36:49,120 They always went to the internet. 721 00:36:49,120 --> 00:36:51,460 And then in later in the year, they went to chatGPT. 722 00:36:51,460 --> 00:36:56,131 But that was a tool that I thought was really good. 723 00:36:56,131 --> 00:36:57,940 AI, this has been a whole discussion. 724 00:36:57,940 --> 00:37:01,600 I'm sure every single teacher in this room has had to deal with AI. 725 00:37:01,600 --> 00:37:04,090 A lot of schools probably did the exact same thing 726 00:37:04,090 --> 00:37:06,940 that we did where we said no AI, don't touch it. 727 00:37:06,940 --> 00:37:10,120 We blocked it from the school Wi-Fi. 728 00:37:10,120 --> 00:37:13,930 This AI tool that I just saw, I haven't tested it yet, 729 00:37:13,930 --> 00:37:18,370 but it seems great in that it gives that-- leads them to the answer 730 00:37:18,370 --> 00:37:22,420 without giving it to them the same way that chatGPT says. 731 00:37:22,420 --> 00:37:26,050 I always put it like this, though, if you're doing the AP class, 732 00:37:26,050 --> 00:37:30,130 the answer to every assignment is on the internet. 733 00:37:30,130 --> 00:37:32,410 Every single assignment has been completed 734 00:37:32,410 --> 00:37:35,260 probably 1,000 times by 1,000 different people who 735 00:37:35,260 --> 00:37:38,500 have 1,000 different solutions. 736 00:37:38,500 --> 00:37:43,600 And I always told the students, it's unlikely I'm 737 00:37:43,600 --> 00:37:49,270 going to catch you if you submit someone else's assignment every single time. 738 00:37:49,270 --> 00:37:51,430 I probably will because all of a sudden, I'll 739 00:37:51,430 --> 00:37:53,800 ask you to do a program assignment without the internet. 740 00:37:53,800 --> 00:37:55,390 And then you can't seem to do it. 741 00:37:55,390 --> 00:37:59,012 But just tell them, if you just copy paste from the internet, 742 00:37:59,012 --> 00:38:00,220 you're not actually learning. 743 00:38:00,220 --> 00:38:07,300 And you're saving yourself in the short term, but the moment you take the test, 744 00:38:07,300 --> 00:38:10,540 you're going to just crash and burn because you're not going to understand 745 00:38:10,540 --> 00:38:13,050 what the programs are doing. 746 00:38:13,050 --> 00:38:18,000 Couple suggestions from my first year that I wish I had known. 747 00:38:18,000 --> 00:38:20,730 This is an example of a semester progression. 748 00:38:20,730 --> 00:38:24,510 This is with US years and breaks. 749 00:38:24,510 --> 00:38:27,360 The school I worked at had an experiential ed program. 750 00:38:27,360 --> 00:38:29,460 So we essentially had-- 751 00:38:29,460 --> 00:38:31,950 we took our students out of what they were normally 752 00:38:31,950 --> 00:38:35,280 doing for the entire month of March. 753 00:38:35,280 --> 00:38:40,540 They did three weeks of an experience program and then a week of vacation. 754 00:38:40,540 --> 00:38:44,160 So they would come back in April and have forgotten absolutely everything, 755 00:38:44,160 --> 00:38:47,250 which caused its own problems. 756 00:38:47,250 --> 00:38:50,670 But that was-- so that's why this is adjusted this way. 757 00:38:50,670 --> 00:38:54,060 This, again, is a class designed for the AP board. 758 00:38:54,060 --> 00:38:59,500 If you're doing AP principles, obviously, adapt it to your own. 759 00:38:59,500 --> 00:39:02,580 So like I said, day two, setting up GitHub. 760 00:39:02,580 --> 00:39:05,730 Get them onto the AP testing if you're doing the AP testing. 761 00:39:05,730 --> 00:39:07,720 Scratch and the technical stuff. 762 00:39:07,720 --> 00:39:10,560 It's going to take a day, possibly two days. 763 00:39:10,560 --> 00:39:12,580 You're just going to live with it. 764 00:39:12,580 --> 00:39:16,330 Week one, last week of August, we usually start at around August 20. 765 00:39:16,330 --> 00:39:18,790 So usually Scratch can be done in a week. 766 00:39:18,790 --> 00:39:19,810 They love Scratch. 767 00:39:19,810 --> 00:39:20,870 It lures them in. 768 00:39:20,870 --> 00:39:23,920 I always tell them it lures them into this false sense of security 769 00:39:23,920 --> 00:39:25,810 that oh, this isn't going to be too hard. 770 00:39:25,810 --> 00:39:28,000 I don't think Mr. Wade is the hardest teacher. 771 00:39:28,000 --> 00:39:31,060 And then I just take him to unit 1. 772 00:39:31,060 --> 00:39:34,240 And I always tell them that I'm leading them up to the cliff. 773 00:39:34,240 --> 00:39:35,510 And then they're looking down. 774 00:39:35,510 --> 00:39:36,760 And I give them a little kick. 775 00:39:36,760 --> 00:39:38,350 So that they fall in. 776 00:39:38,350 --> 00:39:39,940 But I also jump down with them. 777 00:39:39,940 --> 00:39:45,760 So unit 2-- unit 1 usually takes about two weeks. 778 00:39:45,760 --> 00:39:48,340 Unit 2 depends on your students. 779 00:39:48,340 --> 00:39:50,380 Obviously, this is a rough estimate. 780 00:39:50,380 --> 00:39:53,560 October, about unit 2 is three weeks. 781 00:39:53,560 --> 00:39:55,900 Unit 3 is two to three weeks. 782 00:39:55,900 --> 00:39:59,600 And unit 4 is three weeks, would be another three weeks. 783 00:39:59,600 --> 00:40:04,510 So I would say plan about three weeks per unit for high schoolers. 784 00:40:04,510 --> 00:40:08,110 Again, your high schoolers may be completely different from mine. 785 00:40:08,110 --> 00:40:13,210 My high school students, in addition to taking my class and four other APs, 786 00:40:13,210 --> 00:40:16,540 they would also have basketball practice, and ice skating practice, 787 00:40:16,540 --> 00:40:20,530 and then they would go home and have to tutor a kid because they're-- 788 00:40:20,530 --> 00:40:24,580 our parents are really want their kids to do everything. 789 00:40:24,580 --> 00:40:25,330 Yes? 790 00:40:25,330 --> 00:40:27,867 AUDIENCE: Did your students do the work outside the class? 791 00:40:27,867 --> 00:40:29,950 PETER WADE: So the question was did my students do 792 00:40:29,950 --> 00:40:31,200 the work outside of the class. 793 00:40:31,200 --> 00:40:35,830 Because it was flipped, they really focused more on videos and quizzes 794 00:40:35,830 --> 00:40:36,850 outside of class. 795 00:40:36,850 --> 00:40:39,130 In class, they did the programming. 796 00:40:39,130 --> 00:40:43,210 Out of class, they didn't have homework assignments 797 00:40:43,210 --> 00:40:46,420 in that I rarely sent them home with a programming assignment, 798 00:40:46,420 --> 00:40:47,840 if that makes sense. 799 00:40:47,840 --> 00:40:51,640 And that's how this work-- this is assuming 2.5 hours a day-- 800 00:40:51,640 --> 00:40:53,215 2.5 hours a week of class. 801 00:40:53,215 --> 00:40:55,750 802 00:40:55,750 --> 00:41:00,130 If you're planning for the AP test, I think I go into this later, 803 00:41:00,130 --> 00:41:04,420 you can kind of skip 5 if you're running out of time, which I always did. 804 00:41:04,420 --> 00:41:06,730 I always wanted to cover it because it's a great unit. 805 00:41:06,730 --> 00:41:08,930 But I never had the time to do it. 806 00:41:08,930 --> 00:41:11,860 And then the performance task, which is its own thing. 807 00:41:11,860 --> 00:41:13,450 Again, this is for AP teachers. 808 00:41:13,450 --> 00:41:16,900 If you're not an AP teacher, I'm very sorry. 809 00:41:16,900 --> 00:41:22,850 But the performance task is a major thing for everyone. 810 00:41:22,850 --> 00:41:28,270 And then for my-- again, for the AP, I would stop sort of intensive 811 00:41:28,270 --> 00:41:32,990 programming and teach the other units for the test because it matters that 812 00:41:32,990 --> 00:41:33,490 for-- 813 00:41:33,490 --> 00:41:36,770 it matters for kids and for their parents that their kids pass the test. 814 00:41:36,770 --> 00:41:38,410 It's an expensive test now. 815 00:41:38,410 --> 00:41:41,288 And then in May, after they have submitted the performance task 816 00:41:41,288 --> 00:41:44,330 and after they've taken the test, I would say what are you interested in? 817 00:41:44,330 --> 00:41:46,840 What do you want to learn? 818 00:41:46,840 --> 00:41:50,350 And that's sort of a progression for a standard class. 819 00:41:50,350 --> 00:41:51,940 And am I about to talk-- 820 00:41:51,940 --> 00:41:55,700 no, I'm in good shape on time. 821 00:41:55,700 --> 00:41:58,780 So if you're building for success on the performance task, 822 00:41:58,780 --> 00:42:03,310 12 hours of classroom time and you can't help them. 823 00:42:03,310 --> 00:42:07,360 The only thing that you can resolve is if the dev environment breaks. 824 00:42:07,360 --> 00:42:11,620 If there is a technical issue that they can't 825 00:42:11,620 --> 00:42:16,010 solve that is not related to their program, 826 00:42:16,010 --> 00:42:18,290 you can't help them in any way. 827 00:42:18,290 --> 00:42:20,980 And they need to know that going in. 828 00:42:20,980 --> 00:42:22,398 They can use the internet. 829 00:42:22,398 --> 00:42:23,440 They can use other tools. 830 00:42:23,440 --> 00:42:25,195 But they cannot use their teachers. 831 00:42:25,195 --> 00:42:28,170 832 00:42:28,170 --> 00:42:32,580 It is always best to complete this after unit 4. 833 00:42:32,580 --> 00:42:37,110 Have at least two or three weeks of programming in their heads 834 00:42:37,110 --> 00:42:41,340 before they start the performance task. 835 00:42:41,340 --> 00:42:43,980 They can complete it in any language. 836 00:42:43,980 --> 00:42:46,260 I was really impressed this year because usually I 837 00:42:46,260 --> 00:42:50,190 have one or two students who take-- who do it-- who tap out of C 838 00:42:50,190 --> 00:42:51,750 and do it in Scratch. 839 00:42:51,750 --> 00:42:54,060 And every single one of my students said, no, I 840 00:42:54,060 --> 00:42:55,500 understand C better at this point. 841 00:42:55,500 --> 00:42:58,480 So they did it in C. Very impressed with that. 842 00:42:58,480 --> 00:43:00,840 I'm not sure that the graders on the College Board 843 00:43:00,840 --> 00:43:03,330 are going to be as impressed. 844 00:43:03,330 --> 00:43:06,570 Because it's going to be harder to find a C programmer. 845 00:43:06,570 --> 00:43:11,640 It is OK to mix an existing idea from their previous work. 846 00:43:11,640 --> 00:43:13,380 But their code must be original. 847 00:43:13,380 --> 00:43:18,303 I really-- and students need to have an interest in what they're doing. 848 00:43:18,303 --> 00:43:20,970 Really tell them that because some of the kids will be like, oh, 849 00:43:20,970 --> 00:43:22,170 I'll just copy an idea. 850 00:43:22,170 --> 00:43:23,910 I'll just get an idea from online. 851 00:43:23,910 --> 00:43:26,190 Not if you're not interested in it. 852 00:43:26,190 --> 00:43:30,940 I had-- I think an assignment I was just not very impressed with 853 00:43:30,940 --> 00:43:34,300 because the kid looked at it and he said, I'm not interested in this. 854 00:43:34,300 --> 00:43:36,370 But I'll do it because I need a performance task. 855 00:43:36,370 --> 00:43:38,410 And it really showed. 856 00:43:38,410 --> 00:43:41,050 It was the absolute bare minimum. 857 00:43:41,050 --> 00:43:43,340 And it was actually below the bare minimum. 858 00:43:43,340 --> 00:43:46,305 So he didn't pass the performance task, which I was really upset about 859 00:43:46,305 --> 00:43:47,680 because he's a really bright kid. 860 00:43:47,680 --> 00:43:50,140 But he didn't pick a topic he was really interested in. 861 00:43:50,140 --> 00:43:53,290 By contrast, I had a student really not interested in, 862 00:43:53,290 --> 00:43:55,960 really had a hard time with programming. 863 00:43:55,960 --> 00:44:00,040 But he picked a chemical picker essentially, 864 00:44:00,040 --> 00:44:02,710 so it was a cool idea to go through an array, 865 00:44:02,710 --> 00:44:07,630 pick up chemicals by molecule weight, or something like that. 866 00:44:07,630 --> 00:44:11,770 I was amazed at the work he did because he was interested 867 00:44:11,770 --> 00:44:14,650 and engaged with the idea of what he was doing. 868 00:44:14,650 --> 00:44:18,370 So if you're teaching the AP test, make sure that the kid is-- 869 00:44:18,370 --> 00:44:20,380 the student is interested in what they're doing. 870 00:44:20,380 --> 00:44:23,190 871 00:44:23,190 --> 00:44:26,190 It's OK for them to take an existing idea, build upon it. 872 00:44:26,190 --> 00:44:29,070 It's OK for them to remix an existing idea. 873 00:44:29,070 --> 00:44:31,470 But it has to be their code. 874 00:44:31,470 --> 00:44:33,990 They can't just take the code they previously did, 875 00:44:33,990 --> 00:44:38,910 paste it in, and add a line or two and submit it as their own. 876 00:44:38,910 --> 00:44:44,160 And you cannot let a kid, a student, submit an assignment you have graded, 877 00:44:44,160 --> 00:44:44,700 period. 878 00:44:44,700 --> 00:44:48,090 Again, this is College Board stuff. 879 00:44:48,090 --> 00:44:52,770 But they cannot submit an assignment that has already been graded. 880 00:44:52,770 --> 00:44:58,470 I always took the extremely cautious line of not even accepting-- 881 00:44:58,470 --> 00:45:00,030 I would not grade their work. 882 00:45:00,030 --> 00:45:02,490 They would get a 20 out of 100-- 883 00:45:02,490 --> 00:45:05,550 they would get 20 points for submitting the assignment itself, 884 00:45:05,550 --> 00:45:07,740 but not actually-- 885 00:45:07,740 --> 00:45:10,530 I never looked at the assignment and gave it a grade. 886 00:45:10,530 --> 00:45:14,840 They just got a grade for completing it. 887 00:45:14,840 --> 00:45:17,840 Preparing for the test is one where you can 888 00:45:17,840 --> 00:45:22,310 take all of the other modules in CS50, or the expansion packs in CS50 889 00:45:22,310 --> 00:45:24,810 and mix them together. 890 00:45:24,810 --> 00:45:27,682 Impacts of computing, SQL, and understanding technology, 891 00:45:27,682 --> 00:45:29,640 you're going to want to go through all of those 892 00:45:29,640 --> 00:45:33,405 because that's all stuff that's going to be important for them. 893 00:45:33,405 --> 00:45:36,420 Great book for-- and this is not just for those 894 00:45:36,420 --> 00:45:40,110 of you teaching the AP course, this is just a generally good book 895 00:45:40,110 --> 00:45:42,630 about the impacts of computing and algorithms, 896 00:45:42,630 --> 00:45:47,520 which I think came from the syllabus a long time ago, which is Hello, World. 897 00:45:47,520 --> 00:45:52,050 CS50's understanding technology is-- basically, that's the whole thing. 898 00:45:52,050 --> 00:46:01,470 It's all in the-- if you look on the AP website, you can see right here. 899 00:46:01,470 --> 00:46:05,120 And this is the wrong size. 900 00:46:05,120 --> 00:46:12,260 If I go into the curriculum, you've got the CS50T, CS50X, and the AP modules. 901 00:46:12,260 --> 00:46:14,570 So everything's right there for you. 902 00:46:14,570 --> 00:46:16,880 Because it's all approved by the College Board anyway. 903 00:46:16,880 --> 00:46:18,710 And lots of practice tests. 904 00:46:18,710 --> 00:46:24,340 You have to do that through the College Board website. 905 00:46:24,340 --> 00:46:27,400 And the final thing, I promise this is the end before we have a longer 906 00:46:27,400 --> 00:46:33,650 question and answer session, is if you're online, I'm curious how many 907 00:46:33,650 --> 00:46:37,070 of you and in here, for those of you in here, how many of you 908 00:46:37,070 --> 00:46:42,120 are the only computer science teacher in your school or your district? 909 00:46:42,120 --> 00:46:43,620 That's what I was for years. 910 00:46:43,620 --> 00:46:47,130 Online, I'm sure a lot more hands are going up. 911 00:46:47,130 --> 00:46:49,500 It's hard. 912 00:46:49,500 --> 00:46:54,090 And I say this in my second session, it's very challenging 913 00:46:54,090 --> 00:46:56,310 to be the only teacher. 914 00:46:56,310 --> 00:46:58,590 I know because I did it not only in computer science. 915 00:46:58,590 --> 00:46:59,440 I did it in French. 916 00:46:59,440 --> 00:47:05,220 I had a whole department of other language teachers. 917 00:47:05,220 --> 00:47:05,970 We had German. 918 00:47:05,970 --> 00:47:06,990 We had Spanish. 919 00:47:06,990 --> 00:47:08,610 I was the only French teacher. 920 00:47:08,610 --> 00:47:10,110 So you're working alone. 921 00:47:10,110 --> 00:47:14,400 So it's really important, join a community, not just this one. 922 00:47:14,400 --> 00:47:16,230 Join an online community. 923 00:47:16,230 --> 00:47:18,870 You can join the CS50 lists. 924 00:47:18,870 --> 00:47:23,040 Great for when you've got a question, when you've got some sort of problem. 925 00:47:23,040 --> 00:47:25,110 You can just post questions in there. 926 00:47:25,110 --> 00:47:28,890 But join a CS teachers group. 927 00:47:28,890 --> 00:47:33,330 And this is a really goofy one, this is a really goofy one. 928 00:47:33,330 --> 00:47:35,110 But ask around. 929 00:47:35,110 --> 00:47:38,320 While it's unlike-- it depends on where you are. 930 00:47:38,320 --> 00:47:42,300 But if a local high school doesn't have a computer science teacher, 931 00:47:42,300 --> 00:47:46,800 the nicest thing about the education community is that we're all together. 932 00:47:46,800 --> 00:47:50,940 And I would email the local community college 933 00:47:50,940 --> 00:47:54,330 and ask for anyone there if they wanted to talk about it. 934 00:47:54,330 --> 00:47:56,610 We ended up going out on Thursdays. 935 00:47:56,610 --> 00:48:00,000 And we made a small-- and we made a deal of it in Colorado Springs. 936 00:48:00,000 --> 00:48:03,390 937 00:48:03,390 --> 00:48:05,920 Questions from in this classroom? 938 00:48:05,920 --> 00:48:07,425 Hopefully I've covered everything. 939 00:48:07,425 --> 00:48:09,675 I'm trying to think if there's anything I have missed. 940 00:48:09,675 --> 00:48:13,690 941 00:48:13,690 --> 00:48:14,730 And I don't think so. 942 00:48:14,730 --> 00:48:15,280 Yes? 943 00:48:15,280 --> 00:48:17,072 AUDIENCE: You said you flip your classroom. 944 00:48:17,072 --> 00:48:22,468 Do you grade them if they watch or don't watch the videos or-- 945 00:48:22,468 --> 00:48:24,760 PETER WADE: So the question was I flipped my classroom. 946 00:48:24,760 --> 00:48:27,700 Yes, they did get a grade for completion of a video. 947 00:48:27,700 --> 00:48:30,372 So I had a-- 948 00:48:30,372 --> 00:48:32,370 I had-- I put it in-- 949 00:48:32,370 --> 00:48:34,380 I would put the full video in Edpuzzle. 950 00:48:34,380 --> 00:48:37,500 They had to watch the full video in Edpuzzle. 951 00:48:37,500 --> 00:48:39,393 And then they would have a quiz. 952 00:48:39,393 --> 00:48:42,060 But I told them it was OK to do it over the course of a couple-- 953 00:48:42,060 --> 00:48:44,340 over the course of a week or two. 954 00:48:44,340 --> 00:48:46,800 So they would watch it while simultaneously 955 00:48:46,800 --> 00:48:48,840 learning about what they were doing. 956 00:48:48,840 --> 00:48:51,600 Usually, the quiz was due at the end of each unit. 957 00:48:51,600 --> 00:48:52,900 So they would do all the work. 958 00:48:52,900 --> 00:48:54,900 And then they would put the answers in the quiz. 959 00:48:54,900 --> 00:48:58,830 Each time, it's a good-- if you're looking for quiz material, which 960 00:48:58,830 --> 00:49:02,520 I always was, put it in the notes. 961 00:49:02,520 --> 00:49:06,330 Again, the kids will look-- the students will look for answers anywhere 962 00:49:06,330 --> 00:49:09,060 but the one place that it tells them. 963 00:49:09,060 --> 00:49:12,450 And you can find some really great question material in here. 964 00:49:12,450 --> 00:49:13,692 This is a great-- 965 00:49:13,692 --> 00:49:14,650 this is great material. 966 00:49:14,650 --> 00:49:17,070 I wish I had known about it when I took CS50 too. 967 00:49:17,070 --> 00:49:19,320 But I didn't read it because I was-- 968 00:49:19,320 --> 00:49:21,390 wasn't paying attention. 969 00:49:21,390 --> 00:49:24,180 So these are-- so that's a suggestion for you. 970 00:49:24,180 --> 00:49:27,330 If you want to build-- if you build quizzes for each unit, 971 00:49:27,330 --> 00:49:29,430 definitely look through the notes. 972 00:49:29,430 --> 00:49:32,890 Great spot for all the different materials. 973 00:49:32,890 --> 00:49:33,560 Yes? 974 00:49:33,560 --> 00:49:36,970 AUDIENCE: This might be a better question for your second-- 975 00:49:36,970 --> 00:49:38,110 your second talk. 976 00:49:38,110 --> 00:49:39,027 PETER WADE: That's OK. 977 00:49:39,027 --> 00:49:44,320 AUDIENCE: If you see a student who is beginning to fall behind, 978 00:49:44,320 --> 00:49:48,310 like you see like they were really in it with the Scratch, and then they like, 979 00:49:48,310 --> 00:49:52,870 when they get hit by that-- or they jump off that cliff, to use your metaphor, 980 00:49:52,870 --> 00:49:54,138 and then-- 981 00:49:54,138 --> 00:49:56,680 and you just see like missing assignment, missing assignment, 982 00:49:56,680 --> 00:50:00,640 missing assignment, what's a strategy that you 983 00:50:00,640 --> 00:50:04,050 use to bring them back on board? 984 00:50:04,050 --> 00:50:06,150 PETER WADE: That's a great question. 985 00:50:06,150 --> 00:50:08,130 And the answer is it depends. 986 00:50:08,130 --> 00:50:13,590 I had, as an example, I had a student, very sweet-hearted student who just 987 00:50:13,590 --> 00:50:15,100 couldn't keep up with the material. 988 00:50:15,100 --> 00:50:17,350 Partially because he wasn't there for a portion of it. 989 00:50:17,350 --> 00:50:19,080 He had some pretty serious family issues. 990 00:50:19,080 --> 00:50:22,770 Goes into the differentiation aspect. 991 00:50:22,770 --> 00:50:24,060 I would extend time. 992 00:50:24,060 --> 00:50:26,520 I very rarely kept kids to-- 993 00:50:26,520 --> 00:50:30,180 I would tell them this is due this day. 994 00:50:30,180 --> 00:50:34,440 But if I saw that they were making an honest effort to complete it, 995 00:50:34,440 --> 00:50:38,670 and they just were not getting it, I would say it's OK. 996 00:50:38,670 --> 00:50:41,480 I think now in terms of differentiation, I 997 00:50:41,480 --> 00:50:44,400 think that the AI toolbox that they've provided 998 00:50:44,400 --> 00:50:48,790 is going to be a game changer, absolute game changer. 999 00:50:48,790 --> 00:50:50,970 So I think that's one point to know is that to say 1000 00:50:50,970 --> 00:50:53,220 it's OK to use this AI tool. 1001 00:50:53,220 --> 00:50:57,690 But you can't use any others because it will answer the question. 1002 00:50:57,690 --> 00:51:03,410 At some point, you're probably going to get a student who just can't do it. 1003 00:51:03,410 --> 00:51:06,970 And it's really tough when you get that. 1004 00:51:06,970 --> 00:51:10,170 1005 00:51:10,170 --> 00:51:12,530 And the answer is I don't quite know. 1006 00:51:12,530 --> 00:51:17,630 The way I handled it is that it was a senior who, again, just could not-- 1007 00:51:17,630 --> 00:51:21,830 he couldn't get the logic underlying the computer science, 1008 00:51:21,830 --> 00:51:23,210 even when he came to me for help. 1009 00:51:23,210 --> 00:51:26,820 He was in my office basically every day. 1010 00:51:26,820 --> 00:51:31,580 And what I ended up doing was I dropped him out of the AP class, 1011 00:51:31,580 --> 00:51:35,240 put him in topics in computer science and had 1012 00:51:35,240 --> 00:51:38,285 him take the Scratch curriculum because he responded really well 1013 00:51:38,285 --> 00:51:38,910 to the scratch. 1014 00:51:38,910 --> 00:51:42,020 He was dyslexic as well, which if you're programming in C 1015 00:51:42,020 --> 00:51:46,060 is almost impossible to handle. 1016 00:51:46,060 --> 00:51:48,060 But that was how I handled that situation. 1017 00:51:48,060 --> 00:51:48,690 And it worked. 1018 00:51:48,690 --> 00:51:49,320 He did it. 1019 00:51:49,320 --> 00:51:50,940 He did really well in it. 1020 00:51:50,940 --> 00:51:54,980 Created a really cool project that I'll show you later. 1021 00:51:54,980 --> 00:51:56,800 Any questions from in the room? 1022 00:51:56,800 --> 00:51:58,370 Other questions from in the room? 1023 00:51:58,370 --> 00:52:00,400 Any questions from the internet? 1024 00:52:00,400 --> 00:52:01,840 A lot? 1025 00:52:01,840 --> 00:52:03,320 AUDIENCE: We have a few questions. 1026 00:52:03,320 --> 00:52:07,120 One about the slides from earlier, with your example curriculum 1027 00:52:07,120 --> 00:52:10,240 structure for the AP course specifically. 1028 00:52:10,240 --> 00:52:12,068 You talk about units. 1029 00:52:12,068 --> 00:52:13,360 How do you structure each unit? 1030 00:52:13,360 --> 00:52:15,690 What content goes into each unit? 1031 00:52:15,690 --> 00:52:18,015 PETER WADE: I'm sorry, what contact goes with what? 1032 00:52:18,015 --> 00:52:19,890 AUDIENCE: What content goes within each unit? 1033 00:52:19,890 --> 00:52:22,500 How do you structure by unit? 1034 00:52:22,500 --> 00:52:24,250 PETER WADE: Oh, I just-- 1035 00:52:24,250 --> 00:52:29,640 I took exactly what was in each unit in the syllabus. 1036 00:52:29,640 --> 00:52:33,630 The typical progression was something along the lines of they 1037 00:52:33,630 --> 00:52:37,560 would start the video, simultaneous to them starting the video, 1038 00:52:37,560 --> 00:52:39,970 I would talk through the lecture. 1039 00:52:39,970 --> 00:52:43,770 I would pinpoint a couple of points, so like talking about header files 1040 00:52:43,770 --> 00:52:46,080 or talking about strings. 1041 00:52:46,080 --> 00:52:50,640 I would take a class, give a lecture specific to that, then do a lab. 1042 00:52:50,640 --> 00:52:54,000 And then move on to the next topic, and then do a lab. 1043 00:52:54,000 --> 00:52:55,290 And then I would-- 1044 00:52:55,290 --> 00:52:59,595 once I felt that they were comfortable enough with it, 1045 00:52:59,595 --> 00:53:01,180 I had them do an assignment. 1046 00:53:01,180 --> 00:53:02,430 And again, I would typically-- 1047 00:53:02,430 --> 00:53:04,388 I always played the assignment videos in class, 1048 00:53:04,388 --> 00:53:07,680 because again, it's the only way they're actually going to pay attention to it. 1049 00:53:07,680 --> 00:53:10,260 I would often have them read the assignment out loud. 1050 00:53:10,260 --> 00:53:13,650 And I would always tell them, look at the hints. 1051 00:53:13,650 --> 00:53:14,700 You repeat that. 1052 00:53:14,700 --> 00:53:17,740 Everyone online, look at the hints, with me. 1053 00:53:17,740 --> 00:53:19,920 Look at the hints. 1054 00:53:19,920 --> 00:53:21,660 They need to look there. 1055 00:53:21,660 --> 00:53:23,620 Because the answer is sitting there. 1056 00:53:23,620 --> 00:53:25,210 And they can figure it out. 1057 00:53:25,210 --> 00:53:29,450 They just need to read. 1058 00:53:29,450 --> 00:53:32,290 So I think that hopefully that answers the question. 1059 00:53:32,290 --> 00:53:33,450 The shorts are great too. 1060 00:53:33,450 --> 00:53:35,950 Highly recommend making sure that they watch the shorts when 1061 00:53:35,950 --> 00:53:38,180 they're stuck on a specific topic. 1062 00:53:38,180 --> 00:53:39,810 Very useful. 1063 00:53:39,810 --> 00:53:41,137 Another online question? 1064 00:53:41,137 --> 00:53:42,470 AUDIENCE: That's pretty much it. 1065 00:53:42,470 --> 00:53:44,345 Just quite a few about the units, that's all. 1066 00:53:44,345 --> 00:53:48,540 1067 00:53:48,540 --> 00:53:51,210 PETER WADE: So I hope that this has been helpful to those 1068 00:53:51,210 --> 00:53:54,180 of you who are starting this. 1069 00:53:54,180 --> 00:53:57,895 Again, this is-- I made this as an example for the AP class 1070 00:53:57,895 --> 00:53:59,520 because that's what I started teaching. 1071 00:53:59,520 --> 00:54:03,610 And I think it's still the flagship that I put together. 1072 00:54:03,610 --> 00:54:07,260 But if you're interested-- those of you who are looking to expand your program 1073 00:54:07,260 --> 00:54:11,830 or are looking at the other expansion packs, I'm giving another session, 1074 00:54:11,830 --> 00:54:13,320 I think it's at 11:30 tomorrow. 1075 00:54:13,320 --> 00:54:14,910 I can't remember the time. 1076 00:54:14,910 --> 00:54:16,980 But I'm giving another session tomorrow, which 1077 00:54:16,980 --> 00:54:22,230 is about expanding a program using CS50 without burning yourself out 1078 00:54:22,230 --> 00:54:25,080 because that's a big part of teaching alone. 1079 00:54:25,080 --> 00:54:26,730 Is it's so easy-- 1080 00:54:26,730 --> 00:54:30,240 because it's so easy for the administrators, they come in. 1081 00:54:30,240 --> 00:54:33,330 And they're like, hey, you taught one computer science class. 1082 00:54:33,330 --> 00:54:36,270 But what if you taught another one? 1083 00:54:36,270 --> 00:54:38,100 And you're like, but I'm a math teacher. 1084 00:54:38,100 --> 00:54:41,700 And they're like, yeah, but you know, you 1085 00:54:41,700 --> 00:54:44,730 could teach an artificial intelligence class, right? 1086 00:54:44,730 --> 00:54:47,290 And you're like, yeah, sure, Ron. 1087 00:54:47,290 --> 00:54:48,130 Whatever you say. 1088 00:54:48,130 --> 00:54:52,980 1089 00:54:52,980 --> 00:54:56,550 One final thing that I actually did forget to mention, which goes back, 1090 00:54:56,550 --> 00:55:01,970 and I promise then I'll stop talking, which 1091 00:55:01,970 --> 00:55:08,250 is when I went to the keeping kids interested, which is somewhere in here. 1092 00:55:08,250 --> 00:55:12,240 And I think it's after this. 1093 00:55:12,240 --> 00:55:16,683 Keeping students interested, take a break from time to time. 1094 00:55:16,683 --> 00:55:18,600 They're going to be doing this the whole year. 1095 00:55:18,600 --> 00:55:21,195 If they're doing it a semester of the year, give them a break. 1096 00:55:21,195 --> 00:55:24,120 1097 00:55:24,120 --> 00:55:27,030 It can be hard for students-- and this is something 1098 00:55:27,030 --> 00:55:29,760 that I think we, as teachers, don't always think about. 1099 00:55:29,760 --> 00:55:34,050 Is that computer science is a new subject that's been added. 1100 00:55:34,050 --> 00:55:36,545 But no one's ever said, OK, we're adding computer science, 1101 00:55:36,545 --> 00:55:37,920 but we're going to subtract math. 1102 00:55:37,920 --> 00:55:39,378 Or we're going to subtract English. 1103 00:55:39,378 --> 00:55:41,820 And absolutely, we shouldn't. 1104 00:55:41,820 --> 00:55:47,260 But for a kid who's-- for a very high performing student who's taking four 1105 00:55:47,260 --> 00:55:51,630 or five AP classes, who's taking a bunch of honors classes, 1106 00:55:51,630 --> 00:55:54,120 who's in some very difficult subjects already, 1107 00:55:54,120 --> 00:55:59,340 adding another hour of work over the course of three days may not sound like 1108 00:55:59,340 --> 00:55:59,950 a lot. 1109 00:55:59,950 --> 00:56:02,790 But when you stack it on everything else that they're doing, 1110 00:56:02,790 --> 00:56:07,500 it can be really hard for them to put that energy in. 1111 00:56:07,500 --> 00:56:10,080 And it can really discourage kids from joining-- students 1112 00:56:10,080 --> 00:56:11,140 from joining your class. 1113 00:56:11,140 --> 00:56:14,580 So I really do say give them a break. 1114 00:56:14,580 --> 00:56:18,810 Try and give them some leniency. 1115 00:56:18,810 --> 00:56:24,610 Programming is a lot of fun when it's not being graded 1116 00:56:24,610 --> 00:56:27,940 is what I've found, which I say as a teacher having 1117 00:56:27,940 --> 00:56:31,010 graded plenty of programming work. 1118 00:56:31,010 --> 00:56:34,000 But it can be very discouraging for kids who've got so much going on 1119 00:56:34,000 --> 00:56:37,570 that they just can't add another thing. 1120 00:56:37,570 --> 00:56:41,480 And the other part is that in my AP unit, I added a digit-- 1121 00:56:41,480 --> 00:56:46,960 you don't have to copy/paste exactly what is on the CS50 website. 1122 00:56:46,960 --> 00:56:50,920 My AP unit, every one of my intro in AP units 1123 00:56:50,920 --> 00:56:54,790 had a unit where we did Photoshop because it's a fun way 1124 00:56:54,790 --> 00:56:56,560 to teach file directories. 1125 00:56:56,560 --> 00:56:59,500 And it gets them to think, OK, well, computer science 1126 00:56:59,500 --> 00:57:02,770 isn't just about programming because that's not what it is. 1127 00:57:02,770 --> 00:57:05,350 If you look at the huge field of computer science, 1128 00:57:05,350 --> 00:57:06,580 there's a very small-- 1129 00:57:06,580 --> 00:57:08,200 there's a large number of programmers. 1130 00:57:08,200 --> 00:57:12,280 But there's a large number of graphic designers, IT professionals. 1131 00:57:12,280 --> 00:57:16,240 A network engineer may have never programmed in their life. 1132 00:57:16,240 --> 00:57:21,110 But they're still a very important part of the programming field. 1133 00:57:21,110 --> 00:57:26,440 But that's a whole topic for my other session. 1134 00:57:26,440 --> 00:57:28,350 All right, thank you so much. 1135 00:57:28,350 --> 00:57:31,400 [APPLAUSE] 1136 00:57:31,400 --> 00:57:36,000