Fall '26 Week 3
YouTube VideoResources
Edited Transcript
00:00 Hello and welcome to the week three announcements video for CC410 in Fall 2026. So this week you should be wrapping up the second milestone, which is the first actual restaurant milestone, the object oriented programming milestone. So you’ll do an example for that and then you’ll be submitting your first restaurant milestone for grading. Remember that this milestone does not require all of the base requirements, so you don’t have to worry about things like style guide or documentation yet. But we’re definitely looking at the structure of your code and also looking at the typing of your code. So make sure you get all of those things taken care of. Quick reminder for everybody, don’t forget this semester we don’t have access to GitHub Classroom because it was removed at the end of May. The videos will still refer to GitHub for all the examples, and that’s because I want to go back to using GitHub as soon as I can, but I’m waiting on my new tool to get approved. So for right now, for the example projects, all of the code will be present in Codio, so you don’t have to clone the repo anywhere. And then when you submit it, you just submit the other assignment and say done, and I will open up your Codio project and do the grading there.
01:04 So you don’t have to do anything with GitHub on the examples. For the restaurant project milestones and for the final project, you’ll still be committing those to GitHub as always. I just manually made those repos for you, but I didn’t do that for all the example repositories. Hopefully here soon I get to use my tool and then we can go back. In the example videos, anytime it refers to GitHub stuff, just don’t worry about that, just work in Codio and everything should work fine. back. So in the example videos, anytime it refers to GitHub stuff, just don’t worry about that. Just work in Codio and everything should work fine. So this week, we’re doing our second restaurant milestone, which is all about documentation, unit testing, and adding some UML diagrams. You’ll go through a quick example of that, and then you’ll update your restaurant milestone to include a lot of unit testing. So in this milestone, there’s a lot of unit tests that you’ll end up writing. My rough count is around 400, depending on how you structure your code. You’ll also have documentation comments to all your code, and you’ll create a UML class diagram for the object-oriented classes in your code. This milestone, again, I think it could take anywhere from three to eight hours to complete this milestone, depending on how efficient you are as you work. The nice thing is a lot of the unit tests are boilerplate, so you can repeat them and make them very easy to work with. But in total, my estimate is this will be around anywhere from 3,500 to 4,000 lines of code. So it’s a very, very large milestone.
02:15 Part of the point of this class is to give you very large projects to kind of force you to learn how to code efficiently. If you sit down and try and write all 4,000 lines of code from scratch at the keyboard, it’s going to take forever. You need to think about how you can structure your code so that you can clearly copy and paste things and adjust things and think bigger about the structure of your code. That’s really what I’m trying to force here. Again, remember, please don’t use any AI tools for this. This is your learning, so you need to be the one to do the work, but this is a good practice for you to learn how to code bigger and more efficiently so that you can work on these projects. Some other big hints for this one. Do not look at the source. And what I mean is when you’re writing the unit test, do not be looking at the code you’re trying to test while you’re writing the unit test. Instead, go back and look at the original menu. So, for example, if the Kirk sandwich has a price of $7.56, don’t look at your code to confirm that. Look at the menu to confirm that. Because if you’re looking at your code, your unit test will always work because it’s checking what’s in the code. Your unit test should be checking what’s in the menu and make sure that it matches the menu. That’s how you’re going to find those mistakes.
03:19 Some other things you can do is you can generalize some of the tests, but don’t try to generalize the ingredients. A lot of classes have specific ingredients for that class, you can’t really easily generalize that without some real work. But you can generalize things like the toppings, or the add ons, things like that those can be generalized because they use an enum. And so one thing you can do is you can look at parameterized tests. And so this is an example of what I call a generalized test, where instead of writing the price and the calories directly in the test, we create variables at the top. And so that way you can copy paste this whole class and then just change those variables and maybe do a find and replace for the Riker and replace it with the Kirk or something like that. And then you’ll be able to reuse a lot of this test code without making many edits to it. So other big thing to keep in mind in this class is a growth mindset. The milestones in this class are challenging. They’re meant to be challenging. And I want you to think about that, that you can always learn and work through this if you read carefully, ask questions and start early. But go into this with a growth mindset. You can learn, you can do this. It’s going to be challenging, but that’s part of the point.
04:23 If I don’t challenge you, you’re not going to really learn and get better. So start early, work methodically, and especially on the restaurant milestone, commit early and commit often to GitHub. That way, if you do screw something up, you can always roll back to a previous commit and start over. That’s going to be really powerful as we go forward. So looking ahead after this milestone, we’ve got a module four and five where we talk about inheritance and debugging. And then we’re already going to be at the point where we have our second final project discussion by the end of September. Then we’re going to go on to module six and seven, which are on design patterns and test doubles. I think that’s probably the most interesting and most useful new thing we’re going to learn in this class is design patterns and how to test them. And then after that, we’ll switch over to do user interfaces and web, stuff like that. So this milestone is all about writing tests. It feels kind of repetitive, but it’s a really important part of coding is actually writing the tests. A lot of professional coders would tell you that they probably spend twice as much time writing unit tests as they do writing actual code. But this is really how you build code that is bulletproof and how you make sure that your code works correctly. So that’s the point of this milestone. As always, if you have any questions, feel free to reach out and let me know. Otherwise, best of luck on this one, and I will see you again next week.