Fall '23 Week 5


Edited Transcript

Hello and welcome to the week five announcements video for CC410 in fall 2023. This week you should be wrapping up a module on inheritance and polymorphism and there’s also an example on inheritance that’s really fun. Also this week you’ll be asked to complete the start -stop -continue survey. I talked about that a bit last week. It’s a short survey that’s kind of an informal T -val in the middle of the semester giving me some advice on things I should either start doing, stop doing, or make sure I continue doing. And hopefully this week you have a little time to start thinking about final project topics and things that you might want to look at and we’ll actually have our final project milestone do in the next couple weeks.

So this week we’re going to have another quick module of content that talks about some concepts around debugging and logging in our code. We’ll also look at Lambda expressions which are very important to use in certain situations. You’ll do a quick example on debugging and logging and then this week you’ll have your third restaurant milestone and the second final project milestone do as well. So in my last video I talked a little bit about milestone three. This is the first milestone where all general requirements are enforced so your code needs to match the style checker, the type checker, it needs to have all documentation in it. So make sure you get that taken care of. You should be adding inheritance to your code by refactoring a lot of the previous classes to add those base classes. You’ll also need to add some new unit test to account for that and update your UML diagram. I’ll told this module is only about 1500 lines of code so it’s less than the previous milestones but it does require a lot of careful work to make sure that you don’t break anything and that things keep working and as always feedback is welcome.

So for milestone three like I said last week biggest hint is to work in small chunks. Try and pick one thing like building the entree base class, take care of that, get that working, then move on to the other parts, work on your milestones a little bit at a time. Don’t be afraid to commit early and commit often to get. That way if you break something you can roll back to that previous commit instead of trying to undo what you did. This is also a good opportunity to try test driven development. You can write some of your unit tests before you actually write your code and then update your code to pass the tests. The big hint that I always give is to inherit the order item or the item class on your base classes. So you’ll have a new base entree class. It should inherit the order item interface. That’s the easiest way to do this. And then of course you can ask me questions on syntax anytime. So looking ahead after this module, the next couple of milestones, we’ll talk about design patterns and test doubles, which I think are really big takeaways from this class that will be very interesting. And then we’ll shift modules and talk a little bit more about graphical user interfaces, event -driven programming and things like that.

So hopefully as you work on this milestone, you don’t find it too frustrating, but hopefully it works out really well. I think this is a really good exercise to go through and refactor some of your previous code, but of course you might find it a little bit frustrating to work on. So hopefully it’s not too bad. But as always, if you have any questions, let me know and I will see you again next week.