1 00:00:00,120 --> 00:00:02,500 The following content is provided under a Creative 2 00:00:02,500 --> 00:00:03,910 Commons license. 3 00:00:03,910 --> 00:00:06,950 Your support will help MIT OpenCourseWare continue to 4 00:00:06,950 --> 00:00:10,600 offer high quality educational resources for free. 5 00:00:10,600 --> 00:00:13,500 To make a donation or view additional materials from 6 00:00:13,500 --> 00:00:17,430 hundreds of MIT courses, visit MIT OpenCourseWare at 7 00:00:17,430 --> 00:00:18,680 ocw.mit.edu. 8 00:00:21,720 --> 00:00:24,580 SAMAN AMARASINGHE: Welcome to the final competition. 9 00:00:24,580 --> 00:00:27,060 So you guys survived this far. 10 00:00:27,060 --> 00:00:28,160 And I don't know how. 11 00:00:28,160 --> 00:00:30,760 I think, probably, with very little sleep. 12 00:00:30,760 --> 00:00:34,690 And knowing all the emails that I have seen and all the 13 00:00:34,690 --> 00:00:36,060 check-ins.-- 14 00:00:36,060 --> 00:00:37,845 I don't know how many people had-- 15 00:00:37,845 --> 00:00:39,960 Who had any sleep within last 24 hours? 16 00:00:39,960 --> 00:00:40,960 AUDIENCE: Haha. 17 00:00:40,960 --> 00:00:42,560 SAMAN AMARASINGHE: Oh, OK. 18 00:00:42,560 --> 00:00:43,946 [LAUGHTER] 19 00:00:43,946 --> 00:00:44,650 OK. 20 00:00:44,650 --> 00:00:49,000 And also what we looked at was the quality of the results 21 00:00:49,000 --> 00:00:53,300 keep improving because he was running tests to check 22 00:00:53,300 --> 00:00:54,270 what's going on. 23 00:00:54,270 --> 00:00:55,550 And when we moved to a machine, the 24 00:00:55,550 --> 00:00:56,490 things ran very fast. 25 00:00:56,490 --> 00:00:57,660 We're like, wait a minute. 26 00:00:57,660 --> 00:00:58,690 Why is this running that fast? 27 00:00:58,690 --> 00:01:02,010 Because people had checked in more and more, faster and 28 00:01:02,010 --> 00:01:02,750 faster versions. 29 00:01:02,750 --> 00:01:05,120 So things improved, not because we checked in faster 30 00:01:05,120 --> 00:01:07,470 machines, but you guys actually did a lot of work. 31 00:01:07,470 --> 00:01:11,300 So first before we get started, I 32 00:01:11,300 --> 00:01:12,630 want to thank Akamai. 33 00:01:12,630 --> 00:01:16,900 So we and Akamai got this nice place. 34 00:01:16,900 --> 00:01:18,110 And then we are going to give a demo. 35 00:01:18,110 --> 00:01:20,630 And we're going to have a party sponsored by Akamai, 36 00:01:20,630 --> 00:01:21,300 which is really cool. 37 00:01:21,300 --> 00:01:22,890 So you guys actually see something-- 38 00:01:22,890 --> 00:01:25,810 what the real-life people who care about performance do. 39 00:01:25,810 --> 00:01:26,850 So it will be really fun. 40 00:01:26,850 --> 00:01:31,640 And also, I also want to thank most of our MIT POSSE that 41 00:01:31,640 --> 00:01:34,850 help you guys a lot in meeting with you individually. 42 00:01:34,850 --> 00:01:37,580 So we have people from Akamai, [UNINTELLIGIBLE] 43 00:01:37,580 --> 00:01:42,580 Digital, Google, Lockheed Martin, MathWorks, Wordica, 44 00:01:42,580 --> 00:01:45,560 VMWare and couple of independent consultants who 45 00:01:45,560 --> 00:01:47,360 basically put lot of their sweat and edge 46 00:01:47,360 --> 00:01:49,230 in helping you guys. 47 00:01:49,230 --> 00:01:51,185 CHARLES LEISERSON: And Microsoft. 48 00:01:51,185 --> 00:01:53,400 SAMAN AMARASINGHE: And Microsoft. 49 00:01:53,400 --> 00:01:54,750 CHARLES LEISERSON: So let's give a hand for 50 00:01:54,750 --> 00:01:56,226 the posse, MIT POSSE. 51 00:01:56,226 --> 00:01:56,719 [LAUGHTER] 52 00:01:56,719 --> 00:02:00,170 CHARLES LEISERSON: And a couple of the sponsors. 53 00:02:00,170 --> 00:02:03,050 SAMAN AMARASINGHE: So here is the process we 54 00:02:03,050 --> 00:02:04,090 are going to do today. 55 00:02:04,090 --> 00:02:05,620 Today's about the competition. 56 00:02:05,620 --> 00:02:08,919 So we've set up a very strict set of rules that we are going 57 00:02:08,919 --> 00:02:11,410 to go through, which is not going to be the way we are 58 00:02:11,410 --> 00:02:13,690 going to grade you guys. 59 00:02:13,690 --> 00:02:15,260 Because we are going to be little bit more lenient. 60 00:02:15,260 --> 00:02:17,820 So this is the set of rules we are going to do. 61 00:02:17,820 --> 00:02:20,960 So we had a lot of these images that you get submitted. 62 00:02:20,960 --> 00:02:24,830 And some images were not exactly same. 63 00:02:24,830 --> 00:02:25,970 People did little bit things. 64 00:02:25,970 --> 00:02:27,330 They made them look little bit different. 65 00:02:27,330 --> 00:02:30,355 So what they said was instead of we're deciding. 66 00:02:30,355 --> 00:02:35,790 We will let you guys work on images which can participate. 67 00:02:35,790 --> 00:02:36,340 OK? 68 00:02:36,340 --> 00:02:39,330 So don't be harsh to your friends. 69 00:02:39,330 --> 00:02:43,100 So what we'll do, we'll first go through the images. 70 00:02:43,100 --> 00:02:48,630 And then well you guys can say which images should be part of 71 00:02:48,630 --> 00:02:49,610 the competition. 72 00:02:49,610 --> 00:02:51,900 This is for the competition. 73 00:02:51,900 --> 00:02:56,650 Then at the end, after you get the Akamai sponsored prize-- 74 00:02:56,650 --> 00:02:57,770 not for the grading. 75 00:02:57,770 --> 00:03:00,440 So the fact that the images start to count, that doesn't 76 00:03:00,440 --> 00:03:02,080 mean you get zero in the grade. 77 00:03:02,080 --> 00:03:04,070 But you won't get to participate in the 78 00:03:04,070 --> 00:03:04,820 competition. 79 00:03:04,820 --> 00:03:07,670 So after that, what we have done is we 80 00:03:07,670 --> 00:03:08,770 looked at all your projects. 81 00:03:08,770 --> 00:03:11,830 Ran them on our 12 core machine. 82 00:03:11,830 --> 00:03:14,320 And we will show you and seed them. 83 00:03:14,320 --> 00:03:16,980 We'll say here is the order of everything happening. 84 00:03:16,980 --> 00:03:18,310 And there are-- 85 00:03:18,310 --> 00:03:21,747 AUDIENCE: [LAUGHTER] 86 00:03:21,747 --> 00:03:24,310 SAMAN AMARASINGHE: There are some-- 87 00:03:24,310 --> 00:03:28,850 Basically, what we'll do is we'll pick out the top set of 88 00:03:28,850 --> 00:03:30,410 seeds in them because we don't have time 89 00:03:30,410 --> 00:03:31,850 to run through everybody. 90 00:03:31,850 --> 00:03:35,780 And basically, a lot of these things live are not for the 48 91 00:03:35,780 --> 00:03:36,980 core machine. 92 00:03:36,980 --> 00:03:38,750 And then the-- 93 00:03:38,750 --> 00:03:42,680 accepted image that ran faster, got generated faster 94 00:03:42,680 --> 00:03:45,680 in the 48 core machine, wins the prize. 95 00:03:45,680 --> 00:03:48,660 So that doesn't mean that when you start grading, we will 96 00:03:48,660 --> 00:03:51,060 look at all the images and we will do some averaging. 97 00:03:51,060 --> 00:03:52,870 We will do a lot more fair. 98 00:03:52,870 --> 00:03:53,900 But hey, this is a competition. 99 00:03:53,900 --> 00:03:57,850 We just need to find the top guy so we have a top group. 100 00:03:57,850 --> 00:04:00,380 So we have a much more faster thing. 101 00:04:00,380 --> 00:04:03,940 SAMAN AMARASINGHE: So to get started. 102 00:04:03,940 --> 00:04:06,100 So here are some of the images people generated. 103 00:04:06,100 --> 00:04:10,530 So what we want to do is show the reference image. 104 00:04:10,530 --> 00:04:11,830 That's the reference image. 105 00:04:11,830 --> 00:04:14,715 And what we'll do is we'll first go through everybody's 106 00:04:14,715 --> 00:04:17,430 images generated, so you get a feel for all the 107 00:04:17,430 --> 00:04:18,800 variations out there. 108 00:04:18,800 --> 00:04:22,820 And then after that, we'll ask you to go out. 109 00:04:22,820 --> 00:04:25,010 We'll ask you if you don't want that image 110 00:04:25,010 --> 00:04:27,170 to be part of this. 111 00:04:27,170 --> 00:04:28,390 [LAUGHTER] 112 00:04:28,390 --> 00:04:29,400 SAMAN AMARASINGHE: You'll see. 113 00:04:29,400 --> 00:04:29,870 OK. 114 00:04:29,870 --> 00:04:31,420 So this is the reference image. 115 00:04:31,420 --> 00:04:33,840 Why don't you go through-- 116 00:04:33,840 --> 00:04:34,210 Charles. 117 00:04:34,210 --> 00:04:34,580 Mike. 118 00:04:34,580 --> 00:04:35,290 AUDIENCE: Yep? 119 00:04:35,290 --> 00:04:36,820 SAMAN AMARASINGHE: Why don't you go through 120 00:04:36,820 --> 00:04:37,870 the rest of the images. 121 00:04:37,870 --> 00:04:39,140 AUDIENCE: OK. 122 00:04:39,140 --> 00:04:45,120 So before we we get into the images that we actually 123 00:04:45,120 --> 00:04:48,880 rendered in the last few hours, I just wanted to like 124 00:04:48,880 --> 00:04:49,990 honorable mention for this. 125 00:04:49,990 --> 00:04:51,170 I think this is the coolest. 126 00:04:51,170 --> 00:04:54,570 I'm sure you guys have been looking at a whole variety of 127 00:04:54,570 --> 00:04:59,930 broken ray tracer images But I think this is pretty much the 128 00:04:59,930 --> 00:05:00,840 coolest thing I've seen. 129 00:05:00,840 --> 00:05:05,040 So honorable mention for that. 130 00:05:05,040 --> 00:05:07,390 And so now let's look at things that 131 00:05:07,390 --> 00:05:08,645 people actually submitted. 132 00:05:11,400 --> 00:05:12,910 First we're going to go through all the images and 133 00:05:12,910 --> 00:05:13,910 sort of look at the range. 134 00:05:13,910 --> 00:05:16,060 And then we'll go back and vote on them. 135 00:05:16,060 --> 00:05:17,760 And so I'm just going to flip through the ones on the right 136 00:05:17,760 --> 00:05:20,866 and give a couple seconds to each. 137 00:05:20,866 --> 00:05:21,990 SAMAN AMARASINGHE: So see if they can 138 00:05:21,990 --> 00:05:25,522 identify the artifacts. 139 00:05:25,522 --> 00:05:28,826 AUDIENCE: Which one? 140 00:05:28,826 --> 00:05:31,120 CHARLES LEISERSON: You got to say when you're going because 141 00:05:31,120 --> 00:05:32,750 otherwise people aren't going to realize that you've been 142 00:05:32,750 --> 00:05:33,900 through three of them already. 143 00:05:33,900 --> 00:05:35,986 Here's image one. 144 00:05:35,986 --> 00:05:37,153 SAMAN AMARASINGHE: Image-- 145 00:05:37,153 --> 00:05:38,800 AUDIENCE: Here's the next one. 146 00:05:38,800 --> 00:05:41,161 SAMAN AMARASINGHE: Image two. 147 00:05:41,161 --> 00:05:42,590 CHARLES LEISERSON: That's five. 148 00:05:42,590 --> 00:05:43,430 Four, five. 149 00:05:43,430 --> 00:05:45,732 SAMAN AMARASINGHE: Image three. 150 00:05:45,732 --> 00:05:59,142 image four, image five, image six, seven, eight, nine, ten, 151 00:05:59,142 --> 00:06:09,410 11, SAMAN AMARASINGHE: 12, 13, 14, 15, OK, 15. 152 00:06:09,410 --> 00:06:12,535 There are some groups that we could not get the rendering. 153 00:06:12,535 --> 00:06:15,450 Either it crashed, or after ten minutes it was still 154 00:06:15,450 --> 00:06:16,420 hadn't produced an image. 155 00:06:16,420 --> 00:06:18,240 So they're not a part of the competition. 156 00:06:18,240 --> 00:06:20,230 And of course we run them for the finals. 157 00:06:20,230 --> 00:06:22,120 OK, now the vote time. 158 00:06:22,120 --> 00:06:24,830 OK, so this image, in or out? 159 00:06:24,830 --> 00:06:27,800 Who thinks out? 160 00:06:27,800 --> 00:06:29,830 Whoa, you guys are a harsh crowd. 161 00:06:29,830 --> 00:06:30,710 OK. 162 00:06:30,710 --> 00:06:31,160 [LAUGHTER] 163 00:06:31,160 --> 00:06:32,080 CHARLES LEISERSON: Who thinks in? 164 00:06:32,080 --> 00:06:32,832 Who thinks in? 165 00:06:32,832 --> 00:06:34,160 SAMAN AMARASINGHE: Who thinks in? 166 00:06:34,160 --> 00:06:34,700 CHARLES LEISERSON: We've got to get you both. 167 00:06:34,700 --> 00:06:35,100 Who thinks in? 168 00:06:35,100 --> 00:06:36,460 SAMAN AMARASINGHE: So we know-- 169 00:06:36,460 --> 00:06:37,460 AUDIENCE: Do we get screwed for this? 170 00:06:37,460 --> 00:06:38,280 [LAUGHTER] 171 00:06:38,280 --> 00:06:41,070 SAMAN AMARASINGHE: Imagine that. 172 00:06:41,070 --> 00:06:41,862 OK. 173 00:06:41,862 --> 00:06:43,250 That image is out. 174 00:06:43,250 --> 00:06:44,950 You can take notes, OK. 175 00:06:44,950 --> 00:06:46,200 [INTERPOSING VOICES] 176 00:06:50,860 --> 00:06:51,580 SAMAN AMARASINGHE: OK, next image. 177 00:06:51,580 --> 00:06:52,590 AUDIENCE: Number one's out. 178 00:06:52,590 --> 00:06:54,405 SAMAN AMARASINGHE: OK, this one, in or out? 179 00:06:54,405 --> 00:06:55,160 Out. 180 00:06:55,160 --> 00:06:55,565 OK. 181 00:06:55,565 --> 00:06:56,420 AUDIENCE: Probably the same. 182 00:06:56,420 --> 00:06:57,770 SAMAN AMARASINGHE: OK, it's out. 183 00:06:57,770 --> 00:07:00,390 AUDIENCE: It's got the funny ring at the bottom, which I 184 00:07:00,390 --> 00:07:02,330 guess that's what most of you are picking up on. 185 00:07:02,330 --> 00:07:07,006 I think that's kind of disqualifying for the derby. 186 00:07:07,006 --> 00:07:08,590 SAMAN AMARASINGHE: OK, how about this? 187 00:07:08,590 --> 00:07:08,670 Out? 188 00:07:08,670 --> 00:07:08,960 In or out? 189 00:07:08,960 --> 00:07:09,750 AUDIENCE: Out. 190 00:07:09,750 --> 00:07:10,510 SAMAN AMARASINGHE: Out. 191 00:07:10,510 --> 00:07:11,430 Whoa. 192 00:07:11,430 --> 00:07:13,170 CHARLES LEISERSON: Wow, you guys are vicious. 193 00:07:13,170 --> 00:07:14,446 SAMAN AMARASINGHE: Exactly. 194 00:07:14,446 --> 00:07:17,150 OK, how about this? 195 00:07:17,150 --> 00:07:21,050 How many people think they should be out? 196 00:07:21,050 --> 00:07:23,320 OK, I guess that'll get in here. 197 00:07:23,320 --> 00:07:23,980 I guess-- 198 00:07:23,980 --> 00:07:25,380 OK, that image is in. 199 00:07:25,380 --> 00:07:25,930 OK. 200 00:07:25,930 --> 00:07:28,380 Make sure it's in. 201 00:07:28,380 --> 00:07:30,022 How about this one? 202 00:07:30,022 --> 00:07:32,758 AUDIENCE: It's okay. 203 00:07:32,758 --> 00:07:34,688 SAMAN AMARASINGHE: Who says it's out? 204 00:07:34,688 --> 00:07:35,938 AUDIENCE: [INTERPOSING VOICES] 205 00:07:38,592 --> 00:07:40,460 SAMAN AMARASINGHE: OK, Who says it's in? 206 00:07:44,860 --> 00:07:46,000 I think it's in. 207 00:07:46,000 --> 00:07:47,620 CHARLES LEISERSON: You should look at the water. 208 00:07:47,620 --> 00:07:48,100 SAMAN AMARASINGHE: Water. 209 00:07:48,100 --> 00:07:49,000 AUDIENCE: The water has holes. 210 00:07:49,000 --> 00:07:50,720 CHARLES LEISERSON: The water has holes. 211 00:07:50,720 --> 00:07:51,600 That's what's going on. 212 00:07:51,600 --> 00:07:52,470 The water has holes. 213 00:07:52,470 --> 00:07:54,831 AUDIENCE: [INTERPOSING VOICES] 214 00:07:54,831 --> 00:07:56,142 It's the only one we're going to be able to reference. 215 00:07:56,142 --> 00:07:58,110 SAMAN AMARASINGHE: OK, so what's the this is in charge? 216 00:07:58,110 --> 00:07:59,132 CHARLES LEISERSON: Let's do it again. 217 00:07:59,132 --> 00:08:00,000 SAMAN AMARASINGHE: OK. 218 00:08:00,000 --> 00:08:01,560 CHARLES LEISERSON: OK, you have to point out-- 219 00:08:01,560 --> 00:08:02,310 SAMAN AMARASINGHE: What's the problem? 220 00:08:02,310 --> 00:08:03,500 CHARLES LEISERSON: --what's going on in the image. 221 00:08:03,500 --> 00:08:04,900 AUDIENCE: Yeah. 222 00:08:04,900 --> 00:08:05,640 I think we should-- 223 00:08:05,640 --> 00:08:07,510 I mean, do we want to get people to like say why they 224 00:08:07,510 --> 00:08:09,083 think it's in or out? 225 00:08:09,083 --> 00:08:11,410 CHARLES LEISERSON: It's helpful to say what's in the 226 00:08:11,410 --> 00:08:11,510 image, though. 227 00:08:11,510 --> 00:08:12,075 AUDIENCE: Yeah. 228 00:08:12,075 --> 00:08:13,005 SAMAN AMARASINGHE: OK. 229 00:08:13,005 --> 00:08:13,935 Let's take a vote again. 230 00:08:13,935 --> 00:08:16,516 How many people think it should be out? 231 00:08:16,516 --> 00:08:18,040 AUDIENCE: OK, that's out. 232 00:08:18,040 --> 00:08:18,920 OK, yeah. 233 00:08:18,920 --> 00:08:19,590 SAMAN AMARASINGHE: OK, next image. 234 00:08:19,590 --> 00:08:21,368 AUDIENCE: Number 5, on the slide. 235 00:08:21,368 --> 00:08:23,370 SAMAN AMARASINGHE: OK, in or out? 236 00:08:23,370 --> 00:08:25,658 How many people think this should be out? 237 00:08:25,658 --> 00:08:27,495 AUDIENCE: Is there any problem? 238 00:08:27,495 --> 00:08:28,900 I mean, what's the-- 239 00:08:28,900 --> 00:08:30,308 [INTERPOSING VOICES] 240 00:08:30,308 --> 00:08:32,010 [LAUGHTER] 241 00:08:32,010 --> 00:08:34,850 SAMAN AMARASINGHE: I don't think there's a problem. 242 00:08:34,850 --> 00:08:35,720 OK, good. 243 00:08:35,720 --> 00:08:37,039 Next one. 244 00:08:37,039 --> 00:08:38,700 How many think this should be-- 245 00:08:38,700 --> 00:08:39,210 OK. 246 00:08:39,210 --> 00:08:41,510 That's unanimous, that's out. 247 00:08:41,510 --> 00:08:46,060 How many think this should be out? 248 00:08:46,060 --> 00:08:50,361 OK, I guess that's in. 249 00:08:50,361 --> 00:08:51,210 This another one? 250 00:08:51,210 --> 00:08:54,220 AUDIENCE: Yeah, I think it's interesting to flip back and 251 00:08:54,220 --> 00:08:55,955 forth and see the difference between these two. 252 00:08:55,955 --> 00:08:57,189 Like, these are very close, right? 253 00:08:57,189 --> 00:08:58,147 AUDIENCE: Yeah. 254 00:08:58,147 --> 00:09:00,063 It's obvious they're using this one. 255 00:09:00,063 --> 00:09:05,332 [LAUGHTER] 256 00:09:05,332 --> 00:09:07,370 SAMAN AMARASINGHE: OK, how many think they 257 00:09:07,370 --> 00:09:08,770 should be be out? 258 00:09:11,770 --> 00:09:13,470 That group once is going to kill everybody. 259 00:09:16,470 --> 00:09:17,635 [INTERPOSING VOICES] 260 00:09:17,635 --> 00:09:18,960 SAMAN AMARASINGHE: How about this one? 261 00:09:18,960 --> 00:09:20,390 How many people think this should be out? 262 00:09:20,390 --> 00:09:21,960 AUDIENCE: There's not enough caustics. 263 00:09:21,960 --> 00:09:24,160 You don't see the floor. 264 00:09:24,160 --> 00:09:28,016 AUDIENCE: Yeah, that's an interesting point. 265 00:09:28,016 --> 00:09:29,266 [INTERPOSING VOICES] 266 00:09:36,650 --> 00:09:38,680 AUDIENCE: Say what? 267 00:09:38,680 --> 00:09:41,462 AUDIENCE: We went past ones that look the same. 268 00:09:41,462 --> 00:09:42,712 [INTERPOSING VOICES] 269 00:09:45,770 --> 00:09:47,350 AUDIENCE: It's really not fair. 270 00:09:47,350 --> 00:09:49,448 When you have an image and then put that image right 271 00:09:49,448 --> 00:09:50,732 after that it's not fair. 272 00:09:50,732 --> 00:09:52,310 SAMAN AMARASINGHE: We will keep this in because there's 273 00:09:52,310 --> 00:09:54,630 few people want it out, but it looks pretty good. 274 00:09:54,630 --> 00:09:56,760 OK, next image. 275 00:09:56,760 --> 00:09:58,840 OK, how many people think this should be-- 276 00:09:58,840 --> 00:10:02,500 OK, that's a clear out. 277 00:10:02,500 --> 00:10:03,951 How about this image? 278 00:10:03,951 --> 00:10:05,915 AUDIENCE: It looks OK. 279 00:10:05,915 --> 00:10:06,900 It's fine. 280 00:10:06,900 --> 00:10:07,410 SAMAN AMARASINGHE: It's fine. 281 00:10:07,410 --> 00:10:09,190 OK, anybody want it out? 282 00:10:09,190 --> 00:10:09,790 No? 283 00:10:09,790 --> 00:10:10,230 OK, good. 284 00:10:10,230 --> 00:10:11,280 That's in. 285 00:10:11,280 --> 00:10:12,125 Next image. 286 00:10:12,125 --> 00:10:14,192 How about this image? 287 00:10:14,192 --> 00:10:17,138 [INTERPOSING VOICES] 288 00:10:17,138 --> 00:10:18,611 [LAUGHTER] 289 00:10:18,611 --> 00:10:19,861 [INTERPOSING VOICES] 290 00:10:23,521 --> 00:10:25,475 CHARLES LEISERSON: We really should start the reference-- 291 00:10:25,475 --> 00:10:26,950 SAMAN AMARASINGHE: We need another slide to see how many 292 00:10:26,950 --> 00:10:27,660 people want that out. 293 00:10:27,660 --> 00:10:29,580 CHARLES LEISERSON: --identical images and 294 00:10:29,580 --> 00:10:31,500 people could be voting. 295 00:10:31,500 --> 00:10:33,750 [LAUGHTER] 296 00:10:33,750 --> 00:10:35,522 AUDIENCE: Is there an explanation why all of the 297 00:10:35,522 --> 00:10:37,200 yellows have been so far different from 298 00:10:37,200 --> 00:10:38,286 the reference image? 299 00:10:38,286 --> 00:10:40,642 [INTERPOSING VOICES] 300 00:10:40,642 --> 00:10:43,122 [LAUGHTER] 301 00:10:43,122 --> 00:10:45,590 SAMAN AMARASINGHE: So I guess this image is in. 302 00:10:45,590 --> 00:10:48,150 OK, next one. 303 00:10:48,150 --> 00:10:48,990 How about this image? 304 00:10:48,990 --> 00:10:49,696 AUDIENCE: It's fine. 305 00:10:49,696 --> 00:10:50,480 SAMAN AMARASINGHE: Fine. 306 00:10:50,480 --> 00:10:51,710 OK, anybody want it out? 307 00:10:51,710 --> 00:10:52,220 No? 308 00:10:52,220 --> 00:10:52,510 OK. 309 00:10:52,510 --> 00:10:54,622 How about next one? 310 00:10:54,622 --> 00:10:55,872 [INTERPOSING VOICES] 311 00:11:00,390 --> 00:11:01,860 SAMAN AMARASINGHE: It looks pretty good. 312 00:11:01,860 --> 00:11:03,555 AUDIENCE: It's pretty good. 313 00:11:03,555 --> 00:11:06,450 AUDIENCE: It's messed up on the left and the right. 314 00:11:06,450 --> 00:11:08,050 SAMAN AMARASINGHE: How many people-- 315 00:11:08,050 --> 00:11:09,380 We have to count this one. 316 00:11:09,380 --> 00:11:10,070 This is too close. 317 00:11:10,070 --> 00:11:15,322 One, two, three, four, five, six, seven, eight, nine, 10, 318 00:11:15,322 --> 00:11:18,540 11, 12, 13, 14, 15, 16, 17, 18, 19. 319 00:11:18,540 --> 00:11:19,480 19 out. 320 00:11:19,480 --> 00:11:21,792 Who says it should be in? 321 00:11:21,792 --> 00:11:23,756 [INTERPOSING VOICES] 322 00:11:23,756 --> 00:11:26,360 SAMAN AMARASINGHE: Oh, I guess it's out. 323 00:11:26,360 --> 00:11:27,530 AUDIENCE: Oh, the number of hands is more for out. 324 00:11:27,530 --> 00:11:28,305 AUDIENCE: OK, and that's it. 325 00:11:28,305 --> 00:11:29,800 SAMAN AMARASINGHE: That's it. 326 00:11:29,800 --> 00:11:33,670 So now, next thing we are going to do is, we are going 327 00:11:33,670 --> 00:11:35,860 to show you a rank in our seating. 328 00:11:35,860 --> 00:11:37,740 AUDIENCE: Yeah, so we seeded you guys 329 00:11:37,740 --> 00:11:39,630 on the 12 core machines. 330 00:11:42,320 --> 00:11:45,630 So we seeded you guys based on the time that it took for 331 00:11:45,630 --> 00:11:48,370 scene three on the 12 core machines. 332 00:11:48,370 --> 00:11:52,770 So here is the ranking so far. 333 00:11:52,770 --> 00:11:55,700 Top one is number one team. 334 00:11:55,700 --> 00:12:00,100 And we ranked about the top 10 or so. 335 00:12:00,100 --> 00:12:02,060 SAMAN AMARASINGHE: Show the real run time. 336 00:12:02,060 --> 00:12:05,995 AUDIENCE: I don't have the run time, actually, for the seat. 337 00:12:05,995 --> 00:12:06,950 AUDIENCE: For scene one? 338 00:12:06,950 --> 00:12:08,190 AUDIENCE: Yeah. 339 00:12:08,190 --> 00:12:11,200 Actually, I can get it real quick. 340 00:12:11,200 --> 00:12:12,660 SAMAN AMARASINGHE: You had the graph, didn't you? 341 00:12:12,660 --> 00:12:13,910 AUDIENCE: I don't have a graph. 342 00:12:16,724 --> 00:12:20,260 SAMAN AMARASINGHE: So here are the rankings of the top ten. 343 00:12:20,260 --> 00:12:21,360 Do we have that graph? 344 00:12:21,360 --> 00:12:22,200 AUDIENCE: What? 345 00:12:22,200 --> 00:12:22,696 I don't have a graph. 346 00:12:22,696 --> 00:12:24,020 AUDIENCE: He has numbers. 347 00:12:24,020 --> 00:12:25,160 AUDIENCE: I just have the numbers. 348 00:12:25,160 --> 00:12:25,480 [INTERPOSING VOICES] 349 00:12:25,480 --> 00:12:26,960 AUDIENCE: There's all kinds of other numbers, too. 350 00:12:26,960 --> 00:12:27,452 [INTERPOSING VOICES] 351 00:12:27,452 --> 00:12:28,930 AUDIENCE: We'll say unplug this. 352 00:12:28,930 --> 00:12:31,135 SAMAN AMARASINGHE: No, nobody can see it. 353 00:12:31,135 --> 00:12:32,856 CHARLES LEISERSON: It's okay. 354 00:12:32,856 --> 00:12:35,520 AUDIENCE: Do we want to get the rankings? 355 00:12:35,520 --> 00:12:35,820 SAMAN AMARASINGHE: No. 356 00:12:35,820 --> 00:12:38,350 Now, what we're going to do is we're going to start from the 357 00:12:38,350 --> 00:12:44,220 bottom and start running it on our 48 core machine. 358 00:12:44,220 --> 00:12:46,560 And while it's running, we want that team to say a little 359 00:12:46,560 --> 00:12:49,260 bit about what they did to get their performance. 360 00:12:49,260 --> 00:12:49,535 So-- 361 00:12:49,535 --> 00:12:50,390 CHARLES LEISERSON: We need to knock out the one-- 362 00:12:50,390 --> 00:12:51,590 [INTERPOSING VOICES] 363 00:12:51,590 --> 00:12:53,720 SAMAN AMARASINGHE: Either come prepared when you have formed 364 00:12:53,720 --> 00:12:57,100 your presentation, or make your image run very slow. 365 00:12:57,100 --> 00:12:58,230 So you don't have to. 366 00:12:58,230 --> 00:12:58,750 So I guess-- 367 00:12:58,750 --> 00:13:00,810 CHARLES LEISERSON: First of all we have to knock out the 368 00:13:00,810 --> 00:13:02,840 ones whose images did not render. 369 00:13:02,840 --> 00:13:03,470 SAMAN AMARASINGHE: Oh, that's true. 370 00:13:03,470 --> 00:13:03,770 That's true. 371 00:13:03,770 --> 00:13:04,180 That's true. 372 00:13:04,180 --> 00:13:06,110 CHARLES LEISERSON: So maybe they all get knocked out. 373 00:13:06,110 --> 00:13:08,865 And then everybody goes home with an iPod. 374 00:13:08,865 --> 00:13:10,040 SAMAN AMARASINGHE: Or nobody. 375 00:13:10,040 --> 00:13:11,000 [LAUGHTER] 376 00:13:11,000 --> 00:13:12,250 AUDIENCE: Can we just put the next one up? 377 00:13:14,890 --> 00:13:15,300 Here we go. 378 00:13:15,300 --> 00:13:16,461 Now we have time for everybody. 379 00:13:16,461 --> 00:13:18,230 SAMAN AMARASINGHE: OK, there we go. 380 00:13:18,230 --> 00:13:20,850 So this is the time for all the images. 381 00:13:20,850 --> 00:13:22,830 So is there any of these images today getting knocked 382 00:13:22,830 --> 00:13:23,810 out, can you check that? 383 00:13:23,810 --> 00:13:25,570 AUDIENCE: We're pretty close. 384 00:13:25,570 --> 00:13:26,910 SAMAN AMARASINGHE: Which images get knocked out? 385 00:13:26,910 --> 00:13:28,735 AUDIENCE: So I'm looking at them from bottom to top. 386 00:13:28,735 --> 00:13:30,646 AUDIENCE: This is the-- 387 00:13:30,646 --> 00:13:31,670 I think this one's knocked out. 388 00:13:31,670 --> 00:13:33,850 AUDIENCE: Number one, two, and three. 389 00:13:33,850 --> 00:13:35,100 [INTERPOSING VOICES] 390 00:13:40,984 --> 00:13:44,630 AUDIENCE: I think David Lamb and Victor 391 00:13:44,630 --> 00:13:45,410 Wang got knocked out. 392 00:13:45,410 --> 00:13:47,132 Because this is their image here. 393 00:13:47,132 --> 00:13:48,670 SAMAN AMARASINGHE: That got knocked out. 394 00:13:48,670 --> 00:13:50,734 The last image got knocked out. 395 00:13:50,734 --> 00:13:52,602 [INTERPOSING VOICES] 396 00:13:52,602 --> 00:13:54,040 SAMAN AMARASINGHE: What's the next group? 397 00:13:54,040 --> 00:13:59,458 AUDIENCE: In between-- 398 00:13:59,458 --> 00:14:01,434 the A group-- 399 00:14:01,434 --> 00:14:03,410 [INAUDIBLE] 400 00:14:03,410 --> 00:14:04,660 [INTERPOSING VOICES] 401 00:14:06,810 --> 00:14:08,830 AUDIENCE: This one was the water. 402 00:14:08,830 --> 00:14:09,312 19. 403 00:14:09,312 --> 00:14:10,758 AUDIENCE: Yeah, that was. 404 00:14:10,758 --> 00:14:12,008 [INTERPOSING VOICES] 405 00:14:15,460 --> 00:14:18,434 SAMAN AMARASINGHE: Uh-oh, they're getting knocked out. 406 00:14:18,434 --> 00:14:19,684 [INTERPOSING VOICES] 407 00:14:25,485 --> 00:14:27,916 SAMAN AMARASINGHE: OK, that got knocked out, too. 408 00:14:27,916 --> 00:14:29,166 [INTERPOSING VOICES] 409 00:14:32,746 --> 00:14:34,950 SAMAN AMARASINGHE: Oh, man. 410 00:14:34,950 --> 00:14:37,940 Yeah, nobody competing at this point. 411 00:14:37,940 --> 00:14:39,832 [LAUGHTER] 412 00:14:39,832 --> 00:14:41,082 [INTERPOSING VOICES] 413 00:14:44,090 --> 00:14:45,295 SAMAN AMARASINGHE: That survives. 414 00:14:45,295 --> 00:14:46,390 That survives. 415 00:14:46,390 --> 00:14:46,755 Push! 416 00:14:46,755 --> 00:14:49,550 We have a survivor. 417 00:14:49,550 --> 00:14:53,434 So that might be a knockout by default. 418 00:14:53,434 --> 00:14:55,904 [INTERPOSING VOICES] 419 00:14:55,904 --> 00:14:59,290 SAMAN AMARASINGHE: Oh, that is out. 420 00:14:59,290 --> 00:15:00,110 Oh, man. 421 00:15:00,110 --> 00:15:01,986 AUDIENCE: Ours is so close though. 422 00:15:01,986 --> 00:15:04,331 [LAUGHTER] 423 00:15:04,331 --> 00:15:06,750 [INTERPOSING VOICES] 424 00:15:06,750 --> 00:15:09,930 SAMAN AMARASINGHE: That's all right. 425 00:15:09,930 --> 00:15:12,768 OK, I at least we have two people right now. 426 00:15:12,768 --> 00:15:15,050 AUDIENCE: Wasn't that the one that was really dark? 427 00:15:15,050 --> 00:15:17,770 AUDIENCE: This is the one that was sort of darker-- 428 00:15:17,770 --> 00:15:18,170 [INTERPOSING VOICES] 429 00:15:18,170 --> 00:15:18,946 AUDIENCE: Like they don't have enough. 430 00:15:18,946 --> 00:15:20,196 [INTERPOSING VOICES] 431 00:15:22,348 --> 00:15:25,040 AUDIENCE: So here's the two reference images. 432 00:15:25,040 --> 00:15:25,600 SAMAN AMARASINGHE: We already voted. 433 00:15:25,600 --> 00:15:26,680 We can't vote again. 434 00:15:26,680 --> 00:15:27,105 [INTERPOSING VOICES] 435 00:15:27,105 --> 00:15:27,970 SAMAN AMARASINGHE: No-- 436 00:15:27,970 --> 00:15:28,610 leave them knocked out. 437 00:15:28,610 --> 00:15:30,470 AUDIENCE: Some people voted against it, but-- 438 00:15:30,470 --> 00:15:30,660 [INTERPOSING VOICES] 439 00:15:30,660 --> 00:15:31,920 SAMAN AMARASINGHE: Yeah, but it didn't get the quorum. 440 00:15:31,920 --> 00:15:33,540 It didn't get a quorum to get voted out. 441 00:15:33,540 --> 00:15:36,202 [INTERPOSING VOICES] 442 00:15:36,202 --> 00:15:38,475 SAMAN AMARASINGHE: How about other group? 443 00:15:38,475 --> 00:15:39,700 First one, let's look at that. 444 00:15:39,700 --> 00:15:41,094 AUDIENCE: Who's this? 445 00:15:41,094 --> 00:15:42,344 [INTERPOSING VOICES] 446 00:15:48,036 --> 00:15:49,910 SAMAN AMARASINGHE: OK, that survives. 447 00:15:49,910 --> 00:15:51,160 That's good. 448 00:15:54,620 --> 00:15:57,325 Mangpo. 449 00:15:57,325 --> 00:15:59,440 OK. 450 00:15:59,440 --> 00:16:00,200 That survived, too. 451 00:16:00,200 --> 00:16:01,530 Two. 452 00:16:01,530 --> 00:16:04,622 That's all right. 453 00:16:04,622 --> 00:16:05,872 Li Chen. 454 00:16:08,302 --> 00:16:10,592 [INTERPOSING VOICES] 455 00:16:10,592 --> 00:16:11,842 SAMAN AMARASINGHE: Ooooo. 456 00:16:15,900 --> 00:16:16,250 [LAUGHTER] 457 00:16:16,250 --> 00:16:18,280 SAMAN AMARASINGHE: Oh, man. 458 00:16:18,280 --> 00:16:19,530 That's a... 459 00:16:24,470 --> 00:16:29,520 So that is a knockout blow there. 460 00:16:29,520 --> 00:16:34,070 Now what we're going to do is, we're going to run it on from 461 00:16:34,070 --> 00:16:35,900 48 core machine from the bottom. 462 00:16:35,900 --> 00:16:39,230 So we will let other teams also, if we have time, to come 463 00:16:39,230 --> 00:16:40,930 and explain what they did. 464 00:16:40,930 --> 00:16:43,050 We are running-- 465 00:16:43,050 --> 00:16:43,680 who's now? 466 00:16:43,680 --> 00:16:45,920 AUDIENCE: This is a Dobs. 467 00:16:45,920 --> 00:16:46,890 SAMAN AMARASINGHE: Dobs. 468 00:16:46,890 --> 00:16:49,132 OK, why don't you guys explain what you did. 469 00:16:49,132 --> 00:16:50,608 AUDIENCE: Come up here. 470 00:16:50,608 --> 00:16:52,084 AUDIENCE: Need the mic? 471 00:16:52,084 --> 00:16:55,036 AUDIENCE: I think the mic is off. 472 00:16:55,036 --> 00:16:56,410 CHARLES LEISERSON: The mic is on, but it's 473 00:16:56,410 --> 00:16:56,830 only for the video. 474 00:16:56,830 --> 00:16:58,114 SAMAN AMARASINGHE: Video. 475 00:16:58,114 --> 00:17:01,790 CHARLES LEISERSON: You have to use the mic but you can't hear 476 00:17:01,790 --> 00:17:04,495 the speaking. 477 00:17:04,495 --> 00:17:09,140 AUDIENCE: So we parallelized the ray tracing part. 478 00:17:09,140 --> 00:17:12,859 The two for loops for going through all the 479 00:17:12,859 --> 00:17:13,869 pixels on the screen. 480 00:17:13,869 --> 00:17:18,069 And then we also parallelized the main loop for caustic 481 00:17:18,069 --> 00:17:18,660 elimination. 482 00:17:18,660 --> 00:17:19,829 And we changed the-- 483 00:17:19,829 --> 00:17:21,170 sort of the data structure-- 484 00:17:21,170 --> 00:17:22,069 how that works. 485 00:17:22,069 --> 00:17:25,000 Used some like bounding boxes to make the 486 00:17:25,000 --> 00:17:26,250 intersection faster. 487 00:17:28,585 --> 00:17:30,730 I don't know what else we did. 488 00:17:30,730 --> 00:17:32,200 AUDIENCE: We found ways to get rid of-- 489 00:17:32,200 --> 00:17:34,636 AUDIENCE: Mic, please. 490 00:17:34,636 --> 00:17:40,200 AUDIENCE: We found ways to get rid of a lot of trigonometry, 491 00:17:40,200 --> 00:17:41,270 which actually helped a lot. 492 00:17:41,270 --> 00:17:46,970 And we got rid of the recursion in locate photons, 493 00:17:46,970 --> 00:17:49,550 which was a major roadblock. 494 00:17:49,550 --> 00:17:50,370 SAMAN AMARASINGHE: Question. 495 00:17:50,370 --> 00:17:52,101 AUDIENCE: What did you do for that? 496 00:17:52,101 --> 00:17:54,850 How'd you get rid of the trig? 497 00:17:54,850 --> 00:17:57,410 AUDIENCE: Repeat the question. 498 00:17:57,410 --> 00:18:01,355 AUDIENCE: They were converting from XYZ coordinates into 499 00:18:01,355 --> 00:18:03,820 spherical coordinates and then back again, over and over. 500 00:18:03,820 --> 00:18:05,320 So we just didn't do that. 501 00:18:08,785 --> 00:18:10,035 [INTERPOSING VOICES] 502 00:18:17,657 --> 00:18:18,571 [LAUGHTER] 503 00:18:18,571 --> 00:18:20,399 AUDIENCE: Slow down. 504 00:18:20,399 --> 00:18:21,630 SAMAN AMARASINGHE: It slow down. 505 00:18:21,630 --> 00:18:21,980 Uh-oh. 506 00:18:21,980 --> 00:18:23,550 AUDIENCE: No. 507 00:18:23,550 --> 00:18:25,330 The seating was done on scene one. 508 00:18:25,330 --> 00:18:25,630 Right? 509 00:18:25,630 --> 00:18:26,720 AUDIENCE: Oh, yeah. 510 00:18:26,720 --> 00:18:27,660 Oh. 511 00:18:27,660 --> 00:18:28,790 Wait-- 512 00:18:28,790 --> 00:18:29,897 Apples and oranges. 513 00:18:29,897 --> 00:18:32,640 [INTERPOSING VOICES] 514 00:18:32,640 --> 00:18:34,910 I just ran scene three. 515 00:18:34,910 --> 00:18:36,122 [INTERPOSING VOICES] 516 00:18:36,122 --> 00:18:37,006 48. 517 00:18:37,006 --> 00:18:37,448 Scene three. 518 00:18:37,448 --> 00:18:38,780 So there might have been a slip. 519 00:18:38,780 --> 00:18:39,540 SAMAN AMARASINGHE: No. 520 00:18:39,540 --> 00:18:43,010 But this scene one is much more simpler. 521 00:18:43,010 --> 00:18:44,150 OK, good. 522 00:18:44,150 --> 00:18:45,490 So you're on the board now? 523 00:18:45,490 --> 00:18:46,990 [INTERPOSING VOICES] 524 00:18:46,990 --> 00:18:51,220 AUDIENCE: How is the seating being done in scene one if it 525 00:18:51,220 --> 00:18:53,160 doesn't have a surface that's-- 526 00:18:53,160 --> 00:18:53,470 [INTERPOSING VOICES] 527 00:18:53,470 --> 00:18:55,350 AUDIENCE: --caustics. 528 00:18:55,350 --> 00:18:56,890 It might be that some people did really 529 00:18:56,890 --> 00:18:57,940 fast on that one and-- 530 00:18:57,940 --> 00:18:59,834 AUDIENCE: Because we ran everybody's scene three. 531 00:18:59,834 --> 00:19:01,810 And we guarantee that the top end teams are on it. 532 00:19:01,810 --> 00:19:04,774 [LAUGHTER] 533 00:19:04,774 --> 00:19:06,256 AUDIENCE: The results are rigged. 534 00:19:06,256 --> 00:19:10,208 [LAUGHTER] 535 00:19:10,208 --> 00:19:12,060 SAMAN AMARASINGHE: He detained the tape. 536 00:19:12,060 --> 00:19:14,380 OK, good. 537 00:19:14,380 --> 00:19:16,572 First team is in. 538 00:19:16,572 --> 00:19:17,490 Then the next team. 539 00:19:17,490 --> 00:19:18,880 AUDIENCE: That's Elizabeth. 540 00:19:18,880 --> 00:19:19,600 SAMAN AMARASINGHE: Elizabeth-- 541 00:19:19,600 --> 00:19:21,541 AUDIENCE: Scott, right? 542 00:19:21,541 --> 00:19:23,530 SAMAN AMARASINGHE: There we go. 543 00:19:23,530 --> 00:19:25,055 Why their thing is being run. 544 00:19:25,055 --> 00:19:26,936 AUDIENCE: Are you running it? 545 00:19:26,936 --> 00:19:27,810 AUDIENCE: All right. 546 00:19:27,810 --> 00:19:32,020 So I guess for the display surface, the main optimization 547 00:19:32,020 --> 00:19:35,060 there was imagining two planes at the top bound and the 548 00:19:35,060 --> 00:19:37,900 bottom bound and seeing if a ray passed through them and 549 00:19:37,900 --> 00:19:41,560 then only checking that section of the grid. 550 00:19:41,560 --> 00:19:44,300 And then even within like that square bounding box-- 551 00:19:44,300 --> 00:19:45,322 AUDIENCE: Like if there's a square, and then the ray's 552 00:19:45,322 --> 00:19:46,036 going through like that, there's a 553 00:19:46,036 --> 00:19:46,750 bunch of grid squares-- 554 00:19:46,750 --> 00:19:48,671 AUDIENCE: Could you use the mic, please? 555 00:19:48,671 --> 00:19:50,955 AUDIENCE: Like if a ray's intersecting a square, there's 556 00:19:50,955 --> 00:19:53,700 still a bunch of grid squares above and below it that you 557 00:19:53,700 --> 00:19:54,490 don't have to check. 558 00:19:54,490 --> 00:19:57,310 So we kind of imagined it as a-- 559 00:19:57,310 --> 00:19:59,370 projected it onto a 2D surface. 560 00:19:59,370 --> 00:20:05,530 So we didn't check additional superfluous grid squares. 561 00:20:05,530 --> 00:20:08,540 We also did the thing where we got rid of the trig by 562 00:20:08,540 --> 00:20:10,175 transforming from polar coordinates to XYZ 563 00:20:10,175 --> 00:20:11,320 coordinates. 564 00:20:11,320 --> 00:20:13,290 Although, before that, we used the fast sign and cosign 565 00:20:13,290 --> 00:20:16,300 approximation, which was almost as fast. 566 00:20:16,300 --> 00:20:20,096 Using a quadratic curve, which was kind of cool. 567 00:20:20,096 --> 00:20:22,477 AUDIENCE: I think those are the main-- 568 00:20:22,477 --> 00:20:26,910 AUDIENCE: We did an SSE matrix multiply, which barely speeded 569 00:20:26,910 --> 00:20:28,835 it up, but whatever. 570 00:20:28,835 --> 00:20:29,230 [LAUGHTER] 571 00:20:29,230 --> 00:20:31,790 AUDIENCE: We moved stuff into... 572 00:20:31,790 --> 00:20:33,620 SAMAN AMARASINGHE: So you are the team that had issue going 573 00:20:33,620 --> 00:20:35,125 to Intel to AMD. 574 00:20:35,125 --> 00:20:35,965 [INTERPOSING VOICES] 575 00:20:35,965 --> 00:20:39,250 AUDIENCE: Yeah, we were complaining about-- 576 00:20:39,250 --> 00:20:40,500 [INTERPOSING VOICES] 577 00:20:42,600 --> 00:20:43,580 SAMAN AMARASINGHE: If you use Intel, certain instruction is 578 00:20:43,580 --> 00:20:44,830 not the same in AMD. 579 00:20:48,950 --> 00:20:50,500 OK, good. 580 00:20:50,500 --> 00:20:53,140 So we are waiting for the time to come? 581 00:20:53,140 --> 00:20:55,270 AUDIENCE: So we ran it once, but we forgot to time it. 582 00:20:55,270 --> 00:20:56,710 [LAUGHTER] 583 00:20:56,710 --> 00:20:59,590 AUDIENCE: It was fast enough that we could run it again-- 584 00:20:59,590 --> 00:21:01,510 [INTERPOSING VOICES] 585 00:21:01,510 --> 00:21:04,370 SAMAN AMARASINGHE: So by the way, I want to give a chance 586 00:21:04,370 --> 00:21:06,710 for the top team that get knocked out, 587 00:21:06,710 --> 00:21:07,930 explain what they did. 588 00:21:07,930 --> 00:21:09,770 Even though they are not in competition because they ran 589 00:21:09,770 --> 00:21:11,520 much faster in the same run. 590 00:21:11,520 --> 00:21:12,210 Who's the top team? 591 00:21:12,210 --> 00:21:14,202 AUDIENCE: [UNINTELLIGIBLE] 592 00:21:14,202 --> 00:21:16,194 SAMAN AMARASINGHE: Who's the top team up there? 593 00:21:16,194 --> 00:21:17,444 [INTERPOSING VOICES] 594 00:21:20,766 --> 00:21:22,143 CHARLES LEISERSON: They're getting sleep. 595 00:21:22,143 --> 00:21:23,520 [LAUGHTER] 596 00:21:23,520 --> 00:21:26,375 SAMAN AMARASINGHE: OK, 59. 597 00:21:26,375 --> 00:21:27,925 Uh-oh, now we-- 598 00:21:30,880 --> 00:21:32,970 Oops. 599 00:21:32,970 --> 00:21:34,752 OK. 600 00:21:34,752 --> 00:21:35,595 AUDIENCE: Ooo... 601 00:21:35,595 --> 00:21:37,500 SAMAN AMARASINGHE: Inversion off that. 602 00:21:37,500 --> 00:21:39,045 OK, next team. 603 00:21:49,488 --> 00:21:52,165 AUDIENCE: So our team also did a same trick. 604 00:21:52,165 --> 00:21:54,550 That was done in the previous two teams. 605 00:21:54,550 --> 00:21:57,800 We got rid of the trigonometry. 606 00:21:57,800 --> 00:22:01,600 And also used a bounding box. 607 00:22:01,600 --> 00:22:04,310 Basically described in the previous team. 608 00:22:04,310 --> 00:22:07,160 And we also tried to use SSE. 609 00:22:07,160 --> 00:22:13,430 But as soon as the news about an AMD machine, 610 00:22:13,430 --> 00:22:14,927 we got rid of that. 611 00:22:14,927 --> 00:22:15,324 [LAUGHTER] 612 00:22:15,324 --> 00:22:18,300 SAMAN AMARASINGHE: Oh, my look at that speed. 613 00:22:18,300 --> 00:22:19,089 AUDIENCE: Whoa. 614 00:22:19,089 --> 00:22:20,466 SAMAN AMARASINGHE: Whoa. 615 00:22:20,466 --> 00:22:20,925 Woo! 616 00:22:20,925 --> 00:22:24,140 [LAUGHTER] 617 00:22:24,140 --> 00:22:24,445 OK. 618 00:22:24,445 --> 00:22:25,535 AUDIENCE: If you want to take-- could we take more time 619 00:22:25,535 --> 00:22:25,790 to talk about it-- 620 00:22:25,790 --> 00:22:26,920 SAMAN AMARASINGHE: Yeah, sure. 621 00:22:26,920 --> 00:22:27,130 Yes. 622 00:22:27,130 --> 00:22:28,945 AUDIENCE: Because I'm sure you guys have some things that are 623 00:22:28,945 --> 00:22:30,100 different than everybody else's. 624 00:22:30,100 --> 00:22:30,595 In fact, I know it. 625 00:22:30,595 --> 00:22:31,585 AUDIENCE: It's on. 626 00:22:31,585 --> 00:22:32,380 It's just on. 627 00:22:32,380 --> 00:22:32,920 SAMAN AMARASINGHE: It's on. 628 00:22:32,920 --> 00:22:33,180 It's on. 629 00:22:33,180 --> 00:22:34,460 It's already recording. 630 00:22:34,460 --> 00:22:37,630 So for the cache I use like a three-dimensional grid. 631 00:22:37,630 --> 00:22:40,420 Because I realized that as the old times, the torrents is 632 00:22:40,420 --> 00:22:42,910 like usually one, unless there's some outlier. 633 00:22:42,910 --> 00:22:44,820 But I don't see one in my case. 634 00:22:44,820 --> 00:22:45,950 So I use a three-dimensional grid. 635 00:22:45,950 --> 00:22:49,240 And use a lot of locks to prevent contention. 636 00:22:49,240 --> 00:22:51,780 So I do the same thing for photon map. 637 00:22:51,780 --> 00:22:54,470 I basically implement my own photon map and 638 00:22:54,470 --> 00:22:55,650 just get rid of theirs. 639 00:22:55,650 --> 00:22:57,940 And also, the same thing, like using a grid. 640 00:22:57,940 --> 00:23:00,300 And I spent a lot of time debugging. 641 00:23:00,300 --> 00:23:02,515 [LAUGHTER] 642 00:23:02,515 --> 00:23:06,490 AUDIENCE: And we also do some minor optimization. 643 00:23:06,490 --> 00:23:09,870 We implement the rendering crest as a reducer. 644 00:23:09,870 --> 00:23:12,112 So that we-- 645 00:23:12,112 --> 00:23:17,820 a hyper rod object So that every time Cilk steals some 646 00:23:17,820 --> 00:23:20,340 other's job, you will create a local view of 647 00:23:20,340 --> 00:23:21,650 the rendered object. 648 00:23:21,650 --> 00:23:28,200 And we found there is a artifact that-- because we are 649 00:23:28,200 --> 00:23:30,750 seeding the rendered object. 650 00:23:30,750 --> 00:23:33,090 The default that seed is two, right? 651 00:23:33,090 --> 00:23:38,810 And it will create some artifact in our image, so we 652 00:23:38,810 --> 00:23:42,780 use a random number to seed that rendered object. 653 00:23:42,780 --> 00:23:43,750 That's what we do. 654 00:23:43,750 --> 00:23:48,050 And also, we do something like we change the-- 655 00:23:48,050 --> 00:23:49,363 no, we don't have locate photon. 656 00:23:53,610 --> 00:23:54,620 Yeah OK. 657 00:23:54,620 --> 00:23:59,310 So we have done a lot of thing to improve the original photon 658 00:23:59,310 --> 00:24:03,415 med but after that we decide to change our implementation 659 00:24:03,415 --> 00:24:06,145 of photon med so we don't use that. 660 00:24:09,200 --> 00:24:10,450 OK. 661 00:24:13,870 --> 00:24:14,670 PROFESSOR 1: OK, good. 662 00:24:14,670 --> 00:24:15,740 Thank you. 663 00:24:15,740 --> 00:24:18,215 OK. 664 00:24:18,215 --> 00:24:20,170 OK, the suspense is on. 665 00:24:20,170 --> 00:24:21,460 So the final team. 666 00:24:27,620 --> 00:24:28,870 OK. 667 00:24:31,190 --> 00:24:34,050 STUDENT 8: So one of the first things that happened is that 668 00:24:34,050 --> 00:24:36,700 we looked at the code and, like, it was all a KD tree. 669 00:24:36,700 --> 00:24:37,980 And we're like, what's that? 670 00:24:37,980 --> 00:24:40,330 So we got rid of that immediately and we turned it 671 00:24:40,330 --> 00:24:41,280 into something-- 672 00:24:41,280 --> 00:24:42,950 I think the other groups might have talked about it, but we 673 00:24:42,950 --> 00:24:44,750 gave it a nifty marketing name, we 674 00:24:44,750 --> 00:24:46,470 called it a photon cube. 675 00:24:46,470 --> 00:24:50,310 And so we created lots of these. 676 00:24:50,310 --> 00:24:53,070 We partitioned the large cube environment into many small 677 00:24:53,070 --> 00:24:56,260 photon cubes so we could just jump in and look in the 678 00:24:56,260 --> 00:24:58,860 relative air vicinity of photons that 679 00:24:58,860 --> 00:25:00,630 you're looking for. 680 00:25:00,630 --> 00:25:00,850 STUDENT 9: Yeah. 681 00:25:00,850 --> 00:25:06,490 So this is like, when you do locate photon, you know the 682 00:25:06,490 --> 00:25:10,070 reference photon and you can create a sphere. 683 00:25:10,070 --> 00:25:15,360 So we can do constant time to find the boundary of the 684 00:25:15,360 --> 00:25:16,810 photon cube. 685 00:25:16,810 --> 00:25:22,400 Like go from x1 to x something, y to y and z to z. 686 00:25:22,400 --> 00:25:24,790 So then we don't have to traverse the tree. 687 00:25:24,790 --> 00:25:30,280 And we basically parallelized two part, so the one in render 688 00:25:30,280 --> 00:25:34,750 and another one in the trace photon that when we try to put 689 00:25:34,750 --> 00:25:38,180 the photon in the map. 690 00:25:38,180 --> 00:25:43,030 And also when we create a photon to the cube, there is a 691 00:25:43,030 --> 00:25:46,170 reused vector to start a photon in each cube. 692 00:25:46,170 --> 00:25:50,770 But then it's not really good, because when you put the 693 00:25:50,770 --> 00:25:53,510 photon in the cube, you have to, like, new photon. 694 00:25:53,510 --> 00:25:56,410 Which means that the memory, it's like spurts throughout 695 00:25:56,410 --> 00:25:57,860 your program. 696 00:25:57,860 --> 00:26:03,190 So after that we convert that into a block of memory. 697 00:26:03,190 --> 00:26:05,805 And we use that when we call locate photon. 698 00:26:08,390 --> 00:26:13,485 STUDENT 10: And for the last, about surfaces that intersect. 699 00:26:16,450 --> 00:26:18,930 There were four kinds of optimizations. 700 00:26:18,930 --> 00:26:27,140 First one is checking if the origin of ray is outside of 701 00:26:27,140 --> 00:26:32,980 the maximum bound and lower bound of surface, then and 702 00:26:32,980 --> 00:26:40,930 check whether by direction is outside or if it's toward the 703 00:26:40,930 --> 00:26:45,480 outside then we don't have to check, just return false. 704 00:26:45,480 --> 00:26:50,280 And second thing is like the square cube thing. 705 00:26:50,280 --> 00:26:58,220 When rays intersect we can make a boundary by directly 706 00:26:58,220 --> 00:27:06,330 mapping to the XYZ at the surface at the maximum 707 00:27:06,330 --> 00:27:10,530 boundary and lower boundary of the surface. 708 00:27:10,530 --> 00:27:18,850 And also when you iterate through the x index, we can 709 00:27:18,850 --> 00:27:27,930 cut off again because a bitmap. 710 00:27:27,930 --> 00:27:35,680 We only have to check with the indexes which correspond to 711 00:27:35,680 --> 00:27:41,880 ray's z index at that cube, at that x location. 712 00:27:41,880 --> 00:27:50,510 And the last thing was for each square we pre-computed 713 00:27:50,510 --> 00:28:02,200 the minimum value and maximum value of y and we compared the 714 00:28:02,200 --> 00:28:08,890 rays by value within that range. 715 00:28:08,890 --> 00:28:13,755 And we just cut off if it doesn't intersect. 716 00:28:13,755 --> 00:28:15,413 It doesn't overlap. 717 00:28:15,413 --> 00:28:16,400 PROFESSOR 1: OK. 718 00:28:16,400 --> 00:28:17,250 Good. 719 00:28:17,250 --> 00:28:19,120 OK, now this is the suspense part. 720 00:28:19,120 --> 00:28:19,550 OK. 721 00:28:19,550 --> 00:28:21,240 We are going to run this and see. 722 00:28:21,240 --> 00:28:24,090 The time to beat is 18.7. 723 00:28:24,090 --> 00:28:24,900 OK, right? 724 00:28:24,900 --> 00:28:25,630 Again. 725 00:28:25,630 --> 00:28:26,460 OK. 726 00:28:26,460 --> 00:28:27,140 There we go. 727 00:28:27,140 --> 00:28:28,560 Let's see. 728 00:28:28,560 --> 00:28:32,040 How many people think it's going to beat 18.7. 729 00:28:32,040 --> 00:28:32,660 18.6. 730 00:28:32,660 --> 00:28:33,510 OK. 731 00:28:33,510 --> 00:28:35,070 AUDIENCE: 8, 9, 10-- 732 00:28:35,070 --> 00:28:35,530 PROFESSOR 1: It's the excitement. 733 00:28:35,530 --> 00:28:36,370 Keep counting. 734 00:28:36,370 --> 00:28:36,900 OK. 735 00:28:36,900 --> 00:28:38,550 There we go. 736 00:28:38,550 --> 00:28:44,890 AUDIENCE: 13, 14, 15, 16, 17, 18, 19-- 737 00:28:44,890 --> 00:28:46,020 PROFESSOR 1: Oh, oh, oh. 738 00:28:46,020 --> 00:28:52,960 AUDIENCE: 21, 22, 23, 24, 25, 26. 739 00:28:52,960 --> 00:28:54,260 PROFESSOR 1: Oh, OK. 740 00:28:54,260 --> 00:28:57,170 It came out as 26.41. 741 00:28:57,170 --> 00:28:57,790 OK. 742 00:28:57,790 --> 00:29:01,070 [APPLAUSE] 743 00:29:01,070 --> 00:29:06,150 PROFESSOR 1: So you guys are the winners. 744 00:29:06,150 --> 00:29:07,400 Come up here. 745 00:29:11,620 --> 00:29:13,110 AUDIENCE: Danielle. 746 00:29:13,110 --> 00:29:14,222 PROFESSOR 1: Where's Danielle? 747 00:29:14,222 --> 00:29:17,614 AUDIENCE: Uh, Danielle disappeared. 748 00:29:17,614 --> 00:29:19,854 AUDIENCE: Yes, she did. 749 00:29:19,854 --> 00:29:20,550 PROFESSOR 1: OK. 750 00:29:20,550 --> 00:29:22,250 Let's see whether she can find her, so OK. 751 00:29:22,250 --> 00:29:23,650 Just hold on a second until-- 752 00:29:26,740 --> 00:29:27,990 AUDIENCE: Yep, there we go. 753 00:29:36,540 --> 00:29:38,395 PROFESSOR 1: You can put it down now, though. 754 00:29:41,810 --> 00:29:43,560 PRESENTER: So this one's the reference. 755 00:29:43,560 --> 00:29:45,820 PROFESSOR 1: Put a text meter in, that's better. 756 00:29:45,820 --> 00:29:46,680 AUDIENCE: Which one's reference? 757 00:29:46,680 --> 00:29:47,930 PRESENTER: This one's the reference. 758 00:29:52,780 --> 00:29:53,880 PROFESSOR 1: I think they don't align. 759 00:29:53,880 --> 00:29:57,200 Can you align them? 760 00:29:57,200 --> 00:30:00,070 PRESENTER: There we go. 761 00:30:00,070 --> 00:30:03,180 PROFESSOR 1: OK, so we have a winning team. 762 00:30:03,180 --> 00:30:05,070 PROFESSOR 2: We have a winning team. 763 00:30:05,070 --> 00:30:10,870 And so it's my pleasure to introduce Danielle Smith, who 764 00:30:10,870 --> 00:30:19,220 is the University relations for Akamai, and she's here to 765 00:30:19,220 --> 00:30:20,980 give you guys your prize. 766 00:30:20,980 --> 00:30:23,671 So we have three winners. 767 00:30:23,671 --> 00:30:25,770 DANIELLE: I just wanted to make an entrance 768 00:30:25,770 --> 00:30:28,640 is why I came in. 769 00:30:28,640 --> 00:30:29,160 Thank you. 770 00:30:29,160 --> 00:30:32,900 First of all, welcome to all of you guys for coming in, and 771 00:30:32,900 --> 00:30:34,610 we wanted to give you these prizes. 772 00:30:34,610 --> 00:30:38,810 So we have some cool iPod Nanos, which you may or may 773 00:30:38,810 --> 00:30:42,720 not have already, but it can't hurt to have another. 774 00:30:46,780 --> 00:30:49,690 They kind of burn out or you lose one or 775 00:30:49,690 --> 00:30:50,946 someone steps on it. 776 00:30:50,946 --> 00:30:55,610 [APPLAUSE] 777 00:30:55,610 --> 00:30:56,790 DANIELLE: Congratulations. 778 00:30:56,790 --> 00:30:58,230 You guys have worked really hard. 779 00:31:04,000 --> 00:31:05,120 PROFESSOR 1: Congratulations. 780 00:31:05,120 --> 00:31:06,140 Congratulations. 781 00:31:06,140 --> 00:31:08,740 Congratulations. 782 00:31:08,740 --> 00:31:10,410 OK. 783 00:31:10,410 --> 00:31:11,150 So what's next. 784 00:31:11,150 --> 00:31:11,970 That's it. 785 00:31:11,970 --> 00:31:12,790 We are done? 786 00:31:12,790 --> 00:31:13,120 DANIELLE: All righty. 787 00:31:13,120 --> 00:31:15,600 So we have plenty of food, it's going to be 788 00:31:15,600 --> 00:31:17,270 right on the atrium. 789 00:31:17,270 --> 00:31:20,370 I know that's the most exciting part. 790 00:31:20,370 --> 00:31:24,690 But it should be arriving in the next 10 to 15 minutes, so 791 00:31:24,690 --> 00:31:26,260 we have a few minutes. 792 00:31:26,260 --> 00:31:28,230 I thought maybe this would go a little bit longer. 793 00:31:28,230 --> 00:31:29,180 PROFESSOR 1: We do have a couple of 794 00:31:29,180 --> 00:31:30,900 things we can chat about. 795 00:31:30,900 --> 00:31:31,400 DANIELLE: Yeah. 796 00:31:31,400 --> 00:31:34,510 So just a couple of housekeeping things. 797 00:31:34,510 --> 00:31:37,810 If you need to use the ladies' room or the men's room, it's 798 00:31:37,810 --> 00:31:40,040 actually right outside that door. 799 00:31:40,040 --> 00:31:44,050 Out the double doors, you'll see it right there. 800 00:31:44,050 --> 00:31:47,150 I have invited some other Akamai employees to come and 801 00:31:47,150 --> 00:31:49,840 mingle and say hello to you guys, so I encourage you, if 802 00:31:49,840 --> 00:31:53,120 you see any faces that aren't familiar, to kind of go up and 803 00:31:53,120 --> 00:31:57,310 talk about your projects and introduce yourself. 804 00:31:57,310 --> 00:31:59,480 And thanks for coming. 805 00:31:59,480 --> 00:32:01,230 I know we wanted to switch it up a little bit because it was 806 00:32:01,230 --> 00:32:02,040 the last class. 807 00:32:02,040 --> 00:32:04,140 We wanted to get you out of the classroom and just kind of 808 00:32:04,140 --> 00:32:04,670 shake it up. 809 00:32:04,670 --> 00:32:07,490 So I'm glad that you came to join. 810 00:32:07,490 --> 00:32:08,050 PROFESSOR 1: And the knock tours. 811 00:32:08,050 --> 00:32:09,230 DANIELLE: And the knock tours. 812 00:32:09,230 --> 00:32:09,660 Thank you. 813 00:32:09,660 --> 00:32:13,160 So on the back of your name tags, there's a number, one, 814 00:32:13,160 --> 00:32:14,410 two or three. 815 00:32:18,100 --> 00:32:18,950 One, two or three. 816 00:32:18,950 --> 00:32:21,120 So that correlates with the knock tour that 817 00:32:21,120 --> 00:32:22,310 you're going to be on. 818 00:32:22,310 --> 00:32:24,240 We have to keep it to relatively small groups. 819 00:32:24,240 --> 00:32:28,620 So the first tour will be at 10 past 4, the second one will 820 00:32:28,620 --> 00:32:31,840 be at 4:40, and the last one will be at 5:10. 821 00:32:31,840 --> 00:32:33,550 PROFESSOR 1: I guess if we don't have too many people we 822 00:32:33,550 --> 00:32:35,000 might be able to compress some-- 823 00:32:35,000 --> 00:32:35,440 DANIELLE: Yes. 824 00:32:35,440 --> 00:32:36,310 PROFESSOR 1: So we'll see whether we 825 00:32:36,310 --> 00:32:38,100 can do that, compress-- 826 00:32:38,100 --> 00:32:38,360 DANIELLE: Yes. 827 00:32:38,360 --> 00:32:41,550 So I'll just call the first tour and you guys can go down. 828 00:32:41,550 --> 00:32:45,120 And obviously it's optional. 829 00:32:45,120 --> 00:32:46,900 Don't feel-- if you're not interested, you don't have to 830 00:32:46,900 --> 00:32:49,310 go on the knock tour. 831 00:32:49,310 --> 00:32:50,360 I think that's it. 832 00:32:50,360 --> 00:32:50,550 PROFESSOR 1: Good. 833 00:32:50,550 --> 00:32:51,615 Thank you. 834 00:32:51,615 --> 00:32:56,265 [APPLAUSE] 835 00:32:56,265 --> 00:32:58,070 PROFESSOR 1: We can talk about a little bit. 836 00:32:58,070 --> 00:32:59,720 So one thing. 837 00:32:59,720 --> 00:33:07,060 We are trying to get HKN feedback up to hopefully 90%, 838 00:33:07,060 --> 00:33:09,990 and we are right now at what, 11? 839 00:33:09,990 --> 00:33:10,980 PROFESSOR 2: No, we're a little bit higher. 840 00:33:10,980 --> 00:33:13,910 We're now at about 16 or so. 841 00:33:13,910 --> 00:33:14,550 PROFESSOR 1: 16. 842 00:33:14,550 --> 00:33:17,150 So that's a little more way to go from 16 to 90. 843 00:33:17,150 --> 00:33:20,790 I hope you guys go back and then fill out this survey. 844 00:33:20,790 --> 00:33:21,310 Very important. 845 00:33:21,310 --> 00:33:23,420 PROFESSOR 2: Please take a few minutes to do that. 846 00:33:23,420 --> 00:33:26,370 It really helps us in, even if you want to 847 00:33:26,370 --> 00:33:28,470 say bad things, OK? 848 00:33:28,470 --> 00:33:31,100 It really helps overall to give feedback and the 849 00:33:31,100 --> 00:33:33,300 department likes to see these things. 850 00:33:33,300 --> 00:33:34,530 Oh yeah, thanks. 851 00:33:34,530 --> 00:33:37,370 Likes to see how it is that people are 852 00:33:37,370 --> 00:33:38,530 responding to the courses. 853 00:33:38,530 --> 00:33:41,320 So if you hated the course, if you liked the course, in 854 00:33:41,320 --> 00:33:43,640 particular, we have some questions on there that are 855 00:33:43,640 --> 00:33:46,650 specific to how we teach the course next year. 856 00:33:46,650 --> 00:33:49,890 One of the ideas we have for next year is to introduce our 857 00:33:49,890 --> 00:33:53,190 recitation sections, which would focus 858 00:33:53,190 --> 00:33:55,300 on the use of tools. 859 00:33:55,300 --> 00:33:55,650 OK? 860 00:33:55,650 --> 00:33:58,200 So basically the conceptual stuff, much as we have the 861 00:33:58,200 --> 00:34:01,710 lectures now, but then also having something where it 862 00:34:01,710 --> 00:34:06,400 really takes you through each tool, and teaches how the use 863 00:34:06,400 --> 00:34:09,040 of those tools which would be taught once a week. 864 00:34:09,040 --> 00:34:12,280 So if you think that's a good idea, that's going to really 865 00:34:12,280 --> 00:34:14,449 help to have that kind of feedback. 866 00:34:14,449 --> 00:34:17,120 And it will certainly help the students who take it next year 867 00:34:17,120 --> 00:34:19,150 if we can persuade the department that that's worth 868 00:34:19,150 --> 00:34:22,389 staffing the sections next year. 869 00:34:22,389 --> 00:34:27,340 Also if you have any positive things to say about teaching 870 00:34:27,340 --> 00:34:30,030 assistants, that's a great place to put it. 871 00:34:30,030 --> 00:34:30,320 OK? 872 00:34:30,320 --> 00:34:33,949 If they helped you get through this term, this is a great 873 00:34:33,949 --> 00:34:36,760 place to say thank you and it only takes a few minutes. 874 00:34:36,760 --> 00:34:37,650 OK? 875 00:34:37,650 --> 00:34:41,380 So I'm sure that some of the TAs put in more than a few 876 00:34:41,380 --> 00:34:43,969 minutes, OK, on your thing. 877 00:34:43,969 --> 00:34:47,040 So to take a few minutes and say thank you on 878 00:34:47,040 --> 00:34:48,570 that form would be-- 879 00:34:48,570 --> 00:34:51,820 I'm sure they would very, very much appreciate. 880 00:34:51,820 --> 00:34:53,580 PROFESSOR 1: One thing, as Charles mentioned, what we are 881 00:34:53,580 --> 00:34:58,110 trying to do in recitation is do a little bit of programmer 882 00:34:58,110 --> 00:34:59,360 life skills. 883 00:34:59,360 --> 00:35:02,810 So I know all of you guys are probably very smart, can think 884 00:35:02,810 --> 00:35:05,920 about the complex algorithms and stuff like that. 885 00:35:05,920 --> 00:35:10,040 But there are a lot of tools that, it's not the smartness 886 00:35:10,040 --> 00:35:12,090 but you can spend hours trying to figure out. 887 00:35:12,090 --> 00:35:14,280 But if you know it, it will be useful. 888 00:35:14,280 --> 00:35:17,930 So what we are trying to do is have these recitations to say 889 00:35:17,930 --> 00:35:20,010 OK, how to use a debugger. 890 00:35:20,010 --> 00:35:23,800 And even how to change a makefile. 891 00:35:23,800 --> 00:35:25,130 Things like that. 892 00:35:25,130 --> 00:35:28,760 So one thing, until the food arrives, I'd like to say is, 893 00:35:28,760 --> 00:35:29,560 get some feedback. 894 00:35:29,560 --> 00:35:33,160 Think of what is a tool you'd like to know or like to learn, 895 00:35:33,160 --> 00:35:36,270 or something you think is very useful for people coming next 896 00:35:36,270 --> 00:35:37,110 year to learn. 897 00:35:37,110 --> 00:35:42,310 That if you have spent a lot of time worrying and you think 898 00:35:42,310 --> 00:35:44,910 you spent way too much time trying to understand, it would 899 00:35:44,910 --> 00:35:46,220 be easier for us to think about that. 900 00:35:46,220 --> 00:35:47,950 I mean, I would like to get your feedback. 901 00:35:47,950 --> 00:35:50,150 And also some of you probably will open up with some general 902 00:35:50,150 --> 00:35:52,922 feedback on class. 903 00:35:52,922 --> 00:35:56,820 AUDIENCE: I don't know if you want to repeat that. 904 00:35:56,820 --> 00:35:59,410 A more in depth thing on how to use git 905 00:35:59,410 --> 00:36:00,850 would be really useful. 906 00:36:00,850 --> 00:36:04,040 Because I know it has things to make your life easier, but 907 00:36:04,040 --> 00:36:06,802 I don't know how to use any of them. 908 00:36:06,802 --> 00:36:08,830 AUDIENCE: Yeah. women are always breaking the branches. 909 00:36:08,830 --> 00:36:11,160 And it's like, yeah, we maybe know how to do this and it is 910 00:36:11,160 --> 00:36:11,790 really easy. 911 00:36:11,790 --> 00:36:13,610 And then we're like, use this git command. 912 00:36:13,610 --> 00:36:15,434 And it's like, now your branch is broken. 913 00:36:15,434 --> 00:36:17,819 [LAUGHTER] 914 00:36:17,819 --> 00:36:18,300 PROFESSOR 2: Good. 915 00:36:18,300 --> 00:36:19,340 So git 916 00:36:19,340 --> 00:36:19,710 PROFESSOR 1: Yeah. 917 00:36:19,710 --> 00:36:22,480 I mean that's because those are interesting tools because, 918 00:36:22,480 --> 00:36:24,370 if you know everything right, you can do 919 00:36:24,370 --> 00:36:25,560 a lot of fun things. 920 00:36:25,560 --> 00:36:29,690 But if you do it wrong, you end up in huge mess that all 921 00:36:29,690 --> 00:36:31,590 you do is scored all over the place and you don't know. 922 00:36:31,590 --> 00:36:32,330 So yes. 923 00:36:32,330 --> 00:36:34,655 I mean I can relate to that. 924 00:36:34,655 --> 00:36:36,927 AUDIENCE: If you use git correctly, if you 925 00:36:36,927 --> 00:36:39,000 know how to use git-- 926 00:36:39,000 --> 00:36:43,190 If you learn how to use git you will find yourself using 927 00:36:43,190 --> 00:36:46,250 it even when you're working on a one person project. 928 00:36:46,250 --> 00:36:47,400 git is awesome. 929 00:36:47,400 --> 00:36:49,181 I can highly recommend learning it. 930 00:36:51,950 --> 00:36:53,920 AUDIENCE: What would be helpful is that telling us 931 00:36:53,920 --> 00:36:57,700 that you are running on an AMD box and AMD doesn't support 932 00:36:57,700 --> 00:36:59,905 SSE 4.1 instructions. 933 00:36:59,905 --> 00:37:03,090 [LAUGHTER] 934 00:37:03,090 --> 00:37:06,140 PROFESSOR 1: Yeah, I mean, this is supposed to be X86 935 00:37:06,140 --> 00:37:07,440 compatible, all those things. 936 00:37:07,440 --> 00:37:11,860 But I mean, some people learn the hard way that, OK, the 937 00:37:11,860 --> 00:37:13,760 word is not the same even though-- 938 00:37:13,760 --> 00:37:15,830 PROFESSOR 2: But that is part of the lesson of the course, 939 00:37:15,830 --> 00:37:19,090 is how do you make high performance portable? 940 00:37:19,090 --> 00:37:19,450 OK? 941 00:37:19,450 --> 00:37:25,080 And so what you choose or don't choose to use is-- 942 00:37:25,080 --> 00:37:27,140 But I agree. 943 00:37:27,140 --> 00:37:29,990 PROFESSOR 1: That's why we ran, we want to run it the 944 00:37:29,990 --> 00:37:33,510 night before because we knew things like this would happen. 945 00:37:33,510 --> 00:37:36,300 So we can at least give some time to say OK, look. 946 00:37:36,300 --> 00:37:36,975 Go change something. 947 00:37:36,975 --> 00:37:37,930 Were you able to fix that? 948 00:37:37,930 --> 00:37:38,500 OK. 949 00:37:38,500 --> 00:37:39,340 Good. 950 00:37:39,340 --> 00:37:40,766 So yes. 951 00:37:40,766 --> 00:37:41,520 PROFESSOR 2: Good. 952 00:37:41,520 --> 00:37:44,320 PROFESSOR 1: And sometimes the problem is, a lot of these 953 00:37:44,320 --> 00:37:47,595 small changes you don't know until you run into things like 954 00:37:47,595 --> 00:37:52,100 this and oh, somewhere in page 256 in the manual that there's 955 00:37:52,100 --> 00:37:53,550 a footnote say, oh, by the way. 956 00:37:53,550 --> 00:37:55,880 And that's what happens in there. 957 00:37:55,880 --> 00:37:57,650 I mean if you had listed everything that would be 958 00:37:57,650 --> 00:38:00,150 probably and entire encyclopedia of things that 959 00:38:00,150 --> 00:38:01,300 you will see. 960 00:38:01,300 --> 00:38:04,780 PROFESSOR 2: So one other thing that people ask about 961 00:38:04,780 --> 00:38:08,050 is, what comes after this course? 962 00:38:08,050 --> 00:38:09,010 OK? 963 00:38:09,010 --> 00:38:13,510 So next term Saman is teaching the compiler course. 964 00:38:13,510 --> 00:38:15,005 PROFESSOR 1: It's Martin. 965 00:38:15,005 --> 00:38:16,200 PROFESSOR 2: Are you teaching with him? 966 00:38:16,200 --> 00:38:16,495 PROFESSOR 1: No. 967 00:38:16,495 --> 00:38:17,475 PROFESSOR 2: Oh, you're not teaching. 968 00:38:17,475 --> 00:38:17,770 OK. 969 00:38:17,770 --> 00:38:19,110 I thought you were. 970 00:38:19,110 --> 00:38:19,810 OK. 971 00:38:19,810 --> 00:38:21,690 So in any case, compiler course is a 972 00:38:21,690 --> 00:38:22,550 good follow-on course. 973 00:38:22,550 --> 00:38:26,210 For those who haven't done 6.046, that's a good course 974 00:38:26,210 --> 00:38:29,180 and I'll be teaching that course next term. 975 00:38:29,180 --> 00:38:32,040 In addition, how many people here have done a UROP? 976 00:38:34,890 --> 00:38:35,710 Few of you. 977 00:38:35,710 --> 00:38:37,790 So let me encourage you to look for UROPs. 978 00:38:37,790 --> 00:38:40,730 You now have some skills that will make you really valuable. 979 00:38:40,730 --> 00:38:43,370 And in particular my group is looking for-- 980 00:38:43,370 --> 00:38:44,710 [LAUGHTER] 981 00:38:44,710 --> 00:38:48,070 PROFESSOR 2: Probably two more UROPs than I have already. 982 00:38:48,070 --> 00:38:51,390 Already Boone is one of my UROPs, started just a 983 00:38:51,390 --> 00:38:53,070 couple weeks ago. 984 00:38:53,070 --> 00:38:57,360 And so we do have some other projects in both architecture 985 00:38:57,360 --> 00:39:02,070 and in software-related things. 986 00:39:02,070 --> 00:39:02,920 And so. 987 00:39:02,920 --> 00:39:05,540 if you're interested, you go to my group's web page. 988 00:39:05,540 --> 00:39:09,560 It tells you five things you have to submit if you want to 989 00:39:09,560 --> 00:39:10,660 work in my group. 990 00:39:10,660 --> 00:39:10,950 OK? 991 00:39:10,950 --> 00:39:12,880 That includes things like samples of your code. 992 00:39:12,880 --> 00:39:15,580 Well, you ought to have that by now. 993 00:39:15,580 --> 00:39:16,250 And so forth. 994 00:39:16,250 --> 00:39:18,090 So let me encourage you to do that. 995 00:39:18,090 --> 00:39:23,330 And Saman also has active participation of 996 00:39:23,330 --> 00:39:24,670 UROPs in his group. 997 00:39:24,670 --> 00:39:24,950 PROFESSOR 1: Yeah. 998 00:39:24,950 --> 00:39:28,860 So my employees already started doing a 999 00:39:28,860 --> 00:39:29,790 project in my group. 1000 00:39:29,790 --> 00:39:32,890 And I'm also looking for a couple more people to do some 1001 00:39:32,890 --> 00:39:36,950 compiler, runtime system, and a bunch of high performance 1002 00:39:36,950 --> 00:39:38,980 type projects I have. 1003 00:39:38,980 --> 00:39:43,490 And also for future course, one course I want to also 1004 00:39:43,490 --> 00:39:45,670 mention is this IAP. 1005 00:39:45,670 --> 00:39:49,320 There's a course that is done with collaboration with VMware 1006 00:39:49,320 --> 00:39:53,550 to look at how to build scalable large systems using 1007 00:39:53,550 --> 00:39:56,480 this the Spring and Java platforms. 1008 00:39:56,480 --> 00:39:58,650 So if they're interested in trying to see how things were 1009 00:39:58,650 --> 00:40:02,040 running on one machine and run something that can scale up to 1010 00:40:02,040 --> 00:40:04,050 hundreds of machines. 1011 00:40:04,050 --> 00:40:07,490 If you have ideas of creating an I 8 with web 2.0, 1012 00:40:07,490 --> 00:40:09,330 interesting thing. 1013 00:40:09,330 --> 00:40:10,930 Here is an opportunity to do that. 1014 00:40:10,930 --> 00:40:15,590 So if you're looking for interesting IAP 1015 00:40:15,590 --> 00:40:16,630 courses, this is great. 1016 00:40:16,630 --> 00:40:18,830 PROFESSOR 2: I really encourage every single person 1017 00:40:18,830 --> 00:40:23,580 who completed this class to do a UROP with 1018 00:40:23,580 --> 00:40:25,430 somebody before you leave. 1019 00:40:25,430 --> 00:40:28,550 It's really a way of integrating your knowledge. 1020 00:40:28,550 --> 00:40:32,050 And it is one of the most valuable experiences that you 1021 00:40:32,050 --> 00:40:36,390 can have at MIT is to do a UROP for a professor and get 1022 00:40:36,390 --> 00:40:38,680 involved in the research of a group. 1023 00:40:38,680 --> 00:40:43,210 Because in some ways it's like this course, in that it 1024 00:40:43,210 --> 00:40:46,470 integrates knowledge from a lot of different sources. 1025 00:40:46,470 --> 00:40:48,140 And it isn't just one thing. 1026 00:40:48,140 --> 00:40:49,890 But even more than this course. 1027 00:40:49,890 --> 00:40:51,070 This course we still are dealing 1028 00:40:51,070 --> 00:40:52,320 with artificial things. 1029 00:40:52,320 --> 00:40:54,040 And in the researcher arena, you're 1030 00:40:54,040 --> 00:40:56,870 dealing with real problems. 1031 00:40:56,870 --> 00:41:01,900 So let me just once again encourage you to spend some 1032 00:41:01,900 --> 00:41:07,160 time getting a UROP and certainly looking 1033 00:41:07,160 --> 00:41:11,030 for AUPs and MEng. 1034 00:41:11,030 --> 00:41:13,400 How many people here are looking at MEng as a 1035 00:41:13,400 --> 00:41:14,982 possibility? 1036 00:41:14,982 --> 00:41:16,670 So a fair number. 1037 00:41:16,670 --> 00:41:17,560 Yeah, that's good. 1038 00:41:17,560 --> 00:41:19,530 That's great. 1039 00:41:19,530 --> 00:41:20,760 PROFESSOR 1: I want to add to that. 1040 00:41:20,760 --> 00:41:24,730 So these days there has been a big philosophical discussion 1041 00:41:24,730 --> 00:41:27,080 saying why do you have to have universities? 1042 00:41:27,080 --> 00:41:32,000 You go to OCW and sit home in your bedroom and you can 1043 00:41:32,000 --> 00:41:33,930 follow all these courses, and you don't have to 1044 00:41:33,930 --> 00:41:35,040 pay a mighty tuition. 1045 00:41:35,040 --> 00:41:38,460 And wouldn't that be good enough? 1046 00:41:38,460 --> 00:41:40,390 One part that's not good enough is this class. 1047 00:41:40,390 --> 00:41:42,230 So I mean think about it. 1048 00:41:42,230 --> 00:41:45,960 I mean you can't go get the OCW catalog and have this kind 1049 00:41:45,960 --> 00:41:46,970 of a dynamic. 1050 00:41:46,970 --> 00:41:48,220 There's no seventh floor. 1051 00:41:51,390 --> 00:41:52,810 All in OCW. 1052 00:41:52,810 --> 00:41:55,430 And you have from there to go and get motivated. 1053 00:41:55,430 --> 00:41:56,980 So that's one part of that. 1054 00:41:56,980 --> 00:42:03,080 PROFESSOR 2: There's no John or Reed or Eric or Josh to 1055 00:42:03,080 --> 00:42:05,990 respond quickly about what's going on. 1056 00:42:05,990 --> 00:42:06,640 PROFESSOR 1: That's one. 1057 00:42:06,640 --> 00:42:10,280 But I think one other thing that a lot of people miss when 1058 00:42:10,280 --> 00:42:13,740 they look at all of the curriculum and stuff like that 1059 00:42:13,740 --> 00:42:16,090 is the UROP ability. 1060 00:42:16,090 --> 00:42:19,890 So a lot of these people, that is something, it's very unique 1061 00:42:19,890 --> 00:42:23,080 to MIT and a lot of people benefit hugely with UROPs. 1062 00:42:23,080 --> 00:42:26,560 I have had UROPs who started with me as seniors. 1063 00:42:26,560 --> 00:42:30,040 By the time they are graduating with their MEng 1064 00:42:30,040 --> 00:42:32,480 they have two first out papers in the best 1065 00:42:32,480 --> 00:42:33,700 conference out there. 1066 00:42:33,700 --> 00:42:36,030 And everybody thinks, when they say they are looking for 1067 00:42:36,030 --> 00:42:38,000 a job, they are finishing their Ph.D and looking for 1068 00:42:38,000 --> 00:42:38,560 academic jobs. 1069 00:42:38,560 --> 00:42:38,730 No. 1070 00:42:38,730 --> 00:42:40,700 They are just finishing up their masters. 1071 00:42:40,700 --> 00:42:43,270 And I have a couple of students that managed to 1072 00:42:43,270 --> 00:42:46,870 become really expert in an area by being a UROP. 1073 00:42:46,870 --> 00:42:50,120 So they are finishing up at MIT as a generalist, saying 1074 00:42:50,120 --> 00:42:50,990 give me a job. 1075 00:42:50,990 --> 00:42:53,770 But you're finishing up and have some deep 1076 00:42:53,770 --> 00:42:55,750 knowledge in some area. 1077 00:42:55,750 --> 00:42:59,880 Sitting in and at the same level as most Ph.Ds or most 1078 00:42:59,880 --> 00:43:02,800 really deep practicing engineers in that area. 1079 00:43:02,800 --> 00:43:06,980 So that level, even if you don't do that, just seeing 1080 00:43:06,980 --> 00:43:08,900 what happens in a research group, being 1081 00:43:08,900 --> 00:43:11,540 participating on that. 1082 00:43:11,540 --> 00:43:13,980 Pushing, seeing something to the maximum limit. 1083 00:43:13,980 --> 00:43:16,950 I mean in the class, that's a limit. 1084 00:43:16,950 --> 00:43:19,670 I mean even though this class is somewhat open, says make it 1085 00:43:19,670 --> 00:43:21,200 run as fast as possible. 1086 00:43:21,200 --> 00:43:23,830 But most of the time in the class, it's like, we give you 1087 00:43:23,830 --> 00:43:26,650 something, if you made that, OK, you're done with it. 1088 00:43:26,650 --> 00:43:27,530 In research, there's no limit. 1089 00:43:27,530 --> 00:43:30,175 You really, really push your boundaries. 1090 00:43:30,175 --> 00:43:31,130 What's that? 1091 00:43:31,130 --> 00:43:32,600 PROFESSOR 2: So what do we have here, John? 1092 00:43:32,600 --> 00:43:36,620 JOHN: I counted in my mailbox how many messages came from 1093 00:43:36,620 --> 00:43:40,580 6.172 staff, and it's about 3,500 over the 1094 00:43:40,580 --> 00:43:42,960 course of this term. 1095 00:43:42,960 --> 00:43:44,692 PROFESSOR 2: Wow. 1096 00:43:44,692 --> 00:43:49,460 [APPLAUSE] 1097 00:43:49,460 --> 00:43:50,555 PROFESSOR 1: How much time-- 1098 00:43:50,555 --> 00:43:53,350 PROFESSOR 2: So, this is also, as Saman mentions, a 1099 00:43:53,350 --> 00:43:55,100 programmer life skills course. 1100 00:43:55,100 --> 00:43:58,810 And one of the things that you should get used to in life is 1101 00:43:58,810 --> 00:44:00,760 thanking people who help you. 1102 00:44:00,760 --> 00:44:01,110 OK? 1103 00:44:01,110 --> 00:44:06,770 I think that all of the MIT POSSE members, all the people 1104 00:44:06,770 --> 00:44:11,530 who devoted, volunteered their time to help you, could really 1105 00:44:11,530 --> 00:44:17,350 appreciate an email that says thank you and what exactly you 1106 00:44:17,350 --> 00:44:18,960 feel you learned from them. 1107 00:44:18,960 --> 00:44:19,500 OK? 1108 00:44:19,500 --> 00:44:21,250 Because it's one thing to just say 1109 00:44:21,250 --> 00:44:23,500 thanks, so long, et cetera. 1110 00:44:23,500 --> 00:44:28,270 In addition, these people are contacts, part of your network 1111 00:44:28,270 --> 00:44:33,125 of understanding what the world of software developers 1112 00:44:33,125 --> 00:44:38,490 is all about, and can serve as useful contacts to keep. 1113 00:44:38,490 --> 00:44:40,620 How many people use a service like LinkedIn 1114 00:44:40,620 --> 00:44:41,580 or something to-- 1115 00:44:41,580 --> 00:44:43,280 You probably all you mostly use Facebook. 1116 00:44:43,280 --> 00:44:45,410 Anybody use LinkedIn at this point? 1117 00:44:45,410 --> 00:44:47,180 So many professionals use-- 1118 00:44:47,180 --> 00:44:50,380 I don't want to pitch for LinkedIn, but it is one of the 1119 00:44:50,380 --> 00:44:53,470 services that lots of people are on. 1120 00:44:53,470 --> 00:44:56,990 So what are some of the other services that people use for 1121 00:44:56,990 --> 00:44:58,210 professional contacts? 1122 00:44:58,210 --> 00:44:59,524 AUDIENCE: The only thing people try to 1123 00:44:59,524 --> 00:45:00,840 contact me on is LinkedIn. 1124 00:45:00,840 --> 00:45:01,590 PROFESSOR 2: Yeah. 1125 00:45:01,590 --> 00:45:04,870 So, good idea to start connecting and building a 1126 00:45:04,870 --> 00:45:08,770 network of people who you know and who can answer 1127 00:45:08,770 --> 00:45:10,280 questions for you. 1128 00:45:10,280 --> 00:45:10,660 OK? 1129 00:45:10,660 --> 00:45:13,410 Such as, gee, I'm considering these two kinds of job offers. 1130 00:45:13,410 --> 00:45:14,470 What should I be looking for? 1131 00:45:14,470 --> 00:45:16,660 It might be good to get a professional software 1132 00:45:16,660 --> 00:45:18,350 engineer's input to that. 1133 00:45:18,350 --> 00:45:18,580 OK? 1134 00:45:18,580 --> 00:45:19,460 Because you know these folks. 1135 00:45:19,460 --> 00:45:21,150 You've had a few meetings with them. 1136 00:45:21,150 --> 00:45:21,480 OK? 1137 00:45:21,480 --> 00:45:22,380 And they know you. 1138 00:45:22,380 --> 00:45:26,150 And they may be able to say here's my take on that, as 1139 00:45:26,150 --> 00:45:28,920 well as getting input from your family and your friends 1140 00:45:28,920 --> 00:45:33,710 and your professors and other people that you know. 1141 00:45:33,710 --> 00:45:42,170 But I do think that courtesy goes a long way in life. 1142 00:45:42,170 --> 00:45:44,930 And they really have, these are all people, as I say, who 1143 00:45:44,930 --> 00:45:46,620 spent time looking over your code. 1144 00:45:46,620 --> 00:45:48,530 And you should have heard some of the comments we got from 1145 00:45:48,530 --> 00:45:50,790 them after project one. 1146 00:45:50,790 --> 00:45:53,830 Oh my God, they have a single letter variable names for the 1147 00:45:53,830 --> 00:45:54,590 whole thing. 1148 00:45:54,590 --> 00:45:57,510 Or, what are you teaching these students? 1149 00:45:57,510 --> 00:46:01,450 And I said no, this is exactly why we want you there. 1150 00:46:01,450 --> 00:46:02,380 OK? 1151 00:46:02,380 --> 00:46:06,350 So I think that if you feel in particular, whether or not you 1152 00:46:06,350 --> 00:46:08,110 feel you got anything out of it, OK? 1153 00:46:08,110 --> 00:46:10,550 But in particular, if you did get something out of it, it 1154 00:46:10,550 --> 00:46:14,100 would be really good idea to not forget to send some email 1155 00:46:14,100 --> 00:46:16,330 off to thank them. 1156 00:46:19,394 --> 00:46:22,030 PROFESSOR 1: OK, we want to get some feedback from them. 1157 00:46:22,030 --> 00:46:22,470 PROFESSOR 2: Sure. 1158 00:46:22,470 --> 00:46:23,130 PROFESSOR 1: Have open mic? 1159 00:46:23,130 --> 00:46:23,660 PROFESSOR 2: Open mic? 1160 00:46:23,660 --> 00:46:24,970 PROFESSOR 1: Yeah. 1161 00:46:24,970 --> 00:46:26,860 PROFESSOR 2: Actually, open mic, let's do it like this. 1162 00:46:26,860 --> 00:46:29,400 Because I think it'll be easier and better for the 1163 00:46:29,400 --> 00:46:33,190 video if we just have people come up and-- 1164 00:46:33,190 --> 00:46:35,435 PROFESSOR 1: I don't know that they're going to be too 1165 00:46:35,435 --> 00:46:35,590 intimidating. 1166 00:46:35,590 --> 00:46:38,290 PROFESSOR 2: That's OK. 1167 00:46:38,290 --> 00:46:39,070 They can handle it. 1168 00:46:39,070 --> 00:46:40,370 These are seasoned-- 1169 00:46:44,130 --> 00:46:46,790 So, comments about the class. 1170 00:46:46,790 --> 00:46:48,315 PROFESSOR 1: How we can improve? 1171 00:46:48,315 --> 00:46:49,460 We'd really like to hear that. 1172 00:46:49,460 --> 00:46:52,720 I mean things you liked and didn't like. 1173 00:46:52,720 --> 00:46:57,620 For example, these absolute gradings we did for projects 1174 00:46:57,620 --> 00:47:02,300 had passionate support and control let's say before. 1175 00:47:02,300 --> 00:47:05,370 I mean, did you guys feel giving the top marke for the 1176 00:47:05,370 --> 00:47:08,400 fastest and having at least a log scale, no, we didn't do a 1177 00:47:08,400 --> 00:47:11,790 linear scale going down. 1178 00:47:11,790 --> 00:47:12,540 I mean, hey. 1179 00:47:12,540 --> 00:47:14,270 Was it motivating or demotivating? 1180 00:47:16,900 --> 00:47:18,750 PROFESSOR 2: So what do people think was the most valuable 1181 00:47:18,750 --> 00:47:20,510 thing out of the course? 1182 00:47:20,510 --> 00:47:23,610 I've had dinner with a few of you, and you were very 1183 00:47:23,610 --> 00:47:26,470 opinionated over dinner. 1184 00:47:26,470 --> 00:47:30,480 So I don't mind hearing those comments again, but making 1185 00:47:30,480 --> 00:47:32,360 them for other people. 1186 00:47:32,360 --> 00:47:33,680 So I know it's intimidating, but what I want 1187 00:47:33,680 --> 00:47:34,520 to do is get a line. 1188 00:47:34,520 --> 00:47:36,360 As one person's talking I want other 1189 00:47:36,360 --> 00:47:37,400 people to line up behind. 1190 00:47:37,400 --> 00:47:40,420 And just give us some feedback. 1191 00:47:40,420 --> 00:47:41,260 PROFESSOR 1: Come on. 1192 00:47:41,260 --> 00:47:42,740 PROFESSOR 2: OK, come on, come on, come on, come on. 1193 00:47:42,740 --> 00:47:43,270 Who's brave? 1194 00:47:43,270 --> 00:47:44,270 Yeah, yeah, yeah yeah. 1195 00:47:44,270 --> 00:47:47,130 You got halfway of your seat. 1196 00:47:47,130 --> 00:47:47,560 Yeah. 1197 00:47:47,560 --> 00:47:48,330 PROFESSOR 1: Yeah, come on. 1198 00:47:48,330 --> 00:47:49,350 PROFESSOR 2: I'm sure you have an opinion. 1199 00:47:49,350 --> 00:47:51,235 Who here does not have an opinion? 1200 00:47:51,235 --> 00:47:51,700 PROFESSOR 1: Sure. 1201 00:47:51,700 --> 00:47:52,630 Yeah. 1202 00:47:52,630 --> 00:47:54,030 PROFESSOR 2: Yeah, yeah, good. 1203 00:47:54,030 --> 00:47:56,820 And then you can line up right-- 1204 00:47:56,820 --> 00:47:58,590 there you go. 1205 00:47:58,590 --> 00:47:59,150 OK? 1206 00:47:59,150 --> 00:48:00,350 There you go. 1207 00:48:00,350 --> 00:48:04,580 And then others can come up behind as they're motivated. 1208 00:48:04,580 --> 00:48:05,550 AUDIENCE: Good afternoon. 1209 00:48:05,550 --> 00:48:08,240 First of all, I'd like to thank the professors and the 1210 00:48:08,240 --> 00:48:09,320 TAs for this opportunity. 1211 00:48:09,320 --> 00:48:11,310 This is absolutely wonderful. 1212 00:48:11,310 --> 00:48:13,460 And all the students I worked with. 1213 00:48:13,460 --> 00:48:14,710 You were all great. 1214 00:48:17,040 --> 00:48:19,780 I just wanted to say when you were talking about what the 1215 00:48:19,780 --> 00:48:23,030 most valuable thing in the class people thought was, I 1216 00:48:23,030 --> 00:48:25,290 don't even know how to pick. 1217 00:48:25,290 --> 00:48:30,530 Of the projects that we worked on, or that they worked on, I 1218 00:48:30,530 --> 00:48:34,440 looked at every one and just thought, what of the content 1219 00:48:34,440 --> 00:48:38,700 of this project have I used just in the past year? 1220 00:48:38,700 --> 00:48:41,230 And the amount of stuff that I've made significant use of 1221 00:48:41,230 --> 00:48:47,500 that you guys covered has been at least 75%, maybe even more, 1222 00:48:47,500 --> 00:48:49,100 of the material of the class. 1223 00:48:49,100 --> 00:48:51,210 And that means that if you look over multiple engineers, 1224 00:48:51,210 --> 00:48:55,580 you probably pretty quickly get coverage of 100% of it. 1225 00:48:55,580 --> 00:48:59,750 All these projects, profiling, parallelism, algorithms, bit 1226 00:48:59,750 --> 00:49:04,640 hacks, these are all things that I use on. 1227 00:49:04,640 --> 00:49:07,033 if not a daily basis, then a weekly basis. 1228 00:49:07,033 --> 00:49:07,920 PROFESSOR 2: OK. 1229 00:49:07,920 --> 00:49:09,330 Good. 1230 00:49:09,330 --> 00:49:09,827 Thanks. 1231 00:49:09,827 --> 00:49:10,821 Thank you. 1232 00:49:10,821 --> 00:49:13,810 [APPLAUSE] 1233 00:49:13,810 --> 00:49:16,370 AUDIENCE: So for me, like, I really had no experience with 1234 00:49:16,370 --> 00:49:20,130 C or C++ or really distributed version 1235 00:49:20,130 --> 00:49:21,770 control before this class. 1236 00:49:21,770 --> 00:49:24,440 So a lot of my time I think was spent kind of learning the 1237 00:49:24,440 --> 00:49:26,210 basics of that. 1238 00:49:26,210 --> 00:49:27,800 I spent a lot of time initially learning the basics 1239 00:49:27,800 --> 00:49:30,280 like pointer arithmetic and that kind of stuff. 1240 00:49:30,280 --> 00:49:32,330 And then a lot of time learning the profiling tools. 1241 00:49:32,330 --> 00:49:35,860 So I wish, I really do wish more time was spent kind of-- 1242 00:49:35,860 --> 00:49:38,170 well, your recitation, I think, would be a good way to 1243 00:49:38,170 --> 00:49:39,810 really get that out of the way. 1244 00:49:39,810 --> 00:49:42,300 Because the algorithmic stuff was more easy for me, which I 1245 00:49:42,300 --> 00:49:43,245 thought was kind of ridiculous. 1246 00:49:43,245 --> 00:49:44,190 You know? 1247 00:49:44,190 --> 00:49:45,660 [LAUGHTER] 1248 00:49:45,660 --> 00:49:48,250 AUDIENCE: The fact that these tools are what's holding back, 1249 00:49:48,250 --> 00:49:51,050 that I have to spend a lot of time learning. 1250 00:49:51,050 --> 00:49:53,000 PROFESSOR 1: This is actually something very interesting 1251 00:49:53,000 --> 00:49:55,200 people have observed. 1252 00:49:55,200 --> 00:49:58,720 So if you do physics problems or math problems, if you run 1253 00:49:58,720 --> 00:50:02,550 into an issue, after a certain amount of time you will just 1254 00:50:02,550 --> 00:50:04,090 go ask somebody. 1255 00:50:04,090 --> 00:50:08,500 But in programming, people seem to go on and on and on 1256 00:50:08,500 --> 00:50:10,760 trying to debug this simple thing. 1257 00:50:10,760 --> 00:50:15,830 And part of that, part of what we try to get is also not just 1258 00:50:15,830 --> 00:50:19,930 all the cool algorithms and stuff like that. 1259 00:50:19,930 --> 00:50:21,490 To give you a process. 1260 00:50:21,490 --> 00:50:23,480 Because there are times when you start saying this program 1261 00:50:23,480 --> 00:50:24,940 is slow, what you do? 1262 00:50:24,940 --> 00:50:27,130 And I think that's a missing part sometimes about the 1263 00:50:27,130 --> 00:50:28,690 process of debugging. 1264 00:50:28,690 --> 00:50:30,980 If the program doesn't work, what do you do? 1265 00:50:30,980 --> 00:50:31,870 Where do you start? 1266 00:50:31,870 --> 00:50:34,680 I think that's why we are trying to do a little bit of, 1267 00:50:34,680 --> 00:50:36,670 basically, these life skills. 1268 00:50:36,670 --> 00:50:38,760 AUDIENCE: It was great to learn but it was more 1269 00:50:38,760 --> 00:50:41,150 stressful to learn. 1270 00:50:41,150 --> 00:50:43,630 I'm not as willing to ask as a lot of people, so it's hard 1271 00:50:43,630 --> 00:50:44,440 for me to-- 1272 00:50:44,440 --> 00:50:45,750 PROFESSOR 1: So one thing we're 1273 00:50:45,750 --> 00:50:46,650 trying to do is probably-- 1274 00:50:46,650 --> 00:50:47,530 PROFESSOR 2: That's great feedback. 1275 00:50:47,530 --> 00:50:51,130 PROFESSOR 2: We will try to formalize next year the 1276 00:50:51,130 --> 00:50:53,160 seventh floor lounge, because a lot of people 1277 00:50:53,160 --> 00:50:54,520 who came there benefited. 1278 00:50:54,520 --> 00:50:55,940 But have it a little bit more. 1279 00:50:55,940 --> 00:50:59,610 And also get a little bit more life skills type 1280 00:50:59,610 --> 00:51:00,470 things early on. 1281 00:51:00,470 --> 00:51:02,330 Like if you find a problem, what will happen? 1282 00:51:02,330 --> 00:51:03,770 AUDIENCE: It could be a lot longer than that. 1283 00:51:03,770 --> 00:51:04,250 PROFESSOR 1: Yeah. 1284 00:51:04,250 --> 00:51:06,220 PROFESSOR 2: Yes, so that's our goal, is to make it so 1285 00:51:06,220 --> 00:51:08,880 that people come up to speed more quickly. 1286 00:51:08,880 --> 00:51:13,260 But in some sense, another goal but I have here, next 1287 00:51:13,260 --> 00:51:16,760 year, is that the C students will stay in the class. 1288 00:51:16,760 --> 00:51:17,050 OK? 1289 00:51:17,050 --> 00:51:21,810 So what happened is most of the C students dropped out. 1290 00:51:21,810 --> 00:51:23,900 So in case you want to know, most people are going to get 1291 00:51:23,900 --> 00:51:25,210 A's and B's. 1292 00:51:25,210 --> 00:51:26,130 OK? 1293 00:51:26,130 --> 00:51:27,810 So most of the C students dropped out. 1294 00:51:27,810 --> 00:51:30,270 And I would like to have people complete the course, 1295 00:51:30,270 --> 00:51:33,680 even the C students, feeling that it's useful to complete 1296 00:51:33,680 --> 00:51:34,930 the course. 1297 00:51:36,760 --> 00:51:40,320 AUDIENCE: So I think again, as the person before me, I 1298 00:51:40,320 --> 00:51:40,980 learned a lot. 1299 00:51:40,980 --> 00:51:43,990 I hadn't had almost any experience in C or 1300 00:51:43,990 --> 00:51:45,620 C++ before the class. 1301 00:51:45,620 --> 00:51:46,700 I had some experience with git. 1302 00:51:46,700 --> 00:51:49,060 But I think that the class has a lot to offer. 1303 00:51:49,060 --> 00:51:50,720 There's a lot of content covered. 1304 00:51:50,720 --> 00:51:55,220 And I wish that, for example, there are things that I wish 1305 00:51:55,220 --> 00:51:58,160 that I could have learned more about, how to implement in a 1306 00:51:58,160 --> 00:51:59,260 formal way. 1307 00:51:59,260 --> 00:52:00,990 Things like SSE instructions. 1308 00:52:00,990 --> 00:52:05,265 So I feel that like there was a clear cut off of people who 1309 00:52:05,265 --> 00:52:07,880 had a lot of experience and they could be like, OK, I know 1310 00:52:07,880 --> 00:52:10,420 how to do assembly, I know how to do other things, and if I 1311 00:52:10,420 --> 00:52:12,280 want to optimize this function I can, whatever. 1312 00:52:12,280 --> 00:52:13,190 Write it down. 1313 00:52:13,190 --> 00:52:17,180 And then there's these other people that don't have that 1314 00:52:17,180 --> 00:52:21,066 much experience that in a class it mentions this is how 1315 00:52:21,066 --> 00:52:23,850 you use SSE or compiler optimizations. 1316 00:52:23,850 --> 00:52:27,870 It's kind of mentioned but not really more in depth. 1317 00:52:27,870 --> 00:52:31,190 This is a case of how do you actually do this in real life? 1318 00:52:31,190 --> 00:52:33,950 I mean, I think maybe the examples given in class were 1319 00:52:33,950 --> 00:52:35,410 useful but very superfluous. 1320 00:52:35,410 --> 00:52:37,340 Like you don't really know. 1321 00:52:37,340 --> 00:52:40,470 I know that I was looking through other projects that 1322 00:52:40,470 --> 00:52:42,750 were similar to ours for the final. 1323 00:52:42,750 --> 00:52:45,810 And I think it's a class that you taught in IAP. 1324 00:52:45,810 --> 00:52:47,960 There was a team of people that did a ray tracer in the 1325 00:52:47,960 --> 00:52:49,010 multi-programming. 1326 00:52:49,010 --> 00:52:52,630 And they used SSE and CMD everywhere. 1327 00:52:52,630 --> 00:52:55,090 They packaged everything. 1328 00:52:55,090 --> 00:52:57,670 But that's something that I said, it'll be really awesome 1329 00:52:57,670 --> 00:53:00,510 to do, but I have no idea how to start doing it. 1330 00:53:00,510 --> 00:53:03,940 And I think that there's still a lot of room to actually 1331 00:53:03,940 --> 00:53:05,660 apply the concepts that are trying to be taught. 1332 00:53:05,660 --> 00:53:07,710 PROFESSOR 2: I think it's our intention actually to increase 1333 00:53:07,710 --> 00:53:10,235 that part of the course, the data 1334 00:53:10,235 --> 00:53:12,030 parallel part of the course. 1335 00:53:12,030 --> 00:53:13,690 Which I think we'll be able to do. 1336 00:53:13,690 --> 00:53:17,000 One of our concerns about adding material has been, OK, 1337 00:53:17,000 --> 00:53:18,500 that means you guys have to learn it too. 1338 00:53:22,340 --> 00:53:26,720 But I think that if we're able to reduce the workload of the 1339 00:53:26,720 --> 00:53:30,430 learning of the tools by having recitations, we then 1340 00:53:30,430 --> 00:53:36,420 can look at adding other material, and expect that the 1341 00:53:36,420 --> 00:53:39,270 load on students won't go up. 1342 00:53:39,270 --> 00:53:39,480 AUDIENCE: Right. 1343 00:53:39,480 --> 00:53:40,870 I mean even what I want to say. 1344 00:53:40,870 --> 00:53:43,510 It's not even adding material, what I think. 1345 00:53:43,510 --> 00:53:46,080 I feel that I was going to class, learning all of these 1346 00:53:46,080 --> 00:53:46,670 cool things. 1347 00:53:46,670 --> 00:53:48,950 And then I was looking at my project and it's like well, 1348 00:53:48,950 --> 00:53:50,610 these are the things that I know how to do. 1349 00:53:50,610 --> 00:53:51,610 And I know that they mentioned all these 1350 00:53:51,610 --> 00:53:52,580 other things in class. 1351 00:53:52,580 --> 00:53:56,980 I don't know how to make them in my project. 1352 00:53:56,980 --> 00:53:57,720 PROFESSOR 2: Great comment. 1353 00:53:57,720 --> 00:54:01,130 PROFESSOR 1: So I think one thing both good and bad about 1354 00:54:01,130 --> 00:54:04,340 this class is what happened in-- 1355 00:54:04,340 --> 00:54:05,550 I think it applied to all of you. 1356 00:54:05,550 --> 00:54:09,810 When you try to teach computer science, you get people who 1357 00:54:09,810 --> 00:54:12,450 are for the first time they are writing any piece of code 1358 00:54:12,450 --> 00:54:14,120 more than 20 lines. 1359 00:54:14,120 --> 00:54:18,170 And you get people who are checking in code for Apache. 1360 00:54:18,170 --> 00:54:21,660 And you have that entire range of people in the class. 1361 00:54:21,660 --> 00:54:23,440 So how do you teach everybody? 1362 00:54:23,440 --> 00:54:26,500 And a lot of times when you give a fixed project, either 1363 00:54:26,500 --> 00:54:29,290 somebody's completely struggling to finish that, or 1364 00:54:29,290 --> 00:54:30,360 they are like in a day is done. 1365 00:54:30,360 --> 00:54:31,510 They are like, so what's this? 1366 00:54:31,510 --> 00:54:32,150 What's new? 1367 00:54:32,150 --> 00:54:35,150 The thing about performance is, asked lot of people, 1368 00:54:35,150 --> 00:54:36,830 figured out there's no end to it. 1369 00:54:36,830 --> 00:54:38,820 And you can keep doing it, you can do more, 1370 00:54:38,820 --> 00:54:40,120 you can do more deeper. 1371 00:54:40,120 --> 00:54:41,440 So the nice thing about-- 1372 00:54:41,440 --> 00:54:43,580 one thing about this class is that there's something for 1373 00:54:43,580 --> 00:54:45,080 everybody in that. 1374 00:54:45,080 --> 00:54:47,715 So if you are struggling still, if you're learning, you 1375 00:54:47,715 --> 00:54:49,540 can still get to someplace, learn a lot. 1376 00:54:49,540 --> 00:54:53,420 But if you have done that when you are in the fourth grade, 1377 00:54:53,420 --> 00:54:55,540 you can still go and do something more, push that. 1378 00:54:55,540 --> 00:54:58,140 So we try to keep that balance in there. 1379 00:54:58,140 --> 00:54:59,450 So we don't want to bore anybody. 1380 00:54:59,450 --> 00:55:01,860 And also we don't want a lot of people dropping out of the 1381 00:55:01,860 --> 00:55:04,470 class either. 1382 00:55:04,470 --> 00:55:06,650 AUDIENCE: So continuing on with what other people said, I 1383 00:55:06,650 --> 00:55:08,750 also ran into the same problems with that. 1384 00:55:08,750 --> 00:55:10,440 Just the syntax, just the tools. 1385 00:55:10,440 --> 00:55:14,140 So I guess I'll start off thanking John and Reed, 1386 00:55:14,140 --> 00:55:17,330 they're really fast and good at what they're doing. 1387 00:55:17,330 --> 00:55:20,070 And I feel like I've asked a lot of dumb questions, and 1388 00:55:20,070 --> 00:55:23,488 they're good at answering those. 1389 00:55:23,488 --> 00:55:26,356 [APPLAUSE] 1390 00:55:26,356 --> 00:55:30,560 PROFESSOR 2: So John and Reed and Josh all took 1391 00:55:30,560 --> 00:55:32,500 the class last year. 1392 00:55:32,500 --> 00:55:32,910 OK? 1393 00:55:32,910 --> 00:55:36,040 And it's amazing, if you ask John how he did 1394 00:55:36,040 --> 00:55:38,619 on the final project-- 1395 00:55:38,619 --> 00:55:40,890 [LAUGHTER] 1396 00:55:40,890 --> 00:55:42,380 PROFESSOR 2: He didn't do so well. 1397 00:55:42,380 --> 00:55:43,580 OK? 1398 00:55:43,580 --> 00:55:44,780 But it's amazing. 1399 00:55:44,780 --> 00:55:47,260 You'll discover, it's amazing what you guys are going to 1400 00:55:47,260 --> 00:55:50,440 learn next semester after being out of the class. 1401 00:55:50,440 --> 00:55:52,400 Because you're on a path to learning this stuff for 1402 00:55:52,400 --> 00:55:53,800 yourself now. 1403 00:55:53,800 --> 00:55:54,080 OK? 1404 00:55:54,080 --> 00:55:56,280 And you'll find that in all kinds of things you do that 1405 00:55:56,280 --> 00:55:58,730 all these skills, you can keep building them. 1406 00:55:58,730 --> 00:56:02,530 We will definitely be looking for TAs next fall. 1407 00:56:02,530 --> 00:56:05,910 And so people who are interested should-- 1408 00:56:05,910 --> 00:56:09,710 who are going to be MENGs should-- 1409 00:56:09,710 --> 00:56:12,840 and even if you're undergraduate, you're still 1410 00:56:12,840 --> 00:56:15,070 allowed to work hourly for the class. 1411 00:56:15,070 --> 00:56:18,530 In fact, that's what John is doing. 1412 00:56:18,530 --> 00:56:21,990 So if you're interested, please let us know. 1413 00:56:21,990 --> 00:56:23,010 Please let us know. 1414 00:56:23,010 --> 00:56:29,230 PROFESSOR 1: So you can have this nice experience as a TA. 1415 00:56:29,230 --> 00:56:32,010 AUDIENCE: Yeah, so, and then I want to say something that I 1416 00:56:32,010 --> 00:56:34,770 really love about this course. 1417 00:56:34,770 --> 00:56:37,410 I feel like it's such an integrated experience. 1418 00:56:37,410 --> 00:56:42,340 It's, maybe except project one, everything after that is, 1419 00:56:42,340 --> 00:56:45,450 you get a piece of code, as you would normally, and then 1420 00:56:45,450 --> 00:56:48,410 everything is within your bounds of-- 1421 00:56:48,410 --> 00:56:49,980 you can do anything that you want. 1422 00:56:49,980 --> 00:56:53,270 So I really like how it's not limited to like, oh, we're on 1423 00:56:53,270 --> 00:56:57,040 this topic so we're going to write a little algorithm that 1424 00:56:57,040 --> 00:57:00,090 implements this particular algorithm, and then move on to 1425 00:57:00,090 --> 00:57:02,560 next unit, and then nothing ever comes together. 1426 00:57:02,560 --> 00:57:05,780 So that's something I really love about this course. 1427 00:57:05,780 --> 00:57:12,210 And the next thing I want to say is the beta grading. 1428 00:57:12,210 --> 00:57:14,900 For project three, I was working with Angela, I feel 1429 00:57:14,900 --> 00:57:21,510 like from beta to final, because I don't have much 1430 00:57:21,510 --> 00:57:27,670 experience with C, so it takes me so long to just get the 1431 00:57:27,670 --> 00:57:30,830 syntax right, to get my own going. 1432 00:57:30,830 --> 00:57:32,580 So for beta, we didn't have anything working. 1433 00:57:32,580 --> 00:57:33,780 It doesn't even build. 1434 00:57:33,780 --> 00:57:38,240 But with two or three more hours, we got it working. 1435 00:57:38,240 --> 00:57:40,190 It's not super fast, but we kept working on it. 1436 00:57:40,190 --> 00:57:44,290 And by the final we have something I felt pretty proud. 1437 00:57:44,290 --> 00:57:47,160 But the beta grading doesn't take that into account. 1438 00:57:47,160 --> 00:57:50,590 Like if you are not very experienced with C, it takes 1439 00:57:50,590 --> 00:57:53,890 you a long time, longer than other people have experienced 1440 00:57:53,890 --> 00:57:56,700 to get something going in the first place. 1441 00:57:56,700 --> 00:58:00,290 But beta kind of penalizes you for just not having enough 1442 00:58:00,290 --> 00:58:00,710 time to do things you want. 1443 00:58:00,710 --> 00:58:04,060 PROFESSOR 1: I think it's a double-edged sword. 1444 00:58:04,060 --> 00:58:08,440 Because if you don't do beta, then you have very harsh. 1445 00:58:08,440 --> 00:58:11,240 You have one time code, it's in and out. 1446 00:58:11,240 --> 00:58:14,680 If you just really don't do, give that much grading for 1447 00:58:14,680 --> 00:58:16,790 beta and make it optional and stuff like that, 1448 00:58:16,790 --> 00:58:17,550 people just drop beta. 1449 00:58:17,550 --> 00:58:19,100 They don't just do anything in it. 1450 00:58:19,100 --> 00:58:21,570 So we try to do something, give everybody a true chance 1451 00:58:21,570 --> 00:58:24,562 and get everybody a real motivation to actually work 1452 00:58:24,562 --> 00:58:25,250 for both sides. 1453 00:58:25,250 --> 00:58:27,840 Because for a lot of you guys, beta defined and 1454 00:58:27,840 --> 00:58:28,910 you learned a lot. 1455 00:58:28,910 --> 00:58:30,560 Because you got something in beta. 1456 00:58:30,560 --> 00:58:34,150 And for most of the classes I have, we had things called 1457 00:58:34,150 --> 00:58:35,450 checkpoints. 1458 00:58:35,450 --> 00:58:38,810 For example, compiler class, you had to do a checkpoint and 1459 00:58:38,810 --> 00:58:42,800 checkpoint will be used more like subjectivity to grade. 1460 00:58:42,800 --> 00:58:44,510 We don't say how many grade percent checkpoint. 1461 00:58:44,510 --> 00:58:47,630 But if checkpoint has nothing, then we'll be very harsh 1462 00:58:47,630 --> 00:58:48,495 grading later. 1463 00:58:48,495 --> 00:58:49,490 We always provide that. 1464 00:58:49,490 --> 00:58:51,960 But still, people don't take checkpoint that seriously. 1465 00:58:51,960 --> 00:58:55,140 But here we have to try to make something to make people 1466 00:58:55,140 --> 00:58:58,210 get beta seriously, do something there, and then give 1467 00:58:58,210 --> 00:59:00,350 them the opportunity to improve. 1468 00:59:00,350 --> 00:59:01,490 I think there's a balance in that somewhere. 1469 00:59:01,490 --> 00:59:03,513 PROFESSOR 2: And I wouldn't worry about your grade. 1470 00:59:03,513 --> 00:59:05,080 [LAUGHTER] 1471 00:59:05,080 --> 00:59:07,850 AUDIENCE: Maybe like one idea I was thinking is maybe 1472 00:59:07,850 --> 00:59:09,660 there's some component of improvement 1473 00:59:09,660 --> 00:59:11,490 from beta to final. 1474 00:59:11,490 --> 00:59:13,680 Like the proportional improvement that you made from 1475 00:59:13,680 --> 00:59:13,950 beta to final. 1476 00:59:13,950 --> 00:59:15,020 PROFESSOR 2: Oh, that's a good idea, actually. 1477 00:59:15,020 --> 00:59:15,835 That's a good idea. 1478 00:59:15,835 --> 00:59:17,920 Yeah, to say, if you made a-- 1479 00:59:17,920 --> 00:59:19,650 Although you want to be careful about people 1480 00:59:19,650 --> 00:59:20,270 sandbagging. 1481 00:59:20,270 --> 00:59:21,566 [LAUGHTER] 1482 00:59:21,566 --> 00:59:22,430 PROFESSOR 1: Exactly. 1483 00:59:22,430 --> 00:59:23,840 AUDIENCE: And then one last small thing-- 1484 00:59:23,840 --> 00:59:25,080 PROFESSOR 2: I want to make sure we get to everybody. 1485 00:59:25,080 --> 00:59:25,350 AUDIENCE: OK, sorry. 1486 00:59:25,350 --> 00:59:26,765 PROFESSOR 2: So if you want to go around to 1487 00:59:26,765 --> 00:59:28,390 the end of the line. 1488 00:59:28,390 --> 00:59:30,410 AUDIENCE: That's actually mostly all of it. 1489 00:59:30,410 --> 00:59:30,770 PROFESSOR 2: OK. 1490 00:59:30,770 --> 00:59:32,340 Thank you. 1491 00:59:32,340 --> 00:59:35,130 AUDIENCE: So I've said some of this on my evaluation, which I 1492 00:59:35,130 --> 00:59:35,690 already turned in. 1493 00:59:35,690 --> 00:59:38,560 But I'll repeat it for everyone else. 1494 00:59:38,560 --> 00:59:39,990 [APPLAUSE] 1495 00:59:39,990 --> 00:59:40,590 AUDIENCE: A couple things. 1496 00:59:40,590 --> 00:59:45,170 One relating to the grading which you mentioned. 1497 00:59:45,170 --> 00:59:47,790 Honestly, I found it incredibly stressful knowing 1498 00:59:47,790 --> 00:59:49,170 that it was competitive grading. 1499 00:59:49,170 --> 00:59:51,490 Because we had no idea where the benchmark was. 1500 00:59:51,490 --> 00:59:53,290 So it's like, well we've improved it. 1501 00:59:53,290 --> 00:59:54,400 But did we improve it enough? 1502 00:59:54,400 --> 00:59:56,670 Did everyone else not improve it any more than we did? 1503 00:59:56,670 --> 01:00:00,140 And it was just like having it be a complete unknown was 1504 01:00:00,140 --> 01:00:00,840 pretty stressful. 1505 01:00:00,840 --> 01:00:04,300 So I don't know if there's some way you could do like a-- 1506 01:00:04,300 --> 01:00:07,450 like maybe the TAs got some speed up, and that's the 1507 01:00:07,450 --> 01:00:10,260 benchmark to start with or something. 1508 01:00:10,260 --> 01:00:13,390 PROFESSOR 1: I guess what we did this time is basically we 1509 01:00:13,390 --> 01:00:16,050 gave the best grade as a benchmark for the final. 1510 01:00:16,050 --> 01:00:19,960 And if you go above that, it's just bragging rights. 1511 01:00:19,960 --> 01:00:21,699 AUDIENCE: I mean, when you're working on the beta, you have 1512 01:00:21,699 --> 01:00:22,990 no idea what's going on. 1513 01:00:22,990 --> 01:00:24,590 But I did like that. 1514 01:00:24,590 --> 01:00:27,338 Once you know where the benchmark is, then it's nice 1515 01:00:27,338 --> 01:00:28,000 to know what you're aiming for. 1516 01:00:28,000 --> 01:00:29,530 PROFESSOR 1: So the thing about that is, the flip side 1517 01:00:29,530 --> 01:00:31,940 of that is, we don't want somebody that a lot of courses 1518 01:00:31,940 --> 01:00:33,770 they say OK, I'm done. 1519 01:00:33,770 --> 01:00:36,000 When you go there something, Oh yeah, I met the thing, OK, 1520 01:00:36,000 --> 01:00:38,010 I'm getting a good grade, OK, I move on. 1521 01:00:38,010 --> 01:00:40,990 I mean, we want people kind of to keep pushing in time. 1522 01:00:40,990 --> 01:00:43,260 Because sometimes the thing is-- 1523 01:00:43,260 --> 01:00:45,620 If I have a minute, I'll tell the story. 1524 01:00:45,620 --> 01:00:49,570 There's this guy named Tony Danzig who basically invented 1525 01:00:49,570 --> 01:00:51,690 the simplex method. 1526 01:00:51,690 --> 01:00:54,210 His thing was, he was always late to class. 1527 01:00:54,210 --> 01:00:56,180 He went to class one day and there was-- 1528 01:00:56,180 --> 01:00:58,420 normally the professor writes the problems on the board. 1529 01:00:58,420 --> 01:01:01,010 So he copied the problems down and went home. 1530 01:01:01,010 --> 01:01:02,360 And they were really hard problems. 1531 01:01:02,360 --> 01:01:03,200 And so he was like, damn. 1532 01:01:03,200 --> 01:01:04,080 I don't know how to solve this. 1533 01:01:04,080 --> 01:01:06,260 And he worked very hard and solved it. 1534 01:01:06,260 --> 01:01:08,310 And wrote a note to the professor saying I'm sorry 1535 01:01:08,310 --> 01:01:10,440 this is late, and put it on his desk. 1536 01:01:10,440 --> 01:01:13,645 And a couple of hours later he gets this excited professor 1537 01:01:13,645 --> 01:01:15,090 running around trying to find him. 1538 01:01:15,090 --> 01:01:17,940 Because what the professor had done is written two unsolved 1539 01:01:17,940 --> 01:01:19,190 problems on the board. 1540 01:01:21,450 --> 01:01:23,890 He came late to the class, he didn't know that, he had two 1541 01:01:23,890 --> 01:01:25,010 problems, he copied them down. 1542 01:01:25,010 --> 01:01:26,904 He worked very hard and solved it. 1543 01:01:26,904 --> 01:01:27,670 [LAUGHTER] 1544 01:01:27,670 --> 01:01:29,730 PROFESSOR 1: And so the professor said divide this up, 1545 01:01:29,730 --> 01:01:30,640 you get your pay at the end. 1546 01:01:30,640 --> 01:01:31,680 Then there's lots of it. 1547 01:01:31,680 --> 01:01:32,850 So this is something like that. 1548 01:01:32,850 --> 01:01:36,160 If you give the thing, if you know where we are going, for 1549 01:01:36,160 --> 01:01:38,100 some people it will be a hard climb. 1550 01:01:38,100 --> 01:01:40,102 But other people, they will get there faster, they'll say 1551 01:01:40,102 --> 01:01:40,820 OK, I'm done. 1552 01:01:40,820 --> 01:01:43,530 And what we want to do is give them the ability to kind of 1553 01:01:43,530 --> 01:01:46,130 really push to their limits, not some artificial limit. 1554 01:01:46,130 --> 01:01:48,270 But not to penalize too much for that. 1555 01:01:48,270 --> 01:01:49,630 We try to balance this out. 1556 01:01:49,630 --> 01:01:52,990 So I want everybody to go to their best limits. 1557 01:01:52,990 --> 01:01:54,790 AUDIENCE: I had one other thing to say. 1558 01:01:54,790 --> 01:01:57,490 Have you considered or would it be possible to make the 1559 01:01:57,490 --> 01:01:59,540 class more than a 12 credit course? 1560 01:01:59,540 --> 01:02:01,030 [LAUGHTER] 1561 01:02:01,030 --> 01:02:01,610 AUDIENCE: No, seriously. 1562 01:02:01,610 --> 01:02:04,280 Since there is so much material and we keep talking 1563 01:02:04,280 --> 01:02:06,390 about wouldn't it be nice to add this and add that. 1564 01:02:06,390 --> 01:02:08,550 But I don't know about you, but I spend a lot of time in 1565 01:02:08,550 --> 01:02:09,600 this course already. 1566 01:02:09,600 --> 01:02:12,320 And I mean, I think it's the kind of class where you could 1567 01:02:12,320 --> 01:02:15,190 pack 16 or 18 credits worth of material into it. 1568 01:02:15,190 --> 01:02:18,360 PROFESSOR 2: More realistic would be to have a follow-on. 1569 01:02:18,360 --> 01:02:19,720 PROFESSOR 1: Try to make it as two classes. 1570 01:02:19,720 --> 01:02:23,980 PROFESSOR 2: To make a two-semester sequence. 1571 01:02:23,980 --> 01:02:30,710 But I think Saman and I still feel that this, it's like, OK, 1572 01:02:30,710 --> 01:02:32,810 that's a new development effort. 1573 01:02:32,810 --> 01:02:33,780 That this class still-- 1574 01:02:33,780 --> 01:02:36,550 I think we feel that there's more than incremental 1575 01:02:36,550 --> 01:02:38,770 improvement we can do to make the class teachable. 1576 01:02:38,770 --> 01:02:41,240 For example, by introducing recitations. 1577 01:02:41,240 --> 01:02:44,290 And so I think once-- 1578 01:02:44,290 --> 01:02:50,160 maybe after next semester, next fall we can we can-- 1579 01:02:50,160 --> 01:02:52,280 But thank you, because I think that that would be good. 1580 01:02:52,280 --> 01:02:55,010 And the whole idea of the sections is to try 1581 01:02:55,010 --> 01:02:57,540 to reduce your load. 1582 01:02:57,540 --> 01:03:00,550 There used to be a thing that was on all the evaluations 1583 01:03:00,550 --> 01:03:02,080 that they no longer do. 1584 01:03:02,080 --> 01:03:03,930 And this is actually before I got to MIT. 1585 01:03:03,930 --> 01:03:08,880 They had a measure called cums per tooling hour. 1586 01:03:08,880 --> 01:03:09,220 OK? 1587 01:03:09,220 --> 01:03:15,040 So a cum is how many units of knowledge you're using in 1588 01:03:15,040 --> 01:03:19,650 whatever measure, and tooling hours, like how hard you work. 1589 01:03:19,650 --> 01:03:23,870 And they got rid of it because they said it was not 1590 01:03:23,870 --> 01:03:24,370 quantitative. 1591 01:03:24,370 --> 01:03:26,580 After all, what's a cum? 1592 01:03:26,580 --> 01:03:26,870 All right. 1593 01:03:26,870 --> 01:03:30,520 Well, regardless of the fact they got rid of that, because 1594 01:03:30,520 --> 01:03:34,140 I think that it actually was a very useful measure, even if 1595 01:03:34,140 --> 01:03:35,910 people are subjective about it. 1596 01:03:35,910 --> 01:03:37,820 That's our goal in the course. 1597 01:03:37,820 --> 01:03:41,120 It's not to make people spend a lot of time and then have 1598 01:03:41,120 --> 01:03:42,920 learned epsilon. 1599 01:03:42,920 --> 01:03:46,540 It's to have them, for the time they put in, learn as 1600 01:03:46,540 --> 01:03:47,940 much as possible. 1601 01:03:47,940 --> 01:03:50,480 And so I think that we recognize it's a lot more work 1602 01:03:50,480 --> 01:03:53,070 right now that you folks are going through. 1603 01:03:53,070 --> 01:03:54,480 We hope that it's rewarding work. 1604 01:03:54,480 --> 01:03:57,400 But we hope we can do even better in terms of giving 1605 01:03:57,400 --> 01:03:59,520 people the opportunity to learn these things. 1606 01:03:59,520 --> 01:04:00,740 PROFESSOR 1: So we are thinking about cutting things. 1607 01:04:00,740 --> 01:04:02,530 We all are thinking about what to eliminate 1608 01:04:02,530 --> 01:04:03,790 even if we add something. 1609 01:04:03,790 --> 01:04:05,680 It's very hard because we think a lot things are 1610 01:04:05,680 --> 01:04:07,250 useful-- important. 1611 01:04:07,250 --> 01:04:08,510 But something has to give. 1612 01:04:08,510 --> 01:04:09,580 So that's the hard decision. 1613 01:04:09,580 --> 01:04:10,950 PROFESSOR 2: Yeah, we're thinking of cutting caching 1614 01:04:10,950 --> 01:04:12,546 and parallelism. 1615 01:04:12,546 --> 01:04:16,830 [LAUGHTER] 1616 01:04:16,830 --> 01:04:18,360 PROFESSOR 1: OK. 1617 01:04:18,360 --> 01:04:18,630 PROFESSOR 2: OK. 1618 01:04:18,630 --> 01:04:21,300 We have to hurry because we gotta be out of the room by 4. 1619 01:04:21,300 --> 01:04:22,865 AUDIENCE: I just wanted to say that I agree. 1620 01:04:22,865 --> 01:04:24,970 That I didn't really like the way the course was graded. 1621 01:04:24,970 --> 01:04:26,540 But I did like the material in the course a lot. 1622 01:04:26,540 --> 01:04:27,950 So that was good. 1623 01:04:27,950 --> 01:04:30,560 But for one thing, the thing about the competitive grading 1624 01:04:30,560 --> 01:04:33,860 was that it was way more stressful than necessary. 1625 01:04:33,860 --> 01:04:35,660 My luck was good because we had the kind 1626 01:04:35,660 --> 01:04:37,350 of benchmark thing. 1627 01:04:37,350 --> 01:04:41,330 It was a reasonable high performance to attain. 1628 01:04:41,330 --> 01:04:45,650 And also I didn't like the way some of 1629 01:04:45,650 --> 01:04:46,780 the stuff was weighted. 1630 01:04:46,780 --> 01:04:48,900 For example, it didn't really correspond to how much time I 1631 01:04:48,900 --> 01:04:49,960 spent on it. 1632 01:04:49,960 --> 01:04:53,360 The pset was worth like 3% or 4% of the grade and it took 1633 01:04:53,360 --> 01:04:54,970 like hours, I think. 1634 01:04:54,970 --> 01:04:56,220 Many, many hours. 1635 01:04:58,800 --> 01:04:59,630 That's all. 1636 01:04:59,630 --> 01:05:00,744 PROFESSOR 1: OK, thank you. 1637 01:05:00,744 --> 01:05:02,512 PROFESSOR 2: OK. 1638 01:05:02,512 --> 01:05:06,340 AUDIENCE: There is one thing that's pretty general about 1639 01:05:06,340 --> 01:05:07,790 course six, I guess, is that they're 1640 01:05:07,790 --> 01:05:09,190 really lenient on prereqs. 1641 01:05:09,190 --> 01:05:12,555 Since I've only been at MIT for like three months. 1642 01:05:12,555 --> 01:05:12,820 [LAUGHTER] 1643 01:05:12,820 --> 01:05:15,270 AUDIENCE: So yes, I'm a freshman. 1644 01:05:15,270 --> 01:05:16,460 PROFESSOR 1: One freshman in the class. 1645 01:05:16,460 --> 01:05:17,205 There you go. 1646 01:05:17,205 --> 01:05:20,960 AUDIENCE: I'm really thankful that Professor Leiserson and 1647 01:05:20,960 --> 01:05:22,670 Professor Amarasinghe let me into the 1648 01:05:22,670 --> 01:05:25,540 course without any prereqs. 1649 01:05:25,540 --> 01:05:28,610 And I like the breadth of the topics. 1650 01:05:28,610 --> 01:05:32,600 But I think with office hours we could have gotten a bit 1651 01:05:32,600 --> 01:05:34,090 deeper into them. 1652 01:05:34,090 --> 01:05:38,050 And one suggestion I'd like to make is that get the nightly 1653 01:05:38,050 --> 01:05:39,300 builds working. 1654 01:05:41,400 --> 01:05:46,161 It was there for one night for project one, and that was it. 1655 01:05:46,161 --> 01:05:49,570 [LAUGHTER] 1656 01:05:49,570 --> 01:05:51,840 AUDIENCE: So I decided this is my last-- 1657 01:05:51,840 --> 01:05:53,080 PROFESSOR 2: Can you talk in the mic? 1658 01:05:53,080 --> 01:05:55,550 AUDIENCE: So this is my last term at MIT. 1659 01:05:55,550 --> 01:05:58,600 And I decided to take things easy by not taking that many 1660 01:05:58,600 --> 01:06:01,729 courses and TAing this course. 1661 01:06:01,729 --> 01:06:07,600 [LAUGHTER] 1662 01:06:07,600 --> 01:06:08,230 AUDIENCE: So yeah. 1663 01:06:08,230 --> 01:06:11,183 It would be nice to have 48 unit TA shifts too. 1664 01:06:15,040 --> 01:06:16,290 PROFESSOR 2: Thank you. 1665 01:06:18,610 --> 01:06:19,850 AUDIENCE: I just want to say that this was like-- 1666 01:06:19,850 --> 01:06:21,010 should I take it? 1667 01:06:21,010 --> 01:06:21,730 PROFESSOR 1: Sure. 1668 01:06:21,730 --> 01:06:21,950 AUDIENCE: OK. 1669 01:06:21,950 --> 01:06:24,330 That this was like an amazing class. 1670 01:06:24,330 --> 01:06:27,100 I think everyone can agree that we learned so much that 1671 01:06:27,100 --> 01:06:29,060 is not found in textbooks. 1672 01:06:29,060 --> 01:06:31,750 And what I thought was really weird is that every little 1673 01:06:31,750 --> 01:06:35,480 random thing I've ever read on the internet related to 1674 01:06:35,480 --> 01:06:38,440 coding, I guess, has come up in this class in like, useful, 1675 01:06:38,440 --> 01:06:39,610 come up like useful in this class. 1676 01:06:39,610 --> 01:06:42,550 Like every little bit of outside knowledge that you 1677 01:06:42,550 --> 01:06:46,240 take yourself has appeared useful in this class later on. 1678 01:06:46,240 --> 01:06:47,480 And I thought was really cool. 1679 01:06:47,480 --> 01:06:50,850 And related to the hardness that people are talking about. 1680 01:06:50,850 --> 01:06:54,970 I think everyone came into the class bracing for the absolute 1681 01:06:54,970 --> 01:06:57,610 worst, because we've heard about you guys. 1682 01:06:57,610 --> 01:07:00,610 [LAUGHTER] 1683 01:07:00,610 --> 01:07:02,340 AUDIENCE: But, yeah. 1684 01:07:02,340 --> 01:07:05,190 I was actually really pleasantly surprised that 1685 01:07:05,190 --> 01:07:11,400 there were helpful TAs waiting in the G7 lounge for you, even 1686 01:07:11,400 --> 01:07:13,020 before office hours start. 1687 01:07:13,020 --> 01:07:16,580 And so I was actually really pleasantly surprised by-- 1688 01:07:16,580 --> 01:07:17,630 just like everyone, the class. 1689 01:07:17,630 --> 01:07:20,960 I feel like everyone who has survived until this point has 1690 01:07:20,960 --> 01:07:22,690 some sort of magic skill. 1691 01:07:22,690 --> 01:07:25,560 That you really learn a lot by working with them 1692 01:07:25,560 --> 01:07:27,110 on the group projects. 1693 01:07:27,110 --> 01:07:29,890 And so I was just really inspired. 1694 01:07:29,890 --> 01:07:31,610 And I thought it was a great class. 1695 01:07:31,610 --> 01:07:32,030 PROFESSOR 1: Thank you. 1696 01:07:32,030 --> 01:07:32,886 PROFESSOR 2: Thank you. 1697 01:07:32,886 --> 01:07:34,600 [APPLAUSE] 1698 01:07:34,600 --> 01:07:35,850 AUDIENCE: Hi. 1699 01:07:37,480 --> 01:07:38,280 I love the class. 1700 01:07:38,280 --> 01:07:41,600 I appreciate you Professor Leiserson, and everything that 1701 01:07:41,600 --> 01:07:42,800 everybody else before me said. 1702 01:07:42,800 --> 01:07:43,960 I just wanted to mention two things I 1703 01:07:43,960 --> 01:07:45,730 don't think were mentioned. 1704 01:07:45,730 --> 01:07:51,680 Beta programming, to be honest, was amazing because 1705 01:07:51,680 --> 01:07:54,230 except the final project, everything I did was beta 1706 01:07:54,230 --> 01:07:56,920 programming in the projects. 1707 01:07:56,920 --> 01:08:00,470 And the amount of bugs that we avoided because of that is 1708 01:08:00,470 --> 01:08:00,990 ridiculous. 1709 01:08:00,990 --> 01:08:03,990 Especially when we're doing pointers, and if it doesn't 1710 01:08:03,990 --> 01:08:07,400 work, make it a pointer, and all those philosophies that we 1711 01:08:07,400 --> 01:08:09,500 came up with. 1712 01:08:09,500 --> 01:08:11,110 That's the first thing. 1713 01:08:11,110 --> 01:08:14,140 Second thing is, and I've already mentioned this. 1714 01:08:14,140 --> 01:08:17,220 A book or readings for this class or links. 1715 01:08:17,220 --> 01:08:20,859 Because as amazing as the lecture slides are, a lot of 1716 01:08:20,859 --> 01:08:22,979 work done there, so thanks a lot. 1717 01:08:22,979 --> 01:08:25,370 They're hard to connect together, especially when 1718 01:08:25,370 --> 01:08:26,656 you're trying to figure out what our cache-oblivious 1719 01:08:26,656 --> 01:08:32,270 algorithm is trying to do with those. 1720 01:08:32,270 --> 01:08:34,278 So that's pretty much it. 1721 01:08:37,149 --> 01:08:38,760 Are you telling me the stack overflow is as 1722 01:08:38,760 --> 01:08:41,600 much as this course? 1723 01:08:41,600 --> 01:08:43,479 Well, thanks a lot again for the TAs. 1724 01:08:43,479 --> 01:08:46,184 Most of my learning came from them, to be honest. 1725 01:08:46,184 --> 01:08:48,112 [LAUGHTER] 1726 01:08:48,112 --> 01:08:51,979 [APPLAUSE] 1727 01:08:51,979 --> 01:08:53,060 AUDIENCE: Hands on learning. 1728 01:08:53,060 --> 01:08:55,220 Hands on. 1729 01:08:55,220 --> 01:08:58,140 Thank you. 1730 01:08:58,140 --> 01:08:58,399 [LAUGHTER] 1731 01:08:58,399 --> 01:08:59,020 GUEST SPEAKER: Hi. 1732 01:08:59,020 --> 01:09:01,130 my name is Harold Pokob, I'm the head of 1733 01:09:01,130 --> 01:09:03,930 engineering at Akamai. 1734 01:09:03,930 --> 01:09:06,700 So I wanted to use the opportunity to thank all of 1735 01:09:06,700 --> 01:09:10,029 you for taking the class. 1736 01:09:10,029 --> 01:09:14,250 Charles was my adviser when I was at MIT and he told me 1737 01:09:14,250 --> 01:09:15,649 about his plans for the class. 1738 01:09:15,649 --> 01:09:17,229 I thought it was a great idea. 1739 01:09:17,229 --> 01:09:22,910 Getting a lot more hands-on experience going. 1740 01:09:22,910 --> 01:09:26,290 Back when I spent time at MIT, it was a lot more theory, and 1741 01:09:26,290 --> 01:09:30,870 Scheme was one of the main programming languages. 1742 01:09:30,870 --> 01:09:36,029 So in that context I really like this type of class. 1743 01:09:36,029 --> 01:09:40,359 And I'm glad MIT is investing in that and 1744 01:09:40,359 --> 01:09:41,800 supported from Akamai. 1745 01:09:41,800 --> 01:09:43,660 So I'm honored that we could sponsor it. 1746 01:09:43,660 --> 01:09:45,630 I'm very happy you're here. 1747 01:09:45,630 --> 01:09:48,010 There is, I think, refreshments downstairs in a 1748 01:09:48,010 --> 01:09:48,474 few minutes. 1749 01:09:48,474 --> 01:09:48,760 PROFESSOR 2: Yeah. 1750 01:09:48,760 --> 01:09:54,560 I'd also like to ask Harold to say what the topic of his 1751 01:09:54,560 --> 01:09:56,282 master's thesis was. 1752 01:09:56,282 --> 01:09:57,545 [LAUGHTER] 1753 01:09:57,545 --> 01:10:00,340 GUEST SPEAKER: My master's thesis was cache oblivious 1754 01:10:00,340 --> 01:10:01,600 algorithms. 1755 01:10:01,600 --> 01:10:03,360 [LAUGHTER] 1756 01:10:03,360 --> 01:10:07,280 PROFESSOR 2: So you have Harold to thank for one of the 1757 01:10:07,280 --> 01:10:10,770 papers that you read during the term. 1758 01:10:10,770 --> 01:10:13,480 GUEST SPEAKER: It's nice that something that I did in 1759 01:10:13,480 --> 01:10:15,740 academia is still used. 1760 01:10:15,740 --> 01:10:19,950 Not all now practical business stuff that I do these days. 1761 01:10:22,770 --> 01:10:25,650 Great to have you here, and I hope to see some of you 1762 01:10:25,650 --> 01:10:26,320 downstairs. 1763 01:10:26,320 --> 01:10:28,950 And I've got to actually go into a meeting at 4:00 for 1764 01:10:28,950 --> 01:10:31,570 half an hour, but I'll be back down afterwards. 1765 01:10:31,570 --> 01:10:32,250 Thank you. 1766 01:10:32,250 --> 01:10:34,180 PROFESSOR 1: Thank you very much for sponsoring this event 1767 01:10:34,180 --> 01:10:36,840 and getting all the food. 1768 01:10:36,840 --> 01:10:38,310 [APPLAUSE] 1769 01:10:38,310 --> 01:10:39,223 PROFESSOR 1: OK. 1770 01:10:39,223 --> 01:10:41,230 Now we have food. 1771 01:10:41,230 --> 01:10:43,330 AUDIENCE: We also have quizzes here. 1772 01:10:43,330 --> 01:10:44,880 [LAUGHTER]