1 00:00:00,420 --> 00:00:05,910 [Music] 2 00:00:11,040 --> 00:00:18,240 Hello, welcome back to the education 3 00:00:14,080 --> 00:00:21,760 track. Uh it is my absolute pleasure to 4 00:00:18,240 --> 00:00:25,119 introduce Edwin uh talking about 5 00:00:21,760 --> 00:00:27,519 capturing flyers fly capturing flags 6 00:00:25,119 --> 00:00:31,359 with microbus. I have known Edwin 7 00:00:27,519 --> 00:00:33,440 Griffin for about a decade and he became 8 00:00:31,359 --> 00:00:36,480 my hero 9 00:00:33,440 --> 00:00:38,480 about a decade ago when you unwaveringly 10 00:00:36,480 --> 00:00:40,320 went above and beyond in the cause of 11 00:00:38,480 --> 00:00:42,640 supporting students and helping 12 00:00:40,320 --> 00:00:44,320 volunteers communities. Um I noticed 13 00:00:42,640 --> 00:00:46,800 that that you do have a bit of an honor 14 00:00:44,320 --> 00:00:48,320 guard at the back there like a row of 15 00:00:46,800 --> 00:00:50,559 students. 16 00:00:48,320 --> 00:00:54,640 I'm not I'm not sure whether they're 17 00:00:50,559 --> 00:00:58,719 waiting to judge or here to support. 18 00:00:54,640 --> 00:01:01,680 Will judge. They've qualified judge. Um 19 00:00:58,719 --> 00:01:05,280 Edward's been teaching for uh a decade 20 00:01:01,680 --> 00:01:07,600 more. Um every year I am absolutely 21 00:01:05,280 --> 00:01:10,720 blown away by the quality of the 22 00:01:07,600 --> 00:01:13,920 students that I hear about. Um just 23 00:01:10,720 --> 00:01:16,320 mind-blowing things that if another 24 00:01:13,920 --> 00:01:20,240 teacher came and said, "Hey, I think I 25 00:01:16,320 --> 00:01:23,119 want to do blah machine learning and 26 00:01:20,240 --> 00:01:25,840 this and that." I'd be like, "Great. Um 27 00:01:23,119 --> 00:01:28,159 have fun with that." uh and somehow you 28 00:01:25,840 --> 00:01:31,840 make it work and it is amazing and 29 00:01:28,159 --> 00:01:33,439 unbelievable and a credit to um the 30 00:01:31,840 --> 00:01:36,640 community that you bring them here as 31 00:01:33,439 --> 00:01:38,560 well for us all to enjoy. Um 32 00:01:36,640 --> 00:01:40,079 thank you. We're going to hear about 33 00:01:38,560 --> 00:01:42,320 Flags with Micro Bits. Yep. 34 00:01:40,079 --> 00:01:45,320 Um Edwin, make Edwin, welcome. Thank 35 00:01:42,320 --> 00:01:45,320 you. 36 00:01:46,399 --> 00:01:52,799 Um hello speaking. Hello. Uh who am I? 37 00:01:51,520 --> 00:01:54,880 Uh Nikki just gave me a wonderful 38 00:01:52,799 --> 00:01:56,720 introduction. Um, but that is my name. 39 00:01:54,880 --> 00:01:57,920 My name is Edwin Griffin. Um, I am a 40 00:01:56,720 --> 00:01:59,920 digital technologies teacher. I 41 00:01:57,920 --> 00:02:01,360 primarily operate in the 9 to2 range. 42 00:01:59,920 --> 00:02:03,759 Um, I currently work at the Bergman 43 00:02:01,360 --> 00:02:05,680 Anglican School in the ACT. Um, and I 44 00:02:03,759 --> 00:02:08,879 have poor impulse control. This is going 45 00:02:05,680 --> 00:02:10,399 to come up several times. Um, this is a 46 00:02:08,879 --> 00:02:11,760 photo of me. I'm the one in the red 47 00:02:10,399 --> 00:02:14,319 circle, which is hopefully obvious at 48 00:02:11,760 --> 00:02:16,239 this point. Um, that photo is a decade 49 00:02:14,319 --> 00:02:18,160 old almost. It's from a previous python 50 00:02:16,239 --> 00:02:20,480 actually, which is pretty cool. Um, I 51 00:02:18,160 --> 00:02:26,080 have lost a lot of hair since then. But 52 00:02:20,480 --> 00:02:29,200 anyway, um why am I here? Um I used 53 00:02:26,080 --> 00:02:31,760 microbits to make a dodgy 54 00:02:29,200 --> 00:02:33,360 uh capture the flag competition. 55 00:02:31,760 --> 00:02:36,800 I have brought with me what I like to 56 00:02:33,360 --> 00:02:39,200 refer to as my exam box. It's a jumbled 57 00:02:36,800 --> 00:02:42,640 mess of about seven micro:bits. But 58 00:02:39,200 --> 00:02:45,120 within this box plus some cloud storage, 59 00:02:42,640 --> 00:02:47,120 there is sufficient suppliers to run a 60 00:02:45,120 --> 00:02:49,360 cyber security exam um using a 61 00:02:47,120 --> 00:02:53,280 surprisingly small number of small 62 00:02:49,360 --> 00:02:55,280 volume of equipment. Um so I did this 63 00:02:53,280 --> 00:02:57,280 thing. It went significantly better than 64 00:02:55,280 --> 00:02:58,319 I ever expected it to go. Um and I 65 00:02:57,280 --> 00:03:00,000 thought this would make an interesting 66 00:02:58,319 --> 00:03:02,480 story and someone at PyCon agreed that it 67 00:03:00,000 --> 00:03:05,440 would also make an interesting story. So 68 00:03:02,480 --> 00:03:06,720 um I'd come and talk. Also, if anybody 69 00:03:05,440 --> 00:03:08,000 wants to talk about the box or just 70 00:03:06,720 --> 00:03:09,599 wants access to all of the code that I 71 00:03:08,000 --> 00:03:12,400 use to make this exam, plus the actual 72 00:03:09,599 --> 00:03:13,920 exam itself, please talk to me. Um, 73 00:03:12,400 --> 00:03:15,440 anyway, before we get to that, I figured 74 00:03:13,920 --> 00:03:16,879 I'd do some little overviews on exactly 75 00:03:15,440 --> 00:03:18,480 what's going on here and answer some 76 00:03:16,879 --> 00:03:20,480 questions like, what is a micro:bit and 77 00:03:18,480 --> 00:03:22,400 why do we care about this thing? Um, how 78 00:03:20,480 --> 00:03:25,120 do we use the micro:bits? Do we use 79 00:03:22,400 --> 00:03:27,920 software? Why is the fnt a different 80 00:03:25,120 --> 00:03:31,360 font? That is a 81 00:03:27,920 --> 00:03:33,680 very good question. Um, I don't know how 82 00:03:31,360 --> 00:03:35,920 that happened. Um, and then does this 83 00:03:33,680 --> 00:03:37,599 entire thing work on Chromebooks? Um, 84 00:03:35,920 --> 00:03:38,879 which, uh, a large number of teachers 85 00:03:37,599 --> 00:03:39,920 repeatedly ask me, can we do this on 86 00:03:38,879 --> 00:03:41,120 Chromebooks? And it turns out, yes, you 87 00:03:39,920 --> 00:03:43,760 can do the entire thing on Chromebooks. 88 00:03:41,120 --> 00:03:45,599 Um, all you need is browser access. Um, 89 00:03:43,760 --> 00:03:47,120 so what is a microbit? Microbits are a 90 00:03:45,599 --> 00:03:48,959 wonderful piece of tech. They are an 91 00:03:47,120 --> 00:03:50,879 embedded system much similar to an 92 00:03:48,959 --> 00:03:52,239 Arduino. They are cheap. They have a 93 00:03:50,879 --> 00:03:55,360 bunch of components baked in and they 94 00:03:52,239 --> 00:03:56,799 work entirely with Python. Um, this is 95 00:03:55,360 --> 00:03:59,200 wonderful. And the part that I really, 96 00:03:56,799 --> 00:04:02,879 really love is this thing here where it 97 00:03:59,200 --> 00:04:05,360 says radio antenna. Um, I make extensive 98 00:04:02,879 --> 00:04:08,319 use of that. So, how do we use these 99 00:04:05,360 --> 00:04:10,000 things? Um, I use this wonderful piece 100 00:04:08,319 --> 00:04:11,519 of software called code with MW. You 101 00:04:10,000 --> 00:04:13,120 might notice at the top there is a giant 102 00:04:11,519 --> 00:04:14,239 red banner that says MW is no longer 103 00:04:13,120 --> 00:04:15,840 maintained and the project has been 104 00:04:14,239 --> 00:04:17,120 archived here. I discovered this two 105 00:04:15,840 --> 00:04:18,959 days ago when I put these slides 106 00:04:17,120 --> 00:04:21,040 together. As of the start of the year, 107 00:04:18,959 --> 00:04:22,240 it was fine. Um, as of right now, it 108 00:04:21,040 --> 00:04:24,639 still works and still does the job it 109 00:04:22,240 --> 00:04:26,000 needs to do. I am now searching for a 110 00:04:24,639 --> 00:04:27,759 different piece of software, but 111 00:04:26,000 --> 00:04:30,160 fortunately, um, it also works 112 00:04:27,759 --> 00:04:32,240 completely in the browser. Um, if you go 113 00:04:30,160 --> 00:04:35,120 to python.microbit.org, you will get a 114 00:04:32,240 --> 00:04:36,479 Python um, browserbased editor. Uh, you 115 00:04:35,120 --> 00:04:38,080 can write code in the middle, there is 116 00:04:36,479 --> 00:04:40,000 suggestion code on the side, which is 117 00:04:38,080 --> 00:04:41,600 super useful for helping students learn 118 00:04:40,000 --> 00:04:43,280 how to program in the first place. Um, 119 00:04:41,600 --> 00:04:45,199 you have a simulator on the right hand 120 00:04:43,280 --> 00:04:47,280 side and a really, really critical 121 00:04:45,199 --> 00:04:49,759 button that I love, which is the show 122 00:04:47,280 --> 00:04:51,680 serial button, um, which is again how I 123 00:04:49,759 --> 00:04:52,880 power most of this thing. So, there's 124 00:04:51,680 --> 00:04:53,919 also a send to micro button. So, if 125 00:04:52,880 --> 00:04:55,840 you've got a micro plugged into your 126 00:04:53,919 --> 00:04:57,440 computer, you can upload code directly. 127 00:04:55,840 --> 00:04:58,880 Um, and then you can observe the serial 128 00:04:57,440 --> 00:05:02,720 on that microbit that's running over 129 00:04:58,880 --> 00:05:04,880 your USB port um, in real time. And you 130 00:05:02,720 --> 00:05:06,560 can use this to allow communication, 131 00:05:04,880 --> 00:05:09,280 which again what I used extensively 132 00:05:06,560 --> 00:05:12,320 here. So, 133 00:05:09,280 --> 00:05:14,080 we're going to start in 2023. Um, most 134 00:05:12,320 --> 00:05:15,120 of this takes place in 2023. Uh, so 135 00:05:14,080 --> 00:05:17,360 we're going to pretend right now that 136 00:05:15,120 --> 00:05:20,479 it's 2023. Um, I at this point I've been 137 00:05:17,360 --> 00:05:21,520 teaching 910 for two years. Um, I get 138 00:05:20,479 --> 00:05:23,199 told at the start of the year that, hey, 139 00:05:21,520 --> 00:05:25,919 the V9 curriculum is a thing. I should 140 00:05:23,199 --> 00:05:28,720 be using the V9 curriculum to teach. Um 141 00:05:25,919 --> 00:05:31,039 I decide yes sure let's do that. I go to 142 00:05:28,720 --> 00:05:32,479 look at the V9 curriculum and I get this 143 00:05:31,039 --> 00:05:34,080 um achievement standards students 144 00:05:32,479 --> 00:05:35,520 explain how to manage digital sorry 145 00:05:34,080 --> 00:05:37,360 students explain how digital systems 146 00:05:35,520 --> 00:05:38,880 manage control and secure access to data 147 00:05:37,360 --> 00:05:41,919 and model cyber security threats and 148 00:05:38,880 --> 00:05:44,919 explore a vulnerability and I thought 149 00:05:41,919 --> 00:05:44,919 cool 150 00:05:46,400 --> 00:05:52,400 um I don't know that uh so I love 151 00:05:50,400 --> 00:05:54,160 cryptography um cryptography is a 152 00:05:52,400 --> 00:05:56,000 beautiful merging of math and language 153 00:05:54,160 --> 00:06:00,800 it is a wonderful area and it just makes 154 00:05:56,000 --> 00:06:02,160 my brain Happy happy. Yes. Um 155 00:06:00,800 --> 00:06:03,440 I don't know much else about cyber 156 00:06:02,160 --> 00:06:04,960 security. This is a bit of a problem 157 00:06:03,440 --> 00:06:06,720 when I've got to teach cyber security. 158 00:06:04,960 --> 00:06:08,560 Um I wasn't exactly sure how to get help 159 00:06:06,720 --> 00:06:10,240 around this stuff. Um fortunately I live 160 00:06:08,560 --> 00:06:12,960 in CRA and here we have lots of 161 00:06:10,240 --> 00:06:14,720 different kinds of local competitions. 162 00:06:12,960 --> 00:06:16,240 Um also the internet exists which is 163 00:06:14,720 --> 00:06:17,680 nice. Um and there's a bunch of online 164 00:06:16,240 --> 00:06:20,400 coms too that my students found and were 165 00:06:17,680 --> 00:06:23,280 able to make use of. So I found about 166 00:06:20,400 --> 00:06:25,280 these things called capture the flags. 167 00:06:23,280 --> 00:06:27,759 These people helped me out a great deal. 168 00:06:25,280 --> 00:06:30,479 um the Pan Plus programming competition. 169 00:06:27,759 --> 00:06:32,560 Um uh originally Perth and CRA, hence 170 00:06:30,479 --> 00:06:34,319 the name Pan. 171 00:06:32,560 --> 00:06:35,680 Uh but that eventually became pretty 172 00:06:34,319 --> 00:06:38,400 much in every capital city in the 173 00:06:35,680 --> 00:06:41,199 country. They run an incredible two-day 174 00:06:38,400 --> 00:06:43,520 comp and one day is purely learning. Um 175 00:06:41,199 --> 00:06:44,720 was a fantastic way for me to learn a 176 00:06:43,520 --> 00:06:46,160 bunch of stuff about this, but also my 177 00:06:44,720 --> 00:06:48,240 students to attend and learn a bunch of 178 00:06:46,160 --> 00:06:50,400 stuff about it as well. Um we did the 179 00:06:48,240 --> 00:06:52,319 Locky Martin Cyber Quest competition. Um 180 00:06:50,400 --> 00:06:53,840 back in 2023, Cyber Taipan was still a 181 00:06:52,319 --> 00:06:56,160 thing. I believe it's rebranded in 182 00:06:53,840 --> 00:06:58,080 significantly since then. Um, also 183 00:06:56,160 --> 00:06:59,520 online competitions like Pico CTF, uh, 184 00:06:58,080 --> 00:07:02,240 there's Try Hackme, there's Hack the 185 00:06:59,520 --> 00:07:04,639 Box, there is Over the Wire Games. Now, 186 00:07:02,240 --> 00:07:06,319 my students said they really loved doing 187 00:07:04,639 --> 00:07:08,400 these things. They had lots of fun doing 188 00:07:06,319 --> 00:07:09,919 these things. They enjoyed it more than 189 00:07:08,400 --> 00:07:11,280 doing some of their other subjects, 190 00:07:09,919 --> 00:07:13,919 which the other teachers complained to 191 00:07:11,280 --> 00:07:17,520 me about, but I said, I'm just cooler, I 192 00:07:13,919 --> 00:07:22,680 guess. Um, and on that topic, I looked 193 00:07:17,520 --> 00:07:22,680 at all this and I said, I could do that. 194 00:07:23,120 --> 00:07:25,520 At this point, I'd like to remind 195 00:07:24,319 --> 00:07:27,680 everyone that I have poor impulse 196 00:07:25,520 --> 00:07:29,840 control. So, 197 00:07:27,680 --> 00:07:32,000 um, it is 2023. It's February. It's week 198 00:07:29,840 --> 00:07:33,599 one. Um, I put together my unit outline. 199 00:07:32,000 --> 00:07:35,599 I am going through it with my new batch 200 00:07:33,599 --> 00:07:38,479 of year 10. Those year 10s are the ones 201 00:07:35,599 --> 00:07:41,039 sitting at the back, by the way. Um, 202 00:07:38,479 --> 00:07:43,360 great. Um, I get to the part where I 203 00:07:41,039 --> 00:07:44,639 slotted in the cyber security unit and I 204 00:07:43,360 --> 00:07:45,919 look around this class and I'm thinking, 205 00:07:44,639 --> 00:07:47,120 man, I've learned all these cool things. 206 00:07:45,919 --> 00:07:49,680 I have all these cool topics to talk 207 00:07:47,120 --> 00:07:52,639 about and they seem bored. Um, and I'm 208 00:07:49,680 --> 00:07:54,240 like, wouldn't it be cool if we finish 209 00:07:52,639 --> 00:07:57,120 the unit with a cyber security exam 210 00:07:54,240 --> 00:07:59,599 that's run as a CTF? And they go crazy 211 00:07:57,120 --> 00:08:02,240 and they love it. And I realize I have 212 00:07:59,599 --> 00:08:04,879 poor impulse control. 213 00:08:02,240 --> 00:08:07,840 Um, cuz I haven't haven't thought about 214 00:08:04,879 --> 00:08:12,680 this yet. Anyway, um, scheduling, it's 215 00:08:07,840 --> 00:08:12,680 fine. It's still fine. 216 00:08:14,400 --> 00:08:17,960 It's still fine. 217 00:08:19,919 --> 00:08:25,680 It in fact might not be fine. Let's go. 218 00:08:22,879 --> 00:08:27,199 Yay. It's still fine. It's February. Um, 219 00:08:25,680 --> 00:08:28,479 yeah, cyber security I've scheduled for 220 00:08:27,199 --> 00:08:29,520 week 2, term two. I don't have to worry 221 00:08:28,479 --> 00:08:34,000 about that. I got three months to 222 00:08:29,520 --> 00:08:36,240 prepare. I blink. It's term two. Oops. 223 00:08:34,000 --> 00:08:39,360 I haven't started yet. Um, and I remind 224 00:08:36,240 --> 00:08:41,919 myself I have poor impulse control. 225 00:08:39,360 --> 00:08:46,080 So, we need to come up with sorry, we 226 00:08:41,919 --> 00:08:47,680 need to come up with a plan. Um so one 227 00:08:46,080 --> 00:08:50,000 I'm going to use microbits I can form a 228 00:08:47,680 --> 00:08:51,120 network with those microbits. Uh one the 229 00:08:50,000 --> 00:08:52,399 numbering system is going to seem 230 00:08:51,120 --> 00:08:54,560 unconventional but it'll make sense 231 00:08:52,399 --> 00:08:56,480 later. Um students will have to map that 232 00:08:54,560 --> 00:08:58,000 network and find the bots. Two students 233 00:08:56,480 --> 00:08:59,839 will use the microbits to monitor and 234 00:08:58,000 --> 00:09:01,040 then speak to the bots. While doing this 235 00:08:59,839 --> 00:09:02,880 they're going to find bots that speak in 236 00:09:01,040 --> 00:09:04,160 a cipher. They can crack the cipher and 237 00:09:02,880 --> 00:09:05,200 receive a suite of instructions. By 238 00:09:04,160 --> 00:09:06,560 following the instructions that will 239 00:09:05,200 --> 00:09:08,160 lead them to another set of ciphered 240 00:09:06,560 --> 00:09:09,360 text. If they solve all of these things, 241 00:09:08,160 --> 00:09:11,279 they'll get something steganography 242 00:09:09,360 --> 00:09:13,279 related like a Morse code and that will 243 00:09:11,279 --> 00:09:16,160 conclude the exam and everyone will 244 00:09:13,279 --> 00:09:18,720 think this is really cool. Now you might 245 00:09:16,160 --> 00:09:21,440 have noticed the numbering is a bit off. 246 00:09:18,720 --> 00:09:22,560 Each one of these stages I broke into a 247 00:09:21,440 --> 00:09:24,000 se separate section of the exams. So 248 00:09:22,560 --> 00:09:25,839 stage one, stage two, stage three and 249 00:09:24,000 --> 00:09:27,200 stage four. Each one of these stages 250 00:09:25,839 --> 00:09:28,640 actually really conveniently meets a 251 00:09:27,200 --> 00:09:30,880 different elaboration of the achievement 252 00:09:28,640 --> 00:09:32,959 standard that is required for the cyber 253 00:09:30,880 --> 00:09:34,320 security component. And I realized this 254 00:09:32,959 --> 00:09:35,760 would actually make it super easy to 255 00:09:34,320 --> 00:09:37,360 mark too because I can just say, "Hey, 256 00:09:35,760 --> 00:09:39,600 you finished stage one, you get a D. You 257 00:09:37,360 --> 00:09:40,880 finish stage one and two, you get a C." 258 00:09:39,600 --> 00:09:42,080 Yeah, that's the next letter. Uh, you 259 00:09:40,880 --> 00:09:43,839 finish stage one, two, and three, you 260 00:09:42,080 --> 00:09:48,000 get a B. You finish stage four, you get 261 00:09:43,839 --> 00:09:49,200 an A. Um, so I now have a mapping of 262 00:09:48,000 --> 00:09:50,720 what I want to do with the achievement 263 00:09:49,200 --> 00:09:55,040 standards and I've I've I've taught I've 264 00:09:50,720 --> 00:09:57,200 done a pedagogy. It's great. Um, 265 00:09:55,040 --> 00:09:58,959 eventually I construct this and this is 266 00:09:57,200 --> 00:10:00,640 this is when I take that box and I lay 267 00:09:58,959 --> 00:10:03,120 it out and this is what I get. Um, due 268 00:10:00,640 --> 00:10:07,519 to the glory of cameras, you can't see 269 00:10:03,120 --> 00:10:10,080 the LEDs flashing because timing and 270 00:10:07,519 --> 00:10:11,279 physics. But each of those LEDs has a 271 00:10:10,080 --> 00:10:14,480 different letter on them. Um, we have 272 00:10:11,279 --> 00:10:16,640 ABCDE E F and then R. This corresponds 273 00:10:14,480 --> 00:10:18,720 to 274 00:10:16,640 --> 00:10:21,839 a microphone that's falling. This 275 00:10:18,720 --> 00:10:24,560 corresponds to um Alice, 276 00:10:21,839 --> 00:10:27,760 the one that comes after Alice. 277 00:10:24,560 --> 00:10:30,800 Bob. Thank you. Um, Charlie, Dan, all of 278 00:10:27,760 --> 00:10:32,480 our normal wonderful 279 00:10:30,800 --> 00:10:35,760 cyber security things. Sorry, microphone 280 00:10:32,480 --> 00:10:38,720 is not playing nice today. Um, and so I 281 00:10:35,760 --> 00:10:39,839 put together um a suite of code that I 282 00:10:38,720 --> 00:10:41,279 can then shove onto each individual 283 00:10:39,839 --> 00:10:44,399 micro bit and they can all start 284 00:10:41,279 --> 00:10:46,079 chatting with each other. Um, you may 285 00:10:44,399 --> 00:10:47,440 notice that some of the names don't 286 00:10:46,079 --> 00:10:49,120 exactly line up with our traditional 287 00:10:47,440 --> 00:10:51,200 thing. Uh, as I said earlier, I work at 288 00:10:49,120 --> 00:10:53,200 a school called Bergman and I like to 289 00:10:51,200 --> 00:10:55,440 shorten names. So Bergman very rapidly 290 00:10:53,200 --> 00:10:58,399 became burgers for me. Um, which is why 291 00:10:55,440 --> 00:11:02,560 we have the chips agent and the aclair 292 00:10:58,399 --> 00:11:04,640 agent and then fries spelled wrong. Um, 293 00:11:02,560 --> 00:11:07,600 or just mispronounced, I don't know. 294 00:11:04,640 --> 00:11:10,560 Anyway, I am then faced with the problem 295 00:11:07,600 --> 00:11:16,040 of how do I actually get all of these 296 00:11:10,560 --> 00:11:16,040 students to learn this information. 297 00:11:20,880 --> 00:11:25,200 When I when I was preparing for this 298 00:11:22,640 --> 00:11:28,560 presentation, um I was told that perhaps 299 00:11:25,200 --> 00:11:31,279 zooming in on the Grock logo um to this 300 00:11:28,560 --> 00:11:33,839 degree uh on a big screen might seem a 301 00:11:31,279 --> 00:11:36,880 little weird. Um but I stand by my 302 00:11:33,839 --> 00:11:38,800 decision. Um 303 00:11:36,880 --> 00:11:40,720 Grock Academy has two courses that 304 00:11:38,800 --> 00:11:42,240 simplify things immensely. Here we have 305 00:11:40,720 --> 00:11:44,480 the cryptography Python course and the 306 00:11:42,240 --> 00:11:46,399 network security course. Um these two 307 00:11:44,480 --> 00:11:47,920 courses are super useful. Uh they cover 308 00:11:46,399 --> 00:11:49,279 data representation, single key ciphers, 309 00:11:47,920 --> 00:11:51,200 frequency analysis and a visionire 310 00:11:49,279 --> 00:11:53,200 cipher. uh basically everything students 311 00:11:51,200 --> 00:11:55,040 need to be able to crack basic ciphers. 312 00:11:53,200 --> 00:11:56,480 Um the network and cyber security course 313 00:11:55,040 --> 00:11:58,079 covers communicating through networks, 314 00:11:56,480 --> 00:11:59,760 addressing in a network, routing packets 315 00:11:58,079 --> 00:12:01,680 through networks and network security. 316 00:11:59,760 --> 00:12:03,440 All of this is done on a micro:bit as 317 00:12:01,680 --> 00:12:05,600 well. This was perfect for everything 318 00:12:03,440 --> 00:12:07,120 that I needed to do. So my prep is 319 00:12:05,600 --> 00:12:08,480 sorted. I have all the content the 320 00:12:07,120 --> 00:12:10,480 students need to do. I bought myself 321 00:12:08,480 --> 00:12:12,959 three weeks of time. I need to actually 322 00:12:10,480 --> 00:12:15,120 write an exam now. Actually, I need to 323 00:12:12,959 --> 00:12:17,040 write two exams because I was terrified 324 00:12:15,120 --> 00:12:18,800 that if I took all of these concepts and 325 00:12:17,040 --> 00:12:20,959 shoved the students in an exam, they 326 00:12:18,800 --> 00:12:22,560 would panic and freak out and would have 327 00:12:20,959 --> 00:12:24,240 no idea what to do. So, I had to run a 328 00:12:22,560 --> 00:12:26,240 pass exam first. And that was very 329 00:12:24,240 --> 00:12:27,360 literally what happened. Um, I have 330 00:12:26,240 --> 00:12:29,440 students sitting at the back of this 331 00:12:27,360 --> 00:12:32,800 room who will today present on 332 00:12:29,440 --> 00:12:35,760 absolutely incredible um intense 333 00:12:32,800 --> 00:12:37,279 computer science topics. Um, and on the 334 00:12:35,760 --> 00:12:39,920 first run of the practice exam, some of 335 00:12:37,279 --> 00:12:43,920 them failed miserably. Um, as it turns 336 00:12:39,920 --> 00:12:47,360 out, panic is a thing. So, what we have 337 00:12:43,920 --> 00:12:49,200 here is definitely the real exam. Um, 338 00:12:47,360 --> 00:12:51,440 I'm going to add a caveat here that I 339 00:12:49,200 --> 00:12:53,920 have some enterprising students who have 340 00:12:51,440 --> 00:12:55,279 in the past um, understood that I go to 341 00:12:53,920 --> 00:12:58,240 conferences sometimes and I present 342 00:12:55,279 --> 00:13:00,079 about my assessment and um, they have 343 00:12:58,240 --> 00:13:02,560 Googled my name and assignment titles 344 00:13:00,079 --> 00:13:04,399 and found copies of me talking about the 345 00:13:02,560 --> 00:13:06,320 answers to exams and assignments at 346 00:13:04,399 --> 00:13:09,360 conferences. Um, and so what I presented 347 00:13:06,320 --> 00:13:10,720 here is a link to uh the practice exam. 348 00:13:09,360 --> 00:13:11,760 And I am sincerely hoping there's a 349 00:13:10,720 --> 00:13:13,760 student who will at some point watch 350 00:13:11,760 --> 00:13:17,040 this on mute and will painstakingly type 351 00:13:13,760 --> 00:13:18,639 out every one of those letters 352 00:13:17,040 --> 00:13:22,079 and we'll get access to the exam that 353 00:13:18,639 --> 00:13:24,079 they already have. Um, 354 00:13:22,079 --> 00:13:26,079 now um what I have dotted around this 355 00:13:24,079 --> 00:13:29,440 wonderful thing is actual quotes from 356 00:13:26,079 --> 00:13:31,360 students. Um, I was being the mature 357 00:13:29,440 --> 00:13:32,959 individual and decided to anonymize 358 00:13:31,360 --> 00:13:34,000 these names. Some of the students are 359 00:13:32,959 --> 00:13:35,200 sitting in the back of the room and they 360 00:13:34,000 --> 00:13:37,680 were upset that I anonymized their 361 00:13:35,200 --> 00:13:41,040 names. So I will reveal them at their 362 00:13:37,680 --> 00:13:42,480 request. Um so we have uh Alex at the 363 00:13:41,040 --> 00:13:43,760 back who when I asked how the exam was 364 00:13:42,480 --> 00:13:46,320 going, he said, "Please stop trying to 365 00:13:43,760 --> 00:13:48,079 make learning fun." Um 366 00:13:46,320 --> 00:13:51,440 uh another student who is not here but 367 00:13:48,079 --> 00:13:52,880 his name is Ren. Um said, "Wow, I never 368 00:13:51,440 --> 00:13:55,360 thought I'd look forward to an exam 369 00:13:52,880 --> 00:13:57,199 before." Um Mashia, whose real name is 370 00:13:55,360 --> 00:13:59,279 Shri, um who will be presenting today as 371 00:13:57,199 --> 00:14:01,519 well, uh said, "I loved moving around 372 00:13:59,279 --> 00:14:04,240 during the exam." 373 00:14:01,519 --> 00:14:07,240 Yeah, let's let's swap. This thing is 374 00:14:04,240 --> 00:14:07,240 unfortunately 375 00:14:10,480 --> 00:14:14,760 I think it looks better this way. 376 00:14:15,120 --> 00:14:18,800 Anyway, um and then we have Jeff um who 377 00:14:17,519 --> 00:14:19,920 when I asked how did you find the exam? 378 00:14:18,800 --> 00:14:22,000 He said, "Why are you talking to me 379 00:14:19,920 --> 00:14:25,279 about this? Please leave me alone." Um 380 00:14:22,000 --> 00:14:27,920 he was 381 00:14:25,279 --> 00:14:29,920 hoping 382 00:14:27,920 --> 00:14:30,160 pointing at my face. Are we good? Thank 383 00:14:29,920 --> 00:14:35,040 you. 384 00:14:30,160 --> 00:14:38,639 Awesome. Thank you. Um Hey, a 385 00:14:35,040 --> 00:14:41,839 yay. Awesome. Um uh Jeff did not like my 386 00:14:38,639 --> 00:14:43,839 class. Um he left my class soon after 387 00:14:41,839 --> 00:14:47,040 this exam. Um but he's a nice person so 388 00:14:43,839 --> 00:14:48,880 he got a shout out. Anyway, 389 00:14:47,040 --> 00:14:51,279 um so I mentioned before that I had to 390 00:14:48,880 --> 00:14:53,199 break the exam into uh four components 391 00:14:51,279 --> 00:14:54,959 and the first component was part A which 392 00:14:53,199 --> 00:14:56,160 was when we mapped the network. The 393 00:14:54,959 --> 00:14:57,519 purpose of this was to orient the 394 00:14:56,160 --> 00:15:00,079 students to the network that we were 395 00:14:57,519 --> 00:15:01,440 using. Um now the networking course goes 396 00:15:00,079 --> 00:15:02,959 through how a router works and I 397 00:15:01,440 --> 00:15:04,720 basically reuse the same course on my 398 00:15:02,959 --> 00:15:06,959 micro:bit. So the students were familiar 399 00:15:04,720 --> 00:15:08,240 with the experience. Um I gave them this 400 00:15:06,959 --> 00:15:09,519 question complete the following table. 401 00:15:08,240 --> 00:15:11,600 They basically had to build a router 402 00:15:09,519 --> 00:15:12,639 table. Um this serve two purposes. One 403 00:15:11,600 --> 00:15:14,079 force them to actually go through the 404 00:15:12,639 --> 00:15:15,120 network and two force them to write down 405 00:15:14,079 --> 00:15:16,480 the information they got from the 406 00:15:15,120 --> 00:15:19,199 network because writing down things is 407 00:15:16,480 --> 00:15:20,320 hard. Um 408 00:15:19,199 --> 00:15:21,360 uh they need to write code that's going 409 00:15:20,320 --> 00:15:22,480 to let them navigate through the 410 00:15:21,360 --> 00:15:23,360 channels, check for communication on 411 00:15:22,480 --> 00:15:24,800 those channels and record the 412 00:15:23,360 --> 00:15:26,240 information they find. So students took 413 00:15:24,800 --> 00:15:28,639 a lot of different approaches to this. 414 00:15:26,240 --> 00:15:30,079 Um, this was a pretty basic one. Uh, 415 00:15:28,639 --> 00:15:31,600 this is what everyone sort of starts 416 00:15:30,079 --> 00:15:33,199 with and the idea is you just hardcode 417 00:15:31,600 --> 00:15:34,399 in the channel number into the microbit 418 00:15:33,199 --> 00:15:36,800 and then if you find a message in that 419 00:15:34,399 --> 00:15:38,480 channel, you print it out. Um, if you 420 00:15:36,800 --> 00:15:40,000 don't get a message, you go back into 421 00:15:38,480 --> 00:15:43,120 the code, you change, you edit it, you 422 00:15:40,000 --> 00:15:46,399 reflash it, you run it again. Um, 423 00:15:43,120 --> 00:15:48,240 there are 82 channels available on the 424 00:15:46,399 --> 00:15:51,279 microbit radio. If you do this for every 425 00:15:48,240 --> 00:15:53,600 time and your chat flash takes 10 to 15 426 00:15:51,279 --> 00:15:55,920 seconds, um, you're looking at 25 427 00:15:53,600 --> 00:15:58,240 minutes of an exam sitting there just 428 00:15:55,920 --> 00:15:59,680 re-uploading code. Now, that's a 429 00:15:58,240 --> 00:16:01,199 wonderful brute force method and it 430 00:15:59,680 --> 00:16:02,560 might eventually work, but boredom is 431 00:16:01,199 --> 00:16:05,360 also a problem and you might just get 432 00:16:02,560 --> 00:16:09,040 tired and skip channels. Um, so this was 433 00:16:05,360 --> 00:16:11,440 not ideal. Um, this is pretty good. Um, 434 00:16:09,040 --> 00:16:12,959 I had a student who just slapped onto 435 00:16:11,440 --> 00:16:14,639 the buttons, hey, we can rotate through 436 00:16:12,959 --> 00:16:16,240 the channels on our buttons. um when we 437 00:16:14,639 --> 00:16:18,480 get to a channel, print the message out, 438 00:16:16,240 --> 00:16:20,480 print any messages out. Um this method 439 00:16:18,480 --> 00:16:23,519 was what most students made use of. Um 440 00:16:20,480 --> 00:16:27,279 this method was really fun. Um I had a 441 00:16:23,519 --> 00:16:28,800 student who very correctly assumed that 442 00:16:27,279 --> 00:16:30,560 if a bot is going to be sitting on that 443 00:16:28,800 --> 00:16:32,639 channel, they will probably have an act 444 00:16:30,560 --> 00:16:34,000 of some kind. And so if they push a 445 00:16:32,639 --> 00:16:35,120 message out, they don't need to wait for 446 00:16:34,000 --> 00:16:37,519 a response. They can just get the 447 00:16:35,120 --> 00:16:38,720 response immediately. Um and so he wrote 448 00:16:37,519 --> 00:16:40,880 a for loop, looped through every 449 00:16:38,720 --> 00:16:42,240 channel, pushed a message out, scared 450 00:16:40,880 --> 00:16:44,639 some of the other students in the class 451 00:16:42,240 --> 00:16:46,560 at the time. Um, 452 00:16:44,639 --> 00:16:48,560 but he managed to map the network in 453 00:16:46,560 --> 00:16:53,040 less than a minute, which was terrifying 454 00:16:48,560 --> 00:16:54,399 and cool. Um, so 455 00:16:53,040 --> 00:16:56,399 they know the channels, they map the 456 00:16:54,399 --> 00:16:58,720 network. Uh, it's time to actually read 457 00:16:56,399 --> 00:17:00,399 what is being said. Um, so that we can 458 00:16:58,720 --> 00:17:01,600 learn things. The idea here is to get 459 00:17:00,399 --> 00:17:03,040 them comfortable with the idea of 460 00:17:01,600 --> 00:17:04,640 reading messages from the bots and then 461 00:17:03,040 --> 00:17:08,319 sending messages to the bots and and 462 00:17:04,640 --> 00:17:09,439 doing the communication part. Um, so I 463 00:17:08,319 --> 00:17:10,480 give them this question. What happens 464 00:17:09,439 --> 00:17:12,480 when you send a message in the wrong 465 00:17:10,480 --> 00:17:13,600 format to those agents? what happens 466 00:17:12,480 --> 00:17:16,319 when you send a message in the right 467 00:17:13,600 --> 00:17:19,280 format to those agents. 468 00:17:16,319 --> 00:17:20,959 Um, I wanted there to be traffic of some 469 00:17:19,280 --> 00:17:22,319 kind. Um, I didn't want to have to fake 470 00:17:20,959 --> 00:17:25,679 a bunch of conversations or fill it with 471 00:17:22,319 --> 00:17:28,880 junk data. Uh, so I did this. Um, I was 472 00:17:25,679 --> 00:17:31,039 like, "Hey, chat GPT, it's 2023. This is 473 00:17:28,880 --> 00:17:32,080 a cool new thing. Um, I need a series of 474 00:17:31,039 --> 00:17:33,360 measures that are less than 20 475 00:17:32,080 --> 00:17:34,559 characters in length that use terms and 476 00:17:33,360 --> 00:17:36,160 phrases that will confuse and annoy 477 00:17:34,559 --> 00:17:39,120 15-year-olds. Uh, but it must sound like 478 00:17:36,160 --> 00:17:41,039 a real conversation." Um, and then, uh, 479 00:17:39,120 --> 00:17:43,919 Chacht gave me a thumbs up and I was 480 00:17:41,039 --> 00:17:47,120 like, "Sweet. Okay. And I get this. I 481 00:17:43,919 --> 00:17:48,799 get message banks. Um I I take all the 482 00:17:47,120 --> 00:17:50,320 messages, I organize them into different 483 00:17:48,799 --> 00:17:53,440 lists, and then I pass those to the 484 00:17:50,320 --> 00:17:55,120 bots. Um and I get conversations to 485 00:17:53,440 --> 00:17:57,200 start looking like this. Alice says, 486 00:17:55,120 --> 00:17:59,280 "Sup, hang." And Dan goes, "Oh my god, 487 00:17:57,200 --> 00:18:01,120 no way." And Alice says, "Got to go 488 00:17:59,280 --> 00:18:02,160 later." And then Alice says, "Sup hang 489 00:18:01,120 --> 00:18:03,440 again." Because there aren't that many 490 00:18:02,160 --> 00:18:06,400 messages and it randomizes and say 491 00:18:03,440 --> 00:18:09,919 message twice. 492 00:18:06,400 --> 00:18:11,760 But it's close enough. So now I want 493 00:18:09,919 --> 00:18:13,440 them to record. I want the students to 494 00:18:11,760 --> 00:18:14,640 record a conversation um and then try to 495 00:18:13,440 --> 00:18:17,200 actually interact with the student uh 496 00:18:14,640 --> 00:18:18,880 with the with the bots. Um so we have 497 00:18:17,200 --> 00:18:22,720 some pretty simple methods of trying to 498 00:18:18,880 --> 00:18:24,640 of trying to interact with the bots um 499 00:18:22,720 --> 00:18:26,559 go to the channel and then on a button 500 00:18:24,640 --> 00:18:31,440 press hit radio. And then you have your 501 00:18:26,559 --> 00:18:33,200 source destination um payload. 502 00:18:31,440 --> 00:18:34,559 Uh we had some other iterations on this. 503 00:18:33,200 --> 00:18:37,120 Um, I had one student that did a pretty 504 00:18:34,559 --> 00:18:39,440 cool thing um that realized that you can 505 00:18:37,120 --> 00:18:41,840 just shove input into your code and that 506 00:18:39,440 --> 00:18:43,039 way if you pre-program your source and 507 00:18:41,840 --> 00:18:45,440 destination, you can just put an S 508 00:18:43,039 --> 00:18:46,480 string through and then have uh whenever 509 00:18:45,440 --> 00:18:47,600 you press the button to send a message, 510 00:18:46,480 --> 00:18:49,919 you can type in the message instead of 511 00:18:47,600 --> 00:18:51,600 having to hardcode the message. Um, this 512 00:18:49,919 --> 00:18:54,960 sped up his process through it. It was 513 00:18:51,600 --> 00:18:56,480 pretty cool to see. Um, the bot code for 514 00:18:54,960 --> 00:18:57,600 response, pretty straightforward. Um, if 515 00:18:56,480 --> 00:19:00,240 they get a message, check it in the 516 00:18:57,600 --> 00:19:02,080 right format, send an act. Um, randomly 517 00:19:00,240 --> 00:19:03,280 send a message every 3 to 5 seconds. um 518 00:19:02,080 --> 00:19:05,760 so that it looks like we're having a 519 00:19:03,280 --> 00:19:08,160 conversation. 520 00:19:05,760 --> 00:19:09,520 Uh it looked like this. Um if the 521 00:19:08,160 --> 00:19:11,760 message is in the correct format, i.e. 522 00:19:09,520 --> 00:19:13,919 there's two colons, um break it up into 523 00:19:11,760 --> 00:19:16,000 source destination payload. Um if it's 524 00:19:13,919 --> 00:19:18,080 an approved user, send an act. If it's 525 00:19:16,000 --> 00:19:19,600 not an approved user, send a message. 526 00:19:18,080 --> 00:19:22,480 And then if they don't use right format, 527 00:19:19,600 --> 00:19:24,240 send a different message. So each bot 528 00:19:22,480 --> 00:19:25,600 then has their own unique response for 529 00:19:24,240 --> 00:19:27,280 if the user isn't in the writing table 530 00:19:25,600 --> 00:19:30,480 and if the message is not in the correct 531 00:19:27,280 --> 00:19:34,000 format. Um I believe this was Alice and 532 00:19:30,480 --> 00:19:39,600 then Bob had these messages and then uh 533 00:19:34,000 --> 00:19:41,440 yes um I was questioned on um why I had 534 00:19:39,600 --> 00:19:44,000 the bot say these words and I ignored 535 00:19:41,440 --> 00:19:45,919 those questions. Um and then we had the 536 00:19:44,000 --> 00:19:47,440 router and I during the exam would have 537 00:19:45,919 --> 00:19:48,799 the router plugged into my computer so I 538 00:19:47,440 --> 00:19:50,640 could observe it directly and I had some 539 00:19:48,799 --> 00:19:52,080 error messages on there to just be like 540 00:19:50,640 --> 00:19:54,960 something has happened that I probably 541 00:19:52,080 --> 00:19:58,240 need to investigate um just to warn me 542 00:19:54,960 --> 00:19:59,600 um really quickly. So 543 00:19:58,240 --> 00:20:00,799 this is cool. The students have mapped 544 00:19:59,600 --> 00:20:03,919 the network. The students have talked to 545 00:20:00,799 --> 00:20:05,679 the bots. Um 546 00:20:03,919 --> 00:20:08,400 when they go through that network, one 547 00:20:05,679 --> 00:20:11,840 of the bots will be a little bit weird. 548 00:20:08,400 --> 00:20:15,600 They will say this DLJ SPIZ also go to 549 00:20:11,840 --> 00:20:17,600 your channel. Um 550 00:20:15,600 --> 00:20:19,360 I discovered that there's going to be a 551 00:20:17,600 --> 00:20:21,760 problem when communicating on open 552 00:20:19,360 --> 00:20:24,080 channels with some cross communication 553 00:20:21,760 --> 00:20:25,600 happening during my first run. uh if the 554 00:20:24,080 --> 00:20:27,600 students need to talk to the bots and do 555 00:20:25,600 --> 00:20:29,440 cool things like find a passphrase and 556 00:20:27,600 --> 00:20:31,360 use it or send them a specific message 557 00:20:29,440 --> 00:20:32,880 um or just normally chat that 558 00:20:31,360 --> 00:20:34,240 information is visible to everyone else 559 00:20:32,880 --> 00:20:36,960 who's also trying to talk to the bot at 560 00:20:34,240 --> 00:20:38,559 the same time. Um this means students 561 00:20:36,960 --> 00:20:41,440 can cheat super easy. I had to address 562 00:20:38,559 --> 00:20:43,200 this. Um if I have 25 students in a 563 00:20:41,440 --> 00:20:46,240 room, it gets confusing really really 564 00:20:43,200 --> 00:20:47,840 quickly. So I decided that what I needed 565 00:20:46,240 --> 00:20:49,600 was a student router. I grabbed their ID 566 00:20:47,840 --> 00:20:51,200 numbers to use as a sender. I randomly 567 00:20:49,600 --> 00:20:52,320 assigned them a channel number. Um I 568 00:20:51,200 --> 00:20:53,600 distribute that channel number to the 569 00:20:52,320 --> 00:20:54,720 students ahead of time. So the students 570 00:20:53,600 --> 00:20:57,200 all know what channel they're supposed 571 00:20:54,720 --> 00:20:59,120 to go to. Um it looked like this. We 572 00:20:57,200 --> 00:21:01,360 have a nested dictionary. The ID is the 573 00:20:59,120 --> 00:21:03,120 key. The subdictionary is any data they 574 00:21:01,360 --> 00:21:05,679 wanted to have. And this is when I 575 00:21:03,120 --> 00:21:06,799 realized something cool. Um obviously I 576 00:21:05,679 --> 00:21:08,799 have to have the channel number in 577 00:21:06,799 --> 00:21:09,919 there. But I could also put some other 578 00:21:08,799 --> 00:21:12,640 interesting personal information in 579 00:21:09,919 --> 00:21:14,960 there like their middle name or their 580 00:21:12,640 --> 00:21:16,159 address or their parents' names. Um and 581 00:21:14,960 --> 00:21:18,080 then I realized something else really 582 00:21:16,159 --> 00:21:19,440 cool. I have these bots that are now 583 00:21:18,080 --> 00:21:21,280 speaking only to them and I could 584 00:21:19,440 --> 00:21:23,919 personalize this and have them talk to 585 00:21:21,280 --> 00:21:26,640 them directly. And while that would be 586 00:21:23,919 --> 00:21:28,720 weird to have happen in exam, it is way 587 00:21:26,640 --> 00:21:31,180 weirder if you only do it with about 10% 588 00:21:28,720 --> 00:21:32,640 of the students 589 00:21:31,180 --> 00:21:34,400 [Music] 590 00:21:32,640 --> 00:21:36,320 and you randomize what details you give 591 00:21:34,400 --> 00:21:38,240 each of those students and then when 592 00:21:36,320 --> 00:21:41,200 they talk after the exam, they get 593 00:21:38,240 --> 00:21:45,039 really scared. 594 00:21:41,200 --> 00:21:47,280 I have poor impulse control. 595 00:21:45,039 --> 00:21:50,000 Um, so, 596 00:21:47,280 --> 00:21:51,760 uh, we have this cipher. We have DLJ 597 00:21:50,000 --> 00:21:53,360 squiz. Um, that is a pretty basic 598 00:21:51,760 --> 00:21:54,400 rotation cipher. Um, I wanted them to 599 00:21:53,360 --> 00:21:56,159 start with something super easy that 600 00:21:54,400 --> 00:21:58,720 they could crack. Um, GJ Squizz 601 00:21:56,159 --> 00:22:01,520 translates to say hello. Um, this is 602 00:21:58,720 --> 00:22:03,440 what, uh, Dan's code basically said. We 603 00:22:01,520 --> 00:22:05,760 start with some basic rotation ciphers. 604 00:22:03,440 --> 00:22:07,360 We then shift into a different rotation 605 00:22:05,760 --> 00:22:10,559 cipher just to get them experience with 606 00:22:07,360 --> 00:22:12,799 it. Um, and then we move into um, 607 00:22:10,559 --> 00:22:14,320 frequency analysis, which we have this 608 00:22:12,799 --> 00:22:15,440 wonderful sentence that I came up with 609 00:22:14,320 --> 00:22:16,960 because I wanted them to be able to do 610 00:22:15,440 --> 00:22:19,120 the frequency analysis on a small amount 611 00:22:16,960 --> 00:22:21,280 of text and still be able to solve the 612 00:22:19,120 --> 00:22:23,440 substitution cipher quickly. So, we have 613 00:22:21,280 --> 00:22:25,360 the wordthe is common as is the word 614 00:22:23,440 --> 00:22:27,360 and, but the is the most common word in 615 00:22:25,360 --> 00:22:29,280 English, which if you're trying to solve 616 00:22:27,360 --> 00:22:31,280 for frequency analysis is great. If 617 00:22:29,280 --> 00:22:33,440 you're trying to read it, it's awful. 618 00:22:31,280 --> 00:22:35,200 Um, I confuse a lot of students with 619 00:22:33,440 --> 00:22:38,799 this and my final version was much 620 00:22:35,200 --> 00:22:40,080 better. Um, speaking of which, the 621 00:22:38,799 --> 00:22:41,919 subcipher is the last stage of the 622 00:22:40,080 --> 00:22:42,799 practice exam. Uh, the actual exam is 623 00:22:41,919 --> 00:22:44,400 not really that different from the 624 00:22:42,799 --> 00:22:46,080 practice exam. I added more bots, added 625 00:22:44,400 --> 00:22:47,440 more conversations. The subcipher is now 626 00:22:46,080 --> 00:22:49,200 an actual conversation instead of a 627 00:22:47,440 --> 00:22:50,640 clunky sentence. Um, and the biggest 628 00:22:49,200 --> 00:22:53,600 difference is I added the third bot that 629 00:22:50,640 --> 00:22:55,039 communicates only using visionaires. 630 00:22:53,600 --> 00:22:56,400 The two communicating bots will give 631 00:22:55,039 --> 00:22:57,919 instructions on how to talk to the third 632 00:22:56,400 --> 00:22:59,919 bot and where to find the key. Uh, 633 00:22:57,919 --> 00:23:01,919 visionaires stops being interesting once 634 00:22:59,919 --> 00:23:03,200 you have a key. Um, so I thought to make 635 00:23:01,919 --> 00:23:04,480 it more interesting, the students would 636 00:23:03,200 --> 00:23:05,679 then have to communicate using the 637 00:23:04,480 --> 00:23:08,080 visionaires. So they would have to 638 00:23:05,679 --> 00:23:09,760 encrypt as well as decrypt. Um the final 639 00:23:08,080 --> 00:23:11,440 line of the instructions is the pass key 640 00:23:09,760 --> 00:23:14,320 is on a post-it note under the teacher's 641 00:23:11,440 --> 00:23:15,919 desk. 642 00:23:14,320 --> 00:23:18,559 Making students get up during the exam 643 00:23:15,919 --> 00:23:19,760 to look under the desk was super fun. Um 644 00:23:18,559 --> 00:23:22,240 one of the students mentioned that this 645 00:23:19,760 --> 00:23:24,320 was the coolest part of the exam. Having 646 00:23:22,240 --> 00:23:27,760 them look under my desk while I was 647 00:23:24,320 --> 00:23:29,840 sitting at it was really weird. 648 00:23:27,760 --> 00:23:33,600 I very rapidly realized that I will sit 649 00:23:29,840 --> 00:23:35,200 at a different desk during this exam. 650 00:23:33,600 --> 00:23:36,640 Um, but it also gave me a quick visual 651 00:23:35,200 --> 00:23:37,679 on how the exam was actually going for a 652 00:23:36,640 --> 00:23:38,720 bunch of the students. If I'm seeing 653 00:23:37,679 --> 00:23:40,000 students start to get up and move 654 00:23:38,720 --> 00:23:42,480 around, I know they're up to the final 655 00:23:40,000 --> 00:23:44,640 stage of the exam. Now, uh, I mentioned 656 00:23:42,480 --> 00:23:46,559 I was had a steography thing in there 657 00:23:44,640 --> 00:23:47,760 and I did. Um, if the students did 658 00:23:46,559 --> 00:23:49,120 everything right, at the very end, the 659 00:23:47,760 --> 00:23:51,679 bot wouldn't say anything at all. It 660 00:23:49,120 --> 00:23:53,440 would play Morse code. In my head, this 661 00:23:51,679 --> 00:23:56,320 was awesome. For that first student who 662 00:23:53,440 --> 00:23:57,679 figured this out, it was incredible. Um, 663 00:23:56,320 --> 00:23:59,360 they have written code. They have 664 00:23:57,679 --> 00:24:00,880 cracked a cipher. And in the complete 665 00:23:59,360 --> 00:24:02,000 dead silence of the exam room, they just 666 00:24:00,880 --> 00:24:05,360 start hearing the beep beep beep of 667 00:24:02,000 --> 00:24:07,039 Morse code. Um, they realized they 668 00:24:05,360 --> 00:24:08,720 caused that. An action they did 669 00:24:07,039 --> 00:24:10,720 triggered that response. They got up, 670 00:24:08,720 --> 00:24:11,760 they ran to my desk and they, um, 671 00:24:10,720 --> 00:24:12,799 grabbed the microbit and they started 672 00:24:11,760 --> 00:24:14,480 listening to Morse code and started 673 00:24:12,799 --> 00:24:17,520 translating it. This experience was 674 00:24:14,480 --> 00:24:20,240 magic. It was absolutely incredible. 675 00:24:17,520 --> 00:24:22,080 For literally everyone else in the room, 676 00:24:20,240 --> 00:24:23,840 um, who was now dealing with Morse code 677 00:24:22,080 --> 00:24:25,360 beeping out during their exam, uh, to 678 00:24:23,840 --> 00:24:26,559 students who were up to the Morse code 679 00:24:25,360 --> 00:24:28,080 and now had to wait for the entire Morse 680 00:24:26,559 --> 00:24:29,440 code to recycle. for students who were 681 00:24:28,080 --> 00:24:31,039 doing the MOS code but then had a bit 682 00:24:29,440 --> 00:24:32,799 miss and then they had to start again. 683 00:24:31,039 --> 00:24:35,120 Um it was less magic and more an 684 00:24:32,799 --> 00:24:36,400 exercise in stressing out because there 685 00:24:35,120 --> 00:24:37,679 was a big clock on the wall that's 686 00:24:36,400 --> 00:24:39,200 ticking down time and they're standing 687 00:24:37,679 --> 00:24:42,640 there going I actually can't do anything 688 00:24:39,200 --> 00:24:44,720 right now. This might be a problem. Um 689 00:24:42,640 --> 00:24:45,919 if students made it to this point I was 690 00:24:44,720 --> 00:24:47,360 pretty much satisfied they met the 691 00:24:45,919 --> 00:24:49,120 achievement standards. They had done 692 00:24:47,360 --> 00:24:51,120 everything I needed to do to be like 693 00:24:49,120 --> 00:24:53,520 you've done you have learned have have 694 00:24:51,120 --> 00:24:54,880 the mark. Um so to translate the MOS 695 00:24:53,520 --> 00:24:56,480 code I actually shifted and had them 696 00:24:54,880 --> 00:24:58,799 just work in teams. Um, it was a bit 697 00:24:56,480 --> 00:25:00,640 weird to work in teams on an exam, but 698 00:24:58,799 --> 00:25:01,840 what I had happen was groups who would 699 00:25:00,640 --> 00:25:04,240 then start getting super competitive 700 00:25:01,840 --> 00:25:05,760 with the other groups. Um, and they got 701 00:25:04,240 --> 00:25:06,960 super excited and super invested and I 702 00:25:05,760 --> 00:25:08,799 had to remind them that we're in an exam 703 00:25:06,960 --> 00:25:10,799 and you need to be quieter. Um, also 704 00:25:08,799 --> 00:25:13,120 maybe don't shout the answer when you 705 00:25:10,799 --> 00:25:16,720 get it. That's a bit problematic for an 706 00:25:13,120 --> 00:25:18,240 exam. Um, my favorite solution was a 707 00:25:16,720 --> 00:25:21,039 student who recorded the entire MOS code 708 00:25:18,240 --> 00:25:22,400 segment on her phone and then um had the 709 00:25:21,039 --> 00:25:25,120 phone play it back and the phone had 710 00:25:22,400 --> 00:25:28,240 that upy downy sound wavy thing um and 711 00:25:25,120 --> 00:25:29,600 she could just read um where were the 712 00:25:28,240 --> 00:25:31,120 long bits and the short bits and could 713 00:25:29,600 --> 00:25:32,960 just read the MOS code off. That was an 714 00:25:31,120 --> 00:25:35,279 awesome solution I'd never considered. 715 00:25:32,960 --> 00:25:37,600 Um and my final takeaways from this 716 00:25:35,279 --> 00:25:39,279 whole thing was it was enormously fun. 717 00:25:37,600 --> 00:25:41,200 Um I had significantly more fun doing 718 00:25:39,279 --> 00:25:43,520 this than I ever thought I would. Um, 719 00:25:41,200 --> 00:25:44,960 these students loved during the exam. 720 00:25:43,520 --> 00:25:48,000 Sorry, the students loved doing the 721 00:25:44,960 --> 00:25:50,080 exam, which I thought was weird. Um, but 722 00:25:48,000 --> 00:25:51,360 turns out it went really well. Um, and 723 00:25:50,080 --> 00:25:52,880 including a physical component in the 724 00:25:51,360 --> 00:25:54,559 exam had significantly greater benefits 725 00:25:52,880 --> 00:25:56,320 than I thought. It made the entire thing 726 00:25:54,559 --> 00:25:59,279 feel a lot more dynamic and just a lot 727 00:25:56,320 --> 00:26:02,400 more enjoyable, I think. Um, and that's 728 00:25:59,279 --> 00:26:05,360 it. If you would like to look at this 729 00:26:02,400 --> 00:26:07,039 exam or would like some form of 730 00:26:05,360 --> 00:26:08,559 explanation of the code or how any of it 731 00:26:07,039 --> 00:26:10,000 works, um, please find me, please talk 732 00:26:08,559 --> 00:26:12,559 to me, please email me. I love sharing 733 00:26:10,000 --> 00:26:14,480 all my stuff. Um, thank you for coming 734 00:26:12,559 --> 00:26:18,460 to my talk. 735 00:26:14,480 --> 00:26:18,460 [Applause]