So in this course, we're going to move from the basic shape of a Django application to more of the skills and techniques that you're going to use when you build applications, things like sessions, things like users. We're going to learn a lot about the Django way of doing things. A lot of code that you do in Django is really short and succinct, but ultimately underneath that, there's a whole bunch of stuff. A big part of the approach to Django is to not repeat yourself, not take 10 lines of code and put it in 1,000 times with a tiny tweak. Instead, what we do is we use object orientation as a way to really only change the small parts of a large bit of code. And it's a form of don't repeat yourself, and it's a form of reuse, like a function, an object. And I hope that you've taken a bit of object-oriented programming. But the problem with object-oriented programming is that it's really hard to get it the first time you see it. And so we're going to review object-oriented programming as part of this. And then we're immediately going to use it. And so, for me as a teacher, I like to show you something and then use it. And one of the things you're going to see is I'll show you a large amount of code and I'm like, okay, but that large amount of code isn't the best way to do it. The best way to do it is to extend an object and put in a small amount of code. And we're going to do that over and over, where our applications are kind of going to get bigger, and then they're going to get smaller. And the smaller is the right way to do it. But I don't want to just teach you the small, two-line version of something without you understanding what's going on. So we'll explore Django objects, and then we'll explore using those Django objects. And so, over the course of this course itself, we're going to build, start with small applications, bigger, bigger, bigger and then we're going to increase the complexity. And then we'll reduce the scaffolding so that you can begin to build applications all by yourself.