Fall '25 Week 4
Resources
Edited Transcript
Hello, and welcome to the week four announcements video for CC410 in fall 2025. This week you should be wrapping up the next module, which is on documentation, testing, and creating a UML diagram for your project. You’re going to do a quick example where you add documentation and unit testing to an example project. And then you’re going to be working on the second restaurant project, which is all about adding documentation and unit testing to your restaurant project. That milestone can be pretty big, but hopefully it goes well. If you have any questions about unit tests you should be adding, please let me know.
This week we’re going to shift gears and talk a little bit more about inheritance and polymorphism, which is one of the really important concepts in object-oriented programming. You’ll do a quick example about inheritance where you get to explore what that looks like. I’ll also ask you to do a quick survey that I call the start, stop, continue survey. This is just a quick beginning of the semester check-in to see how things are going. It’s completely anonymous on Qualtrics. I get no data about who you are, but it just gives me an opportunity to know whether you want me to start doing something, stop doing something that I’m currently doing, or continue doing something that you really like that I should keep doing in this class. I take that feedback very seriously, so please let me know if there’s anything you’ve got. And then also, hopefully this week you’ll get some time to be thinking about final project ideas in preparation for our next project check-in here in a couple weeks.
Then next week after that, we’re going to do a module on debugging and logging. We’re going to learn about Lambda expressions. You’ll do a third restaurant milestone. So there’s a couple of weeks to work on that milestone. And then already the end of next week, you’ll be scheduling your second final project check-in. So for the upcoming milestone, this is the first one where I enforce all general requirements. So everything that you did for the Hello Real World project, including documentation, unit testing, flake style checking, MyPy, type checking, all of that stuff needs to be implemented in TOX. It needs to be automated and it needs to all work. In general, if you want 100% on Milestone 3, when I run a brand new TOX run, it should give me that little green all test passed at the very end. So make sure you’re targeting that level. That’s what we’re looking for. For that milestone, you’re going to refactor a few classes. You’re going to add some inheritance to those classes, and then you’re going to update your UML diagram. This milestone is actually much smaller than the last two. It’s only about 1,500 lines of code, new or changed, but it does require a lot more thoughtful approach to how you add the inheritance and refactor the existing code. And as always, feedback is welcome if you have any questions.
So some big hints on this milestone. Just like every other milestone, work in small chunks. Don’t try and tear everything apart and put it all back together. Instead, work on one thing. Add the interface in first. Add in a parent class. Get that to work and then keep working. Use your unit tests. Now that you have unit tests, you can run your unit tests to check to make sure your syntax is correct, make sure you didn’t change any functionality. Don’t forget that you can commit early and commit often. GitHub is your friend. If you make a mistake, you can roll back to an earlier commit. It’s really easy to do. You can even try test-driven development. You could work on writing your unit tests first and then writing code to actually pass those unit tests later. You can work on inheriting. One thing I want you to do is definitely inherit the item interface on the base class. So for example, your entree, you’re going to have a base entree class. You should inherit the order item interface on that base class, not on the individual entree classes themselves. That way you get that chain inheritance that works a lot better. And then, of course, ask any questions you have on syntax. For some of you, this might be the first time you’ve really done some of this object-oriented stuff in Python. So let me know if you have any questions.
So looking ahead after that, like I said, we’ll do a module on inheritance debugging. Then we’ll get into design patterns and test doubles, which like I’ve alluded to before, I think are the two most important modules in this class. And then we’ll shift over and do some stuff with UIs, etc.
One thing I want to remind you of that’s coming up is every week I host tea time office hours within the computer science department. It’s a chance for you to come in and talk to computer science faculty, staff, advisors about life, the universe, and everything. For tea time, we tend to do a few panels every semester. And so next Monday, September 22nd, we’re hosting a career fair prep and industry panel. This is a chance for you to meet with the Engineering Career Fair Career Center rep who’s going to be there, Liz Parks. We’re also going to have several folks from industry at varying levels of seniority and industry there to give you tips on how to succeed at a career fair, resume tips, interview tips, anything you want to know right before the Engineering Career Fair, which is going to be, I believe, Wednesday. So again, tea time office hours. It’s Monday, September 22nd at 10 a.m. We hold this in Engineering Building 2168, which is the conference hall on the west end of the building past all the CS offices. Or you can join via Zoom. The Zoom link is hosted on the homepage on Canvas. It’s easy to find, or you can always post and I will let you know.
So hopefully things are going well. Hopefully you’re not at that point in the semester where things are on fire. It is week four. I know that this is the week where difficulty usually ramps up in a lot of classes and this one is included in that. So I hope things go well. But as always, if you have questions, let me know. Otherwise, best of luck and I will see you next week.