Spring '26 Week 3
Resources
Edited Transcript
Hello, and welcome to the week three announcements video for CC410 in spring 2026. So, this week you should be wrapping up the second module, which is on object-oriented programming. You’re going to do a quick example project on building an object-oriented programming data classes for a restaurant project, and then you’re going to do the first real milestone of the restaurant project where you’re going to build a bunch of data classes to represent the menu. This week, we’re going to move on to some new topics around documentation, unit testing, and modeling our code using UML. You’re going to do a quick example of adding documentation and unit testing to what we did previously. Some other stuff that you’re going to do, and then you’re going to work on the restaurant project where you’re going to add unit testing to the project itself.
So this milestone, you’re going to write unit tests. I would estimate, I expect around 400 total unit tests, including all of the different parameterized ones. You’ll add documentation comments to all your code. You’ll build a class diagram for your code. This milestone, again, can take anywhere from three to eight hours and is anywhere from 3,000 to 4,000 lines of code. Again, the big thing to keep in mind, a lot of these unit tests are going to be repeatable across classes. So if you get a unit test that works really well for one class, you can probably reuse it for other classes. And I’ll actually show you an example of one way to do that. So while it may seem like there’s a lot of code, I don’t expect you to write every single class, every single line. I really want you to think about the overall structure of the code and how you can repeat those different structures across different classes. And as always, feedback is welcome if you have any questions on any of the projects.
So for milestone two, my biggest hint is do not look at your source code when you’re writing your unit tests. Instead, you should look back to the original documentation to make sure things are right. For example, if the price of a particular item is $4.75, but you wrote it incorrectly in your source code as $4.65, then if you write your unit test to verify your source code, you’re going to have the same wrong price. I want you to go back to the menu and look at that price and use that to write your unit tests. You know, you may have to look at your source to understand exactly what the function names are, but go back to the original menu to look at all the details and make sure that you’re meeting that. Use global attributes in your files, and I’ll talk about that in just a second. Use generalized unit tests, so things that are actually repeatable in your classes, and look at using parameterized tests for anything that use enums.
So here’s a quick example of how you can do generalized unit tests with these global attributes in a class. You’ll notice up here at the top, I have the price and the calories as a global attribute in my test class. And then I have methods below that that just confirm that the price is correct and that the calories are correct based on that attribute. So what I can do is I can copy paste this entire class. I can do a quick final replace for the Riker to change that to be whatever class I’m trying to test. And then at the top of the file, I change the price and the calories there. And boom, I can now test another file using this same piece of code. It’s possible that you could even make this a little bit more creative, but this is kind of what I mean by making your tests a little bit generalized so they’re easier to copy, paste, and edit as you go through things.
So other big thing to keep in mind in this class is a growth mindset. The milestones in this class are challenging. Those of you that I’ve met in person already, I have tried to emphasize this as much as I can. So you’ll need to read carefully. You’ll need to ask for clarification. You’ll need to start early and work methodically. And then, of course, the big thing is to make sure you’re committing to get often so that if you make a mistake, you can work backwards. But I guarantee most of this content is not challenging in terms of the content. It’s challenging in terms of the scope and scale. And so as long as you go into it with a growth mindset of, I can do this, I can learn how to do this, I can go through these motions and get better at this, you’re going to be just fine. So go into it with that positive mindset and I think it’ll work well.
Looking ahead after these modules, next week we’re going to talk about inheritance and polymorphism, which is another big topic in object-oriented programming. Then we’re going to have a debugging lab. We’re going to talk a little bit about debugging and logging and some other things that we’re going to do in this class. And that will already get us to the end of February where you’re going to schedule your next final project check-in where we’ll talk about project ideas. Then we’re going to switch over and do design patterns and test doubles in module six and seven. I think those are the most important modules in this entire class. And then we’ll switch over and talk about user interfaces, web, et cetera, from there.
A couple of quick things on my schedule coming up tomorrow, February 3rd. I’m at a conference in Manhattan. I’m going to be there all day. And so because of that, my response time and my grading might be a little slow tomorrow. It’s usually my day on campus, but I’m actually going to be stuck at a conference all day. And then coming up in two weeks, I have another conference in St. Louis that is February 17th through 22nd. That is a really big involved conference. It’s the big one I go to every year. Usually it’s scheduled over spring break, but this year it’s a lot earlier. Because of that, that week there will be slower email responses and slower grading responses. I will try and get back to you, but especially the Thursday and Friday of that conference, I’m going to be booked solid all day doing conference stuff. And so emails will probably get responded to in the evenings as I get a chance. So just be aware of that. I’ve got a couple of things coming up on my schedule that may make me a little bit harder to get a hold of. But hopefully we can work around that and everything will be just fine.
So hopefully things are going well in this class. Now we’re going to start working on testing our code, which I think is a really important thing to learn, especially for working in industry. The big expectation in a lot of industries is every piece of code you write, you’re going to write several unit tests for it. And often in large-scale corporate functions, the amount of code for unit testing is sometimes larger than the amount of code in the application itself. So it’s a really important topic to learn. I hope this milestone goes well for you. As always, if you have any questions, feel free to let me know. Otherwise, good luck. And I will see you again next week.