Spring '25 Week 5
Resources
Edited Transcript
Hello and welcome to the week five announcements video for CC 410 in spring 2025. My apologies for not being here last week. I was under the weather, but hopefully last year’s video worked out really well. So this week you’re going to be wrapping up a module on inheritance and polymorphism. You did a small example exploring inheritance using a blender and a bunch of fruit. And then we also have in this class a start, stop, continue survey that’s out there. I’ve already seen a couple of responses from students. Basically I use that as a short little chance for you to give anonymous feedback to me throughout the semester of things you want me to start doing that I’m not doing, something you want me to stop doing that I’m doing that you don’t like, or something you want me to continue doing if you think it’s really important to your success. It’s just a great way for me to get some feedback and see what’s working and what’s not in the class. You also have some time this week to start thinking about your final project because there’s not a big restaurant milestone that’s due right now. So start thinking about how your final project idea might fit into some of the stuff we’ve already done with the restaurant milestones.
So this week we’ve got another new module. This module deals with debugging and logging and also introduces lambda expressions. So you’re going to do a quick example with debugging and logging and you should be continuing to work on the third restaurant milestone. That milestone you have two weeks to work on. So obviously it’s a larger milestone than before. So make sure you give yourself plenty of time to work on that third restaurant milestone. You should also be scheduling your second final project meeting. However, please be aware I’m out of the office entirely all of next week. I will also post an announcement to this effect later this week. It means I’m going to be unavailable for any scheduled meetings or anything next week. So if you need to schedule a final project, ignore the due date. Just get it on my calendar sometime between now and spring break and we’ll get that final project meeting taken care of.
So this week milestone three, all general requirements are enforced. That means your project needs to have all of those things we did in the Hello Real World project, including MyPy for type testing, using flake for style guide, using documentation. All of those things are going to work. to be enforced in this milestone, and if they’re missing, there are going to be point deductions that are taken off if you miss any of those things. So make sure you match all the requirements. You’re going to add some inheritance to your existing classes. You’re gonna refactor some stuff, add some new unit tests, and update your UML diagram. All told, this is really only about 1,500 lines of code added or changed, but you have to be very delicate and very careful to make sure that you’re changing the right parts. And as always, feedback is welcome if you have any questions or concerns about the milestone.
So some big hints for this milestone, work in small chunks. I see a lot of students that will slowly work through this entire project. They’ll kind of take everything apart, start trying to change it, and then they’ll get way in the weeds, and it’s hard to test if it’s all torn apart. So try and work on one part at a time, work in small chunks, take advantage of Git, use Git to commit early and commit often and save your code. That way, if you have something working and then you try and fix something else and it breaks, you can roll back to that earlier commit and try again. This isn’t also a good time to try a test-driven development, so you can actually try and write your unit tests before you try and pass them. That’s really an interesting thing to do. I give a hint on this one. You should always inherit the item or order item class on the base class and not the individual classes. So for example, in the entrees, the base entree class should be the one that inherits from order item. And in all of the subclasses of entree, don’t have to explicitly inherit order item because they’re inherited from the base class that inherits that. And finally, if you have any questions on syntax, please let me know, especially when we work with this inheritance stuff in Python, sometimes the syntax is a little weird. So don’t be afraid to reach out and ask questions if you have any questions on that.
Looking ahead for the rest of this next few weeks, we’ve got some time spent on design patterns and test doubles the next couple of modules. I’ve said this before, I’ll say it again. I think those are probably two of the most important modules in this class. And then after spring break, we’ll shift gears a little bit and we’ll start working on graphical user interfaces and things like that. And then leading toward web APIs toward the end of the semester. So hopefully everything’s going well. I know we’ve gotten a lot of snow this week and the week before. So hopefully it’s not too miserable out there. I know it’s really, really cold today, but try and stay warm. If you have any questions, let me know. Otherwise best of luck. I will not post a new announcement video next week because I’m on the road. I’ll probably repost a repeat from last semester again. But if you have any questions at all, feel free to let me know. Otherwise, good luck. And I will see you in a couple of weeks.