1 00:00:00,000 --> 00:00:01,380 - -- in that jacket. 2 00:00:01,380 --> 00:00:03,720 - Okay, so this is just nonsense. 3 00:00:03,720 --> 00:00:06,450 you can't just clean up an image or look at something -- 4 00:00:06,450 --> 00:00:10,660 - This is a tough topic to teach in class. 5 00:00:10,660 --> 00:00:13,410 It's an important thing to talk about especially 6 00:00:13,410 --> 00:00:16,234 when we're going to have a problem set that relates to images. 7 00:00:16,234 --> 00:00:18,900 Much like we talked about earlier in the context of photography, 8 00:00:18,900 --> 00:00:21,660 but that doesn't really fit. 9 00:00:21,660 --> 00:00:24,090 It fits in as much as you talk about structures. 10 00:00:24,090 --> 00:00:27,210 - It's another one of those blue boxes in the textbook. 11 00:00:27,210 --> 00:00:29,910 Where like, hey everyone, here is a slightly related topic, 12 00:00:29,910 --> 00:00:33,130 but it's not part of the explicit narrative. 13 00:00:33,130 --> 00:00:36,540 The way we justify it ultimately is we want 14 00:00:36,540 --> 00:00:40,230 to introduce structs as a stepping stone to more sophisticated data structures 15 00:00:40,230 --> 00:00:41,250 all together. 16 00:00:41,250 --> 00:00:44,220 And structs are particularly nice because file in C 17 00:00:44,220 --> 00:00:46,440 is a nice data structure underneath the hood. 18 00:00:46,440 --> 00:00:48,540 A data type in fact, in this case. 19 00:00:48,540 --> 00:00:51,030 And then we want to be able for the problem set to play 20 00:00:51,030 --> 00:00:52,680 with the world of forensics and images. 21 00:00:52,680 --> 00:00:54,960 And so it's always a bit of a stilted thing. 22 00:00:54,960 --> 00:00:56,820 But at least the approach we've taken here 23 00:00:56,820 --> 00:00:59,070 and with cryptography and with a couple of other examples 24 00:00:59,070 --> 00:01:00,720 we'll encounter in the semester, is at least 25 00:01:00,720 --> 00:01:01,950 putting them at the end of the lecture. 26 00:01:01,950 --> 00:01:04,424 Kind of as like, the set up, for what's ahead for students 27 00:01:04,424 --> 00:01:06,840 to whet their appetite and give them a sense of excitement 28 00:01:06,840 --> 00:01:08,190 for what's on the horizon. 29 00:01:08,190 --> 00:01:09,570 So hopefully that makes it work. 30 00:01:09,570 --> 00:01:12,736 But I do think this kind of material could potentially even stand on its own 31 00:01:12,736 --> 00:01:16,305 and not be part of the lecture per se, but the setup of a certain problem. 32 00:01:16,305 --> 00:01:16,980 But even then -- 33 00:01:16,980 --> 00:01:20,230 - But it doesn't have enough weight to hold up on its own as an independent -- 34 00:01:20,230 --> 00:01:22,250 like, you couldn't have a lecture on this. 35 00:01:22,250 --> 00:01:23,160 There's only so much. 36 00:01:23,160 --> 00:01:25,076 - Not to the extent that we cover it, I think. 37 00:01:25,076 --> 00:01:28,590 Especially since so much of it is then introduced in a hands on way 38 00:01:28,590 --> 00:01:30,300 through the problem set itself. 39 00:01:30,300 --> 00:01:32,120 - But I think when we do get to this point in the course, when 40 00:01:32,120 --> 00:01:34,078 we are talking about images and representation, 41 00:01:34,078 --> 00:01:37,470 I personally consider this to be a big pivot point for us. 42 00:01:37,470 --> 00:01:41,480 We've now gone from a world where all the programs you're writing are, 43 00:01:41,480 --> 00:01:43,230 you know, the game of 15 isn't even a game 44 00:01:43,230 --> 00:01:44,580 but it's still a text based environment. 45 00:01:44,580 --> 00:01:47,788 Now we're actually starting working with and manipulate images, which is what 46 00:01:47,788 --> 00:01:50,244 we've been hinting at for a long time. 47 00:01:50,244 --> 00:01:51,660 - And I love this abstraction too. 48 00:01:51,660 --> 00:01:55,110 Before this disappears. the zeros and ones mapping nicely to an image, 49 00:01:55,110 --> 00:01:58,080 albeit a one bit colorful image. 50 00:01:58,080 --> 00:01:58,899 It's pretty cool. 51 00:01:58,899 --> 00:02:01,440 - And it's not too much of a stretch to then twist this into, 52 00:02:01,440 --> 00:02:02,740 when we show this as red. 53 00:02:02,740 --> 00:02:07,200 And we can reintroduce the concept of pixels and structures for triples. 54 00:02:07,200 --> 00:02:11,100 Because we need three bytes to represent a pixel on a bitmap. 55 00:02:11,100 --> 00:02:12,890 One for red, one for green, one for blue. 56 00:02:12,890 --> 00:02:14,047 - Absolutely. 57 00:02:14,047 --> 00:02:17,130 And this is really also a delivery mechanism at the end of the day for all 58 00:02:17,130 --> 00:02:21,810 the silly enhanced videos that are on the internet from TV and Hollywood 59 00:02:21,810 --> 00:02:23,701 films where, if you look closely enough -- 60 00:02:23,701 --> 00:02:26,200 And this is by far the worst side effect of taking and intro 61 00:02:26,200 --> 00:02:30,090 for a computer science course, it ruins all of TV and movies for you. 62 00:02:30,090 --> 00:02:34,389 Because any time there is a hacker or some computer threat, 63 00:02:34,389 --> 00:02:36,180 it's usually something silly on the screen. 64 00:02:36,180 --> 00:02:38,263 - You've got to freeze frame it and pick it apart, 65 00:02:38,263 --> 00:02:40,050 and you'll find something goofy. 66 00:02:40,050 --> 00:02:41,880 - The Simpsons does this justice, right? 67 00:02:41,880 --> 00:02:43,410 Any time you pause on a frame of the Simpsons 68 00:02:43,410 --> 00:02:44,900 there's always some clever Easter egg there. 69 00:02:44,900 --> 00:02:46,280 There's something on the screen. 70 00:02:46,280 --> 00:02:48,300 But in Hollywood is one of the examples we show, 71 00:02:48,300 --> 00:02:50,574 it's just like a crayon drawing application 72 00:02:50,574 --> 00:02:52,990 when it's supposed to be someone hacking into your system. 73 00:02:52,990 --> 00:02:53,550 - Yeah 74 00:02:53,550 --> 00:02:54,750 - It's just not the same. 75 00:02:54,750 --> 00:02:56,670 Mr. Robot, I will say, comes closer. 76 00:02:56,670 --> 00:02:59,340 But even that, I just can't get into it in the way 77 00:02:59,340 --> 00:03:02,580 that some people perhaps can. 78 00:03:02,580 --> 00:03:05,190 Then again, I get really into Chicago Med. 79 00:03:05,190 --> 00:03:08,840 I used to really like ER and my doctor friends hate that. 80 00:03:08,840 --> 00:03:10,740 - So seriously, if you're looking for -- 81 00:03:10,740 --> 00:03:12,073 - What goes around comes around. 82 00:03:12,073 --> 00:03:14,852 - If you're ever looking for resources of bad computer science, 83 00:03:14,852 --> 00:03:15,810 just turn to Hollywood. 84 00:03:15,810 --> 00:03:17,430 They will be more than happy to give you some -- 85 00:03:17,430 --> 00:03:19,346 - Thank you for saying Hollywood and not CS50. 86 00:03:19,346 --> 00:03:22,655 - Some great tips. 87 00:03:22,655 --> 00:03:24,706