Spring '21 Week 4
Resources
Edited Transcript
Hello, and welcome to the week 4 announcements video for CC 410 in spring 2021. So you should be wrapping up at this point all of the stuff for module three, which is the documentation, testing and UML module. It’s one of the larger modules in terms of tutorial content. And also in terms of the actual final project, or the restaurant project content, writing unit tests is a lot of code. And so hopefully at this point, you should be turning that in, I just checked this morning, and it looks like most everybody has turned that in. So that’s really great. So keep up the good work there. This week, we’re going into kind of a weird two week period where we don’t exactly have a restaurant project due this week. But we have a lot of stuff due next week. So make sure you pay close attention to both module four, and five, because they kind of mix together.
So this week with module four, we’ve got a tutorial on inheritance and polymorphism. It’s a topic we’ve covered a couple of times before in this curriculum. But this time, we’re going to go really deeply into why it works and the way it works and things like that. And then we’ll do a small example project. That example project is the example you’ll need for the third restaurant milestone. So as soon as you’ve completed that example, you can start working on the third restaurant milestone, which is actually listed as part of module five, which we’ll get to in just a second. The other two things in module four, there is a start stop continue survey, that’s just a quick chance for you to tell me if there’s anything I’m doing this class that you’d like me to stop doing, if there’s something you’d like me to start doing with this class, or if there’s something I do that you’d like, and you want to make sure I continue doing that. This survey will be open throughout the semester, so you can fill it out any time. It is anonymous. So unless you put something identifiable in Qualtrics, I won’t know who you are. But it does send me an email as soon as somebody fills that out. And I will do the best I can to take all of that feedback into consideration as we continue to work on this course throughout the class. Some other things that you can do this week, you can start spending some time on the final project. Basically, we only have these two weeks, we only have one milestone due. So it gives you some extra time to work on your final project.
Because when we get to next week, module five, and I really encourage you to finish module four very quickly this week. So you can get on to module five, because there’s a lot of things going on in module five. In module five, we have two tutorials, we have one on debugging and logging, and one on lambda expressions that are both pretty short, they shouldn’t be too bad. We do an example project on debugging and logging. But it doesn’t actually impact your ability to work on the restaurant project, you’re not required to do any logging in the restaurant project. However debugging might be helpful depending on what you’re working on. And so the end of next week, February the 28th. About two weeks from today, you’ve got the third restaurant milestone, which is adding inheritance and polymorphism and refactoring some of your code. And this is the final milestone for the class library part of the project. And then also, we’re going to have our second final project meeting sometime next week, just to see where you’re at on the final project. So hopefully between these next two weeks, you can spend some time on the third restaurant milestone, which is not as big as the second one. And then you can also spend some time working on the final project. So you’ve got some stuff to report for the final project meeting. Like this vision for the final project is that by this by end of next week, you’ll have some classes built. But depending on what your final project is, you might be setting up the framework you’re building, you might be working in a game engine. And so as long as you’ve got something reasonably interesting to show for your second final project meeting, that’s really what I’m shooting for, I just want to make sure that you’re continuing to work on that project throughout the semester, instead of just saving until the end of April, like a lot of classes.
So for milestone three, like I talked about, this is the first milestone that requires all of the general requirements we learned in the Hello World project. So this is the first one we’re we’re enforcing the style requirements. So make sure all of your code passes a style check. In this milestone, you’re going to be adding inheritance to the modules, you’re going to be adding some base classes and interfaces, things like that. And so once you add that inheritance, you’re going to have to go through and refactor all of your existing classes. To take advantage of that. You’ll also need to update and add some new unit tests. I believe after this milestone, you should have 526 unit tests. So there’s about 100 new unit tests that get added. You’ll also need to update the UML diagram. So make sure you don’t forget to do that. In this milestone, my code was about 1000 new lines of code and about 500 lines of code that were removed because they were redundant. So it’s actually not that big of a project when you get down to it. But it is kind of complex to get all of this inheritance working correctly and get all of the code refactor. And as always, Your feedback is welcome.
So some hints for milestone three. The biggest hint I can give you is work in small chunks, try and do one little part get it to work. And then use Git to commit early and commit often make sure you’re constantly committing as you get stuff working. That way, as you work on the next chunk. If something else doesn’t work, you can roll back to that previous commit. There’s lots of good instructions online for how to do that. But try and work in small parts. This milestone is also a great chance to try test driven development. If you want, you could go into the unit tests and add the unit tests that are needed first, and then work on writing your code to pass those unit tests. That would be something that’s really interesting that you could work on in this project. It’s not explicitly required in the requirements. But I do really recommend once you write the order item interface, that you go ahead and inherit order item on your base on tray side and drink classes. Instead of inherit. Instead of inheriting that interface directly on each of the entrees, drinks and sides. It does make your code a little bit more complex in the base classes. But it does make the rest of the code a lot simpler. And I’ve got a little blurb in green on the milestone itself that discusses this. But if you have questions on it, let me know. One of the big things for this milestone is going to be syntax there are especially in Python, there are a few instances where syntax gets a little crazy working with interfaces. And as best I could, I tried to model all of that in the example project for inheritance. But if you get to a situation where you’re like, I think this looks right, but the syntax it keeps complaining on it. Feel free to post in discord or let me know via email at the cc410-help email address, and I would be happy to try and help you figure that out.
So looking ahead as before, these next two weeks, we’re working on module four and module five, like I said, they’re kind of mixed together. So don’t wait till the end of this week to do module four, because then you’ll feel a little bit behind when you get to module five. module four, and five are all together, you’ll have a restaurant milestone and a final project milestone at the end of that two week sprint. And then once we get into March, we’ll start working on our graphical user interfaces or GUIs. And so module six is GUI basics. Module seven is Event Driven Programming, making your GUIs actually interactive. And then from there, we’ll work on some other GUI topics. We’ll work on web API’s, etc. As we go toward the end of the class.
So that’s all I got. I hope you enjoyed your Presidents Day weekend. Unfortunately, we don’t get Presidents Day itself off. Hopefully you’re staying warm out there. You can see today I’m wearing my hoodie because it’s cold everywhere. But as always if you have any questions please feel free to contact me on discord or via the cc410-help email address. I’m always happy to help and good luck this week.