 OK, that's all I got today. No content. Just ask me questions on the exam. So start thinking about them now. But before we get there, you guys are currently at 86%. You guys are really close. So just do the evaluations. It's like 5, 10 people. Maybe I'll get generous if you guys get to 90% and just decide to go ahead and release a long answer question. But so over the weekend, once I get these done, there is no exam right now, so I don't know what's on it. But once I write these questions, I'll release them. Like I said before, I'll send them out via email. I'll also post them on discourse. You guys are welcome to talk about them. You're welcome to discuss them amongst yourselves, come up with group answers, whatever. I don't care. I would be careful of following people who may be more confused than you are. What's always interesting to me about this is it turns out that the average on the questions I release is basically identical to the average on the questions I don't release. It's not what you would think. OK, I just want to spend a few minutes to thank the course staff. So this semester, I've been really lucky to have. So we made big changes to the class this year, sort of starting way back in December, where I sort of decided it was time to burn down the old system and start again. And the fact that this worked as well as it did is kind of a miracle. The first time I taught this class, we didn't have any of the auto grading stuff done until, like, 24 hours before the grade deadline. So people submitted stuff all semester. I had no idea how they were doing it, and then I pushed some button at the very end, and everyone got a grade. I don't think they liked that very much. So this semester with some help from the course staff, we did a lot better than that. I can't take credit for that myself, but I do want to sort of point out sort of what people have been doing this semester. So obviously, Ali took a hold of all the recitations this semester, and I thought they taught them very well. And Zhu and Ali did also all the grading for the midterm, which was quite a bit of work. So please give them a round of applause. Yeah, so the team behind Test 161, you guys may feel conflicted about them at this point. But yeah, so Scott really sort of took over the part writing, the GO client, but that really cool reactive interface that you guys have been watching all semester and crossing your fingers as it sort of goes yong did all that. So that's actually pretty awesome. I don't really have a sense of how cool that is, because I don't use it, but I get the sense people liked that and thought it was kind of neat. That whole system works just astonishingly well. Like as a piece of software, and Scott sort of took over the Test 161 client very early on and basically built it out to what it is today. So these guys deserve an enormous amount of credit. Not only one of them is here, but let's give them a round of applause anyway. So Jinghao. So you guys didn't really interact with Jinghao, but I think a lot of you guys benefited from Jinghao's wisdom through the interwebs. Not always 100% correct, which I think was OK. Don't believe everything you read online. And then all of the ninjas. So there's some repetition here, but we had a really fantastic group of people who were involved with the class in some way or another, including a bunch of undergraduates, Dan and Gaila and Isaac, Ben and Mark, who did office hours, and I'm missing some. Oh, Yusuf, of course, right. And then students from my lab. So none of these people received any sort of financial compensation for their participation in the class. They just did it out of the love in their hearts for operating systems and the interest in helping you guys. And hopefully next year some of your names will be on this list. Some of your names will definitely be on this list. So let's give them a round of applause as well. Feel free to thank them in whatever way you think is appropriate. At Harvard people used to like bring burnt offerings and things like that, like on the last day when assignments were due. It hasn't caught on here yet, but it may improve your grade. Okay, so the exam. So on Monday, the exam is at, that date is correct, I think at 3.30, it's a Knox 104. I am not giving a makeup exam. If you're not here, you will get a zero, big fat zero on the exam, which will probably constitute academic suicide. So please come. The format is the same as last year. So one thing I want to point out is that the midterm, I think you guys probably felt like the midterm was maybe a little too long and a lot of people tend to linger to the end trying desperately to finish it. The final is about twice as long as the midterm, but you have about three times as much time to do it. So I think it'll be calmer. I think you'll feel less time pressure. People typically leave early. There's usually a couple of people that for whatever reason think they got extra credit points for staying till the very end. But usually, when we give the exam, by the time we're done, the core staff that are around outnumber the number of students that are still working on it. Yeah, Steve. Did I save them? Yes. They're in a box somewhere. Yeah, if you want a copy of your prelim, I'll give you a copy of your prelim. That would be interesting. At some point, we're going to use those to do something interesting. Haven't done anything with them yet, unfortunately. So yeah, so this is the format. It's identical to last year in that there will only be one medium answer question this year, which I will release when I write it. Pretty much the same as the midterm, and then there are two long answer questions. The other change this year is that I am starting to cannibalize from my previous exams. So it's possible that in a couple of the categories there will be questions that will be reused from past exams. My goal in doing that is to encourage you to go and read those exams and study the solutions and understand how to do those questions as part of your studying process. If you guys really understood those questions to the point that you could reproduce them on a new exam, I would be pretty happy about that. There's, I think, four of them now, four past exams. So get started looking at them. The solution sets are all online, but I do reserve the right to pull questions from past exams. Any questions about the exam format? Whatever, the procedure will be identical to the midterm or release a seating chart on Monday. The only difference with the midterm is we usually have a rule where everyone has to stay for at least an hour and then after an hour, if you're more than an hour late, you can't take the exam just to prevent people from mixing, coming in and out. Okay, questions on the material? Or anything about the exams? I mean, we can listen to more music, we can leave, you guys can go back to working on assignment three, I don't care. I mean, I don't have any material for today. I have some suggestions for you guys about your future lives, but you probably prefer to talk about the exam first. So as far as coverage, I think the only big difference is that we did not do lectures on OS structure this year. So there won't be any questions on micro kernels or XO kernels or that sort of stuff on the exam. That's not stuff we covered. We did do a little bit more on virtualization. So there are definitely, you know, the lecture on OS virtualization is fair game. Questions, Steve? Can you elaborate? I don't know. They're all fair game, but I'm not gonna ask, I mean, the paper content will be limited to sort of high level ideas. I'm certainly not gonna ask you deep detailed questions about the hypervisor interface for Zen. I mean, we didn't go over that in detail. So I mean, I think if you look at the previous exams, exams are fair. The exam is not designed to catch you up or trick you or pull arcane weird stuff. The multiple choice questions like the midterm will be drawn from the slides. The short answer questions are, you know, kind of core, designed to cover core concepts. The long answer questions at times do ask you guys to be creative. I think that's a good thing. Apply some of what you learned to new scenarios and new concepts. That's intentional. But again, I'm not gonna ask you like weird arcana about Atlantis or something like that. But by all means, if you wanna read those papers, please go ahead. They're really cool papers, but yeah, don't worry about like being able to reproduce some architecture diagram from a paper written in 1982. That's not interesting. Other questions about the, yeah, Rob? Yeah. Good question. So the exam is cumulative in that everything is fair game. There is more weight placed on things that were covered later in the semester. Particularly in like the first half of it, by the time you get to the final, a couple of long answer questions, those are pretty open-ended and those may unite things throughout the semester. But like the medium answer question I already know is gonna be on the second half material. It's an interesting sound. Okay. Yeah, so the first part of the exam will probably be weighted a little bit more heavily to the material you guys haven't been tested on yet. But anything's fair game. That's a good question. Any other questions? Okay, you guys are ready, I guess. Steve. Is there a song? No. Nothing. There's no hidden me. Yeah. No long answer questions are, I think were they 50% of the exam? Yep. So is that like working a long time doing that? Those then are like, how long should we expect to spend on those long answers? So again, for the final time management it's a little bit less of a problem, right? Like you're gonna get through the first half of the exam, right? You'll get through it in an hour maybe, or whatever. And then you're gonna have a couple, you're gonna have plenty of time. So I just wouldn't worry too much about, I mean, don't spend two and a half hours on the short answer questions, right? In the medium answer question, leave some time. You might wanna start with the long answer questions or to start thinking, look at them, decide how you wanna tackle them, start thinking about the answers. Again, I mean, pick, you're welcome to answer all six short answer questions. We're only gonna give you credit for your best four, but writing up more detailed answers to that may not be a good use of time if you haven't really nailed the long answer question. But the long answer questions require a little bit of thought, right? I mean, it's not gonna be like, oh, I remember that from lecture, it's gonna be like, okay, I need to kind of think about things and come up with something that's a little bit more creative. So, but yeah, you're certainly welcome to use the point mappings as a guide for how long to spend, but those will only add up to 100, right? So you'll have 80 minutes left over to twirl your thumbs or work on those things. Are there questions? All right, yeah, so what should you do next, right? I mean, that's sort of an interesting question. Even this guy retired recently, right? So yeah, so if, and again, you guys are welcome to stop me at any point and yell at me and tell me to talk more about the exam. But I thought I would just point out that if you like systems, if you like OS, and you'll be around in the future, there are other things that you can do. So Ken Smith teaches a class, I think this will be offered in the future on OS internals. Ken's a pretty serious BSD hacker, so a lot of, like you guys are pretty well-prepared for this course if you've done well on the OS 161 assignments. And I think he started to modify the class a little bit to accommodate the fact that people that come out of this course are, like this course is sort of OS internals. I don't know what I would do all semester if I was just talking about how operating systems work. It's not particularly interesting, but you can certainly get more into the depths and details of a real operating system, and those are kind of a different beast. So this is a neat class. You know, Oliver's database class, the distributed systems class that are taught by Steve and Marat, networking, these are good classes to take. I mean, these are courses you really should take. It's not clear how you're a computer scientist without taking a course on databases or on networks because computer networks are clearly just a fad, right? Like those are going away soon. Or distributed systems, for example, again, like not important, right? But this stuff's cool, and these are good classes that you guys are prepared for if you're gonna be around for another year. And unfortunately, given the current structure of our curriculum, there's not a huge number of undergraduates that take these classes, but if you have another year and you've done well in this class, then do it, because you'll enjoy them. And all these courses have significant programming components that'll give you a chance to keep practicing and keep learning. More advanced stuff. So we have a course on advanced computer systems. I think there's ways for undergraduates to get credits for these classes. Certainly if you're a master's student or a graduate student, you can take this course. I think it's now just being taught by Steve next year. I don't exactly know. I should have looked this up. This class I know more about, so, and I don't know what the number will be. We have to, sorry, that ended up over here for some reason, but we have to change the number every year so that my students could take it over and over again and get credit for it over and over again. So I'll be teaching a seminar next fall. That's not the internet seminar for freshmen. This is a graduate seminar. We read papers. We hack on stuff. We have some fun. We kind of think about some research problems. So next year we're gonna be talking about smartphone quality of experience, which is a kind of a neat term, suitably vague for us to think about. It's a research question, but the idea is how do the resources, the networking and computing and other things that smartphones use, how do those combine in ways that actually benefit users? Because users don't tend to notice that the network is slow. Users notice that an app is laggy or whatever. So this is what we're gonna talk about. So this will be fun. Scott's pretty involved in this. He's helping me pull together the paper list and this should be a fun thing. So if you wanna get a little bit, if you're sort of research curious and you wanna know a little bit more about what it means to do systems research, this is a good chance to sort of start to get your hands dirty. And I've had undergraduates in this class. In fact, Gaila and Yusuf and I think there was another undergraduate last semester who I'm forgetting that took the seminar and I think they had a good time. I'm always looking for ninjas for the class. Sorry, that should be 2017. If you can go back in time, you could do it this year, but yeah. So I'll definitely be hiring, recruiting, hiring. I mean, there's no money, but looking for people to help out with the class next year. So if you're around interested, let me know. And if you guys wanna do things, build stuff, hack on things, have fun, if you like computer systems and particularly video student research, but I also have a lot of development projects that are just kind of fun. So if you wanna build Android things or whatever, build websites, build cool new stuff, come talk to me because I always have stuff going on and I have a bunch of great students for you guys to work with. Yeah, there we go. I don't know why I chose this guy, but whatever, I'm gonna call out to that movie. So anyway, that's all I have today. We can go back to office hours. You guys have more questions about the exam? I am done. Yeah, so there we are. Thanks very much for a great semester. It was really a pleasure teaching you guys. Good luck with whatever comes next, next year, next summer. You know, use your computer science skills as a tool of good and happiness in the world. Keep hacking. Hopefully I'll see, what's that? Is that a Google plug? I don't know. Google is mixed, right? Don't be evil. And hopefully I'll see a lot of you guys around.