SPring '26 Week 4
YouTube VideoResources
Edited Transcript
Hello, and welcome to the week four announcements video for CC410 in spring 2026. So, right now, you should be wrapping up the second restaurant milestone, which is all on adding documentation, unit testing, and UML diagrams to your project. You’ll do a quick example for adding documentation and unit testing to an existing project, and then you’ll be working on your restaurant project to add unit tests to test all of the code that you wrote for the first milestone.
So going back to that first milestone, a quick note on grading, you’ll find rubric details in Canvas. So anytime that points were deducted from your score, that will be detailed in a rubric in Canvas. But then I will leave detailed feedback in a GitHub pull request. Take a look at those. The things I leave in GitHub are usually things you’re going to want to address before the next milestone is due. However, in that feedback pull request, there’s a button at the bottom that says merge. Don’t merge that pull request. I will do any of that that I need to do. If you merge it, then I don’t see your changes as cleanly. And so it helps to just leave it alone for the first few milestones. So just leave it as is, but you can read that feedback and address those things as you work on milestone two. The other big thing I saw is don’t forget to make use of tools, especially MyPy, but also now that you’re doing documentation and unit testing, you should be using tox, just like we saw in that Hello Real World project. There were a lot of issues that I saw that MyPy would have pointed out to people. And usually I posted a screenshot in your GitHub feedback that showed MyPy would find this error. So make sure you’re making use of MyPy to find those structural syntax errors in your code so that you know that it’s going to work. Probably as you’re working through this milestone, you’re running into some of those problems. And MyPy is a thing that will definitely help with that.
So this week we’re going to work on the third restaurant milestone where we’re going to introduce inheritance and polymorphism into our project. This is a really fun project because we’re going to do a little bit more refactoring with our code instead of writing new code. So hopefully this is a really fun time to kind of get dig, dig deeper a little bit into the object-oriented structure of our code. The other big thing that’s going on this week is you’ll have time to complete a start, stop, continue survey. In brief, that’s a kind of mid-semester T-valve for me. Basically just asks you if there’s anything you want me to start doing, anything you want me to stop doing, and anything you want me to continue doing. I read all of these. I take them very seriously. If I can make changes, I will. Sometimes students ask me to start doing something or stop doing something that I really can’t change, but I will take it into account. And then you’ll have some time to be thinking about your final project because we’ll start meeting here toward the end of February to discuss final project ideas.
So after that, we’re going to introduce debugging and logging. Oh, and this week you don’t have a restaurant milestone due. It’s going to be a bigger milestone that’s due after next week. So you got two weeks to work on it. So we’ll have debugging, logging, and Lambda expressions next week. That’s when the third restaurant project is due and also when you should be scheduling the second final project milestone. You’ll notice if you look at my calendar, I am out of town most of next week for a conference. And so we’ll probably actually meet the week after next to start talking about your final project again. So once we get to milestone three, all general requirements are going to be required. So documentation, unit testing, style guide, all of that is going to be required. You’re going to have to refactor some classes, add some new unit tests. But the nice thing is this one’s only about 1500 lines of code that are new or changed. So it’s not as big as the other two, but it’s probably more structurally complex. You’ll also need to update your UML diagram to reflect the changes that we’ve made to your project.
So as with everything, milestone three, work in small chunks, commit early, commit often. This is also a good chance if you want to try test-driven development. Try and write the unit tests before you change things. The two big hints I give you on this one is you’re going to write an item class. I think I used to call it order item, but I think now it’s just called item. You’re going to have this item interface that you need to inherit on everything. The easiest way to do that is inherit it on your base classes. So your base entree, your base side, and your base drink. And then those get inherited by all the individual classes. And so item gets inherited transitively. You don’t have to explicitly inherit the item class on those subclasses. The other big thing, this one gets a little bit more complex on syntax. So if you have any questions on syntax and Python for doing this object-oriented polymorphism, just let me know.
So after this, then we’ll spend some time on inheritance. Then we’ve got debugging. We’ll have final project. And then we’ll spend some time in modules six and seven talking about design patterns and test doubles. I have said it before. I’ll say it again. I think those are the two most useful milestones in this class. And then we’ll switch gears once we get past spring break to do user interfaces.
So hopefully things aren’t on fire. We’re on week four of the semester. This is usually when students report that they start getting busy. So hopefully things are going well. As always, if you have any questions, let me know. Otherwise, good luck. I believe in you and we’ll see you again next week.