 Another place that I'm excited about trying to harness uncertainty is in the classroom, and particularly in online courses and in online content delivery. So let me provide an example. I'm teaching a new course on the Internet, and so I'm responsible for the material in that course. I've got to sort of explain all these different concepts to students, things like how does the mobile web work. And that's a typical task for a teacher designing a new class. However, I know people who know how the mobile web works, one of them is my former advisor. His job is improving the mobile web. So he knows how it works too, and you might argue maybe he would even do a better job of explaining it. But the goal is if I can get him to contribute content to the class, then I'm creating an interesting adaptation challenge presenting with the student that doesn't understand the material. Should I have me explain it to them? Should I have Matt explain it to them first? Maybe I can use both. Maybe I can have Matt try to explain it, and if the student doesn't understand, then I have me as backup. And so by introducing flexibility into the system through self-reinforcing content, through duplicative content, I can adapt to students and build personalized learning experiences. And so we started to do this. The idea here is basically to apply some basic, I hate the word basically, to apply some basic software development principles to online courses. So in a lot of cases, the courses I've designed, the courses a lot of people have designed, are done in these huge chunks. So I've got like an hour-long lecture, and that lecture mixes together and does a bad job of sequencing lots of different concepts. And so if I want somebody to contribute to the class, it's hard because I have to ask them to, you know, hey Matt, can you record a whole hour-long lecture on the mobile web? And I'll show it to students. No one's going to want to do that. So instead, we're trying to make this new class on the Internet as modular as possible. And to do that, we've broken it down into these five-minute chunks. So I've gotten very good at giving five-minute talks, because we've tried to take the material and break it down, break it down, break it down into smaller and smaller pieces until it gets to the point where you can explain it in five minutes. If it takes eight minutes, we divide it in half, we try to find some way to split up the material, and we try again. The nice thing about this is that with the much more modular course design, it becomes a lot more easy to build up an adaptive library that incorporates contributions from other authors. So I don't need someone to record an hour-long video. I can just ask Matt, hey, can you record five minutes about how to test your mobile website's performance using the PageSpeed online tool? And he can say, yeah, sweet, I would do that. Not a problem. It's a low ask. And we can weave that into the library in a way that eventually builds up. The goal is to eventually have a library with lots of redundancies, so lots of explanations for specific concepts, giving people lots of different ways to learn that particular part of the material. This also allows us to do experiments with structural aspects of the course. So I might have a couple of lessons that I don't know, you know, I don't know if it's better to explain this material first or explain this material first. And so I can branch the class along these different routes. I can have all students eventually complete all these lessons, so this group would go back and start here and this group would do the same thing. But I can build up data and information that is quantifiable and not anecdotal about how best to explain various things. So this is pretty exciting. We're also using student-generated content this year, so we have about three assignments, well, exactly three assignments in the class where students are required to explain a concept drawn from the course library. And this is just a video I want to show a little bit of because I just think it's brilliant. You know, a lot of the student explanations aren't necessarily very good, but with 440 students in the class there's enough that are good that we can use some of them. So this student, Emily Ryder, who's a freshman, decided to explain how peer-to-peer computing works. And she did that by writing a song that she sings to the tune of We Didn't Start the Fire by Billy Joel and sort of mixes in these like really cute little guitar parts with information about peer-to-peer computing. So this is super cool. And we're definitely going to use this next year because she gets it right. I mean, the material is correct. It's really creative how it's presented and I think it will excite students. So that's pretty cool.