Fall '24 Week 5

Resources

Edited Transcript

Hello and welcome to the week five announcements video for CC 410 in fall 2024. This week, you should be wrapping up the work on inheritance and polymorphism. There’s a short example project that you’re working on, but there shouldn’t be anything else. And so instead at the end of this module, I’ve added a start, stop, continue survey, which gives you a quick chance at the beginning of the semester to tell me if there’s anything I should change about my approach. And then you also have some final project time that you can work on as well.

So this week, we’re going to continue that discussion by doing another lesson on debugging and logging and lambda expressions, which are very important things to learn. You’ll do a short example working with debugging and logging in a prior project. And then you’ll be working on the third restaurant milestone and hopefully scheduling your second final project milestone this week as well. So for milestone three, this is the first one where all general requirements will be enforced. So you’ll need to follow the model that we set with the Hello Real World project and have all of the documentation, all of the style guide implemented, type checking, unit testing, all of that needs to be implemented for this milestone. This is the first milestone where I will start taking points off if your code does not match the type check, does not match the style check, things like that. Basically what you’re doing in this milestone is adding inheritance to your existing code. You’ll need to refactor some classes and add some new unit tests as well as update your UML diagram. This milestone ends up being about 1500 lines of code. A lot of it is code that has changed and not necessarily new code. So hopefully it’s not that bad of a milestone. It requires a lot more thinking and a lot more careful preparation in order to complete it. And as always, feedback is welcome if you have any questions on that milestone.

So some big hints for milestone three. Like I said last week, work in small chunks, try and implement one feature at a time. And then as you get those implemented, commit early to GitHub and commit often. That way, if you make a mistake in a future edit, you can always roll back to a commit that you know works and try again. This is also a great chance to try test -driven development. If you’ve always wanted to try that, you can write your unit tests first and then try and implement those in your code and see if you can get them to pass. And as a quick hint, you’re making… an item or an order item interface in this milestone, you’ll want to inherit that on your base classes. Your base Entrez, your base side, your base strength classes, and then that will transitively get inherited on all of the subclasses of that base class. That makes your inheritance hierarchy a little bit easier. Then as always, you can ask questions if you have any questions on syntax.

Looking ahead at this point, the next module, we’re going to switch over and talk about design patterns and test doubles. Like I’ve said many times already, those are the two modules I think that are most important new content in this class. Then we’ll switch over and start working on writing a graphical user interface and doing some things around event -driven programming. Hopefully things are going too bad. Hopefully it doesn’t feel like that the weather’s gotten really bad and it’s just starting to really rain down on you in this class. But if you have any questions at all, let me know. Otherwise best of luck and I will see you again next week.