Subsections of Spring 2023
Spring '23 Week 1
YouTube VideoResources
Edited Transcript
Hello, and welcome to the week one Announcements video for CC 410 in Spring 2023, my name is Russell Feldhausen. And I’ll be your instructor this semester. My contact information is here on the slide, you can email me anytime you can also contact me, I generally work remotely, I usually am at home in Shawnee, Kansas near Kansas City. But I’m usually on campus on Mondays. So most of the time you’re working with me I’ll be remote, we can meet via zoom anytime we want. If you want to meet with me in person, you can do that usually on Mondays when I’m on campus.
So the big picture for cc 410 is all about building up your skills in object oriented programming. We’re going to spend a lot of time learning how to structure large programs, with a lot of classes and a lot of different things going on, we’re going to learn about testing specifically unit testing, we’re going to learn some design patterns that are very common in software. Then we’ll shift gears a little bit and spend some time learning about graphical user interfaces or GUIs. We’ll learn a bit about web interfaces. And we’ll spend some time on serialization and some other topics. The way this class is taught is each week or each module will have some sort of textbook section followed by a quiz, then we’ll have an interactive example. Generally the example you’ll just follow along with me, I work through the example in a video that takes about an hour or so. And then when you get done with the example we’ll have a long form restaurant project that consists of multiple milestones. And throughout the semester, we’ll build up that project one milestone at a time until we get a fully working restaurant point of sale. At the same time throughout the semester, you’ll be working on an independent final project. We’ll talk more about the final project when we meet in person a little bit later. But for right now, don’t worry too much about the final project, just be aware that there’s one out there that’s coming towards the end of the semester.
So in this class, we’re going to introduce you to a lot of new technologies you haven’t used before. First and foremost, you’ll be using Git and GitHub classroom to store all of your code. This is one of the tools that you use in professional software development. And it’s really important for you to get comfortable with it. So you’ll learn how to use Git and GitHub classroom will also use an automated build tool for Java, you’ll be using Gradle, which is one of the more common tools for Python, we’re going to use tox, which I think is a pretty good tool for Python for that. For Python, specifically, we’ll also introduce you to formal type checking in Python, it’s something you haven’t had to do a whole lot of right now, Java developers, you’re already pretty used to type checking, so you don’t have to worry about that too much. Unit testing is going to be brand new, it’s how you can write software to actually test the software that you’re writing. We’ll also spend some time talking about programming style and doing style checking, and also writing documentation comments in your code.
So like I said, the final project, you get to choose the topic for the final project, the goal is to have it aligned with your interests in some way, and use the new skills that you learned in this class to actually demonstrate that you’ve really learned how to build some software on your own. You’ll meet with me a few times throughout the semester, for the different milestone check ins via zoom, we’ll discuss the scope and I’ll kind of give you some pointers on exactly where you can go. And then at the end of the semester, you’ll deliver a presentation as part of your final project.
So this is week one week one is mostly administrivia. Just going over the basics of the class, you’ll also go through the Hello real world example where we’ll build up some of our development environment for this class. You’ll also be able to schedule the first final project meeting for either this week or next week, where we can meet one on one to discuss final project ideas. Don’t be afraid to to look at the office hours. I don’t have any formal office hours for this class, but you can schedule a one on one meeting with me using Calendly. Anytime. Since there’s only three people in this class, I think that will work out much better than trying to have a formal Office Hours period. We also have a lot of discussion platforms that you can use my primary platform for this class is discord. So you’ll have a chance to introduce yourself on Discord and say hi, you can also chat with me via email anytime. I’m also on the K State instance of Microsoft Teams. So if you use teams, you can also DM me there whatever works for you. But Discord is a great place for having whole class discussions.
After that, you’ll shift into week two, you’ll spend some time writing a class library and object oriented formatted for the restaurant project. That project is about 2000 to 2500 lines of code, which is already several times larger than the largest project you’ve probably done so far in the computational core program. A lot of it, however, is boilerplate code. So once you get one class built, you should be able to copy and reuse a lot of that code. But you have to be a little bit thoughtful about how you copy paste and be really careful and make sure that you get everything changed and updated. Because being careful now makes next week a lot easier.
The week after that on week three, you’ll spend some time learning about unit testing and documentation. You’ll add full unit tests to all of your class library, you’ll also add full documentation comments. So depending on where you’re at, that could be 3000 to 4000 additional lines of code. My model solution from a couple of semesters ago took 423 unit tests. However, a lot of those unit tests again are repeats. So you can copy paste and reuse a lot of the code and it’s a really good chance to catch errors. One reason that we’re doing projects this big is part of the point of this class is to get you used to working on large code bases. And so one of the things we have to do is have you write a large amount of code so that you learn some of those tools and techniques for how to manage large code, code bases, how to carefully copy paste how to reuse things, and how to really build stuff in an object oriented way. Then we’ll shift to week four, and five will add some inheritance and polymorphism to our class library, you’ll also develop the UML diagram to represent it. This is about 1000 lines of code, and a lot of it is just refactoring old code and simplifying the structure. In fact, sometimes you may even remove about as many lines of code as you add.
And then on week four, and five, we’ll actually have our second final project milestone where we’ll talk a bit more about what the final project will look like now that you’ve seen a few of the milestones in the class. So that takes us all the way through the end of February. After that, you’re going to learn about graphical user interfaces, libraries, web serialization, and a bunch more throughout this class.
So this semester, I’m making some big changes and some small changes to the class. The Big changes are I’m trying to split some of the larger milestones into smaller milestones. Previously, in the last couple of semesters when we got to the GUI part, I had two really large two week milestones, and I’m going to split those into four smaller one week milestones. Hopefully that helps you stay on task a little bit better. I’m also doing that to move some of the content around I’m going to try and pull the stuff on more advanced unit testing and undesigned patterns, I want to pull that forward. Before we start talking about GUIs. I’m hoping by doing so the class will be a little bit more streamlined. However, there might be some hiccups as I get everything figured out, we might have some examples that I have to rerecord things like that. So please bear in mind that I’m doing some changes in this class, but I’ll work with you to make it as painless as possible. And a lot of this will start with module six, which is the module you’ll start on at the end of February 1 of March.
There’s also some small updates behind the scenes. In Code yo, I’ve updated the stack that we’re using. So now in your load, your Codio box will be running on Ubuntu 22. With Java 11, and python 3.10. It shouldn’t really change anything. What you’ve been learning in computational core program is compatible with all of this. But it does mean that some of the versions are a little bit different than what you’re used to. This also implicates all of the examples. The examples have some hard coded stuff in there that is relative to a particular language, I’m going to go through and test and update those, but it may take me a little bit. For example, my goal today is to work on the Hello real world project. So there may be some updates that ASU for that very quickly this week as I get some of those fixed. So bear in mind, there’s some changes, I’m working through all of the code to make sure that it’s up to date.
So some advice for this class. This is a four credit hour class, which means you’re expected to work around 12 hours each week on the class. That’s four credit hours of actually in class time of watching lectures watching examples reading the textbook, plus another eight hours of working on the projects, I’ve tried to build the project milestones, so I expect any student can complete them in about eight hours. Most of the project milestones I can code through in about an hour to an hour and a half. So I figured that that gives you plenty of time to work through it. However, because it’s a four credit hour class, and it is a programming class, it might feel very heavy, it’s a bit a bit larger than classes that you’re used to. So I really encourage you to take the time now and schedule your time wisely. To help with that I’ve added a time management sheet in into the files and into the modules for this class. Basically, you can fill out a sample week for you and make sure that you’ve got 12 hours of time to devote to this class. And then on the backside, there’s a whole semester calendar that you can fill out so that you have an idea of what your due dates are, what the requirements are, you can fill that out through Week Five right now that’s already posted. And you’ll be able to fill the rest of that out as I post the rest of the modules. As far as each individual module, I really encourage you to start early and leave time for questions. Most everything in this class is due on Mondays. And so you’ll basically have all week to work on it the weekend to work on it and then you’ll have a chance on Monday to get questions answered. But if you wait until Friday to start and you get stuck very early on, you may not have time on Monday after I answer your questions to really get going. I will try and answer emails over the weekend as I can, but I don’t guarantee it always there are some times when I’m out of town over the weekend. I do guarantee email responses within one business day. So if you email me after hours on Friday, it might be Monday before I can get back to it. I will try and do better than that. But that’s what I can guarantee. Another piece of advice I can give you is to copy paste carefully. There are a lot of instances where you can either copy paste example code or copy paste your existing code and adapt it to a new class. However, you have to be very careful when you do that. Make sure you get your variables updated your class names updated. Sometimes debugging a pile of copy pasted code can be more frustrating than just rewriting it from scratch. Another tool that you can use is Git will show you how to use Git to store your code. One thing that programmers learned sometimes the hard way is to commit to get frequently anytime you have something working anytime you have a file finished, you know multiple times throughout a milestone you should be able to save and commit your code to get that way as you continue to work. on future stuff, if you break something, you just roll back to that commit, no big deal. So programmers will tell you that you should commit to get, you know, about every 30 minutes to every hour, whenever you get something working you should be committing to get. The last thing you can do in this class is used and cite online resources. There are a lot of resources out there for learning more advanced forms of code, I encourage you to go read through those. And then if you do use any code from those, you should cite those, again, the same rules apply. Don’t copy paste code, that is the point of the assignment. So if I’m asking you to write a bunch of unit tests, do not copy a whole unit test suite in there. That’s plagiarism. I don’t want to see that. But if you can’t remember how to reverse a list, or you want to know something, that’s you know, a little thing that you can find on StackOverflow go look that up, learn how to do it, and then cite the resource that you use to learn that that’s a very common thing you’ll see an industry and I want to encourage you to do it here.
So that’s really all I got, um, beyond that you can keep in touch with me via discord. If you haven’t signed up for discord already, please do you can go to discord bot.cs.ksu.edu. To register your eID with the discord system, it will match those two things up so you can get into the discord. There’s a channel there already for CC 410 that you get to post a little introduction in as part of the first assignments. Another good way to keep in touch with me is tea time office hours. We’re bringing that back this semester. So every Tuesday at 330. And every Friday at 1130 will open the Zoom Room for an hour. So it’ll be me and David Invirgo one of the CS advisors will also have some other CS faculty and staff hanging out and we encourage students to come hang out. It’s a great time to just hang out chat, get to know your fellow students ask questions about life, the universe and everything, whatever we can do to help. And then of course, you can schedule a one on one office hours with me anytime using Calendly that you can find either on the syllabus or on the homepage of Canvas. That’s all I’ve got. For this first video. I’m rooting for you. I hope things go well this semester. I look forward to meeting each of you one on one via zoom when we have our first final project meeting later this week or next week. In the meantime, feel free to get started on the coding, introduction and hello real world example. A lot of that is due either this Friday or the coming Monday. So make sure you watch those due dates. Those come up very, very quickly. If you have any questions, comments or concerns, feel free to email me anytime. And otherwise Watch this space for a new announcements video probably every Tuesday morning throughout the semester. I’ll try and be pretty good about getting those posted sometime before noon. So I look forward to working with you and I will see you all next week.
Subsections of Spring '23 Week 1
Spring '23 Week 2
YouTube VideoResources
Edited Transcript
Hello, and welcome to week two of CC 410 in spring 2023. So today you should be wrapping up module one, which includes the Hello real world project. And it also includes the first final project meeting. So if you haven’t done that already, please schedule a time to meet with me via Calendly. Over the next week or so, we’ll talk a little bit about the final project in this class, it gives us a chance to get to know each other, and it opens up that line of communication as you work on your final project throughout the rest of the semester.
This week, you’ll be working on the first big module of the restaurant project, which is all about object oriented programming, you will be creating a lot of objects to represent different menu items for a fictional restaurant. You’ll also do a quick example in object oriented programming following a very similar restaurant style. It’s just a ice cream restaurant. And then the big thing you’re doing this week is the first restaurant milestone which is due next Monday. So some big updates on this class. Don’t forget there is a discord channel, you can go to discord bot.cs stockades.edu. To join it, I think I have seen an invite from everybody there. So hopefully you’re all there.
In terms of grading, you should see grading on the Hello World project later this week. But really, the grading kicks off with the restaurant project next week. There are two places you’ll see comments from you on grading, you’ll see comments on the rubric on campus on Canvas about anything that you missed. And then I’ll go through your code and leave code comments in GitHub under the feedback pull request. It’s very important to remember on the feedback pull request, I will leave the comments. You don’t have to do anything, please do not accept or resolve or close that feedback poll requests. It will continue to update as you make changes throughout the semester. And then I will go in and add additional feedback as you work on the project. So again, don’t do anything with the feedback pull request and GitHub classroom, you can leave it as it is just read through it to see those comments. And then you can work on updating them for your next project. Hopefully other than that things are going so far. So good. I’ve got a couple of questions out there. So I’m working on some updates for this class. And then I will send out an announcement once I get those figured out. But at anytime if you have questions, you can either find me on Discord or email the cc410-help email address and I’d be happy to help there.
So this week, you’re working on restaurant milestone one. This is creating a lot of packages and a lot of classes within your code. Packages are probably something new for a lot of you this semester. So make sure you pay close attention to that. Really a lot of this is just boilerplate code. It is building classes with getters and setters and a few other interactive methods that you’ll use a lot of it’s boilerplate. Things you can do to make things easier later on, you can pay attention to your coding style, and documentation. Those particular requirements are not enforced for these first couple of milestones, but they do get enforced later on. So if you want to make things easier later, you can go ahead and do the style and documentation documentation stuff that we learned in the Hello real world project and add that to your code. Now, that definitely makes the next couple of milestones a lot simpler. For this milestone, I estimate it would take about three to eight hours to code depending on how comfortable you are with this, I will tell you that I wrote the model solution in about an hour for both languages. So it’s definitely not that much code if you’re really efficient about your coding style. But if you’ve never done some of this before, it may require some reading and some different things to actually learn how to put the code together. My model solution was about 1500 to 2500 lines of code depending on how much style and documentation you add to the code as well. And as always, feedback is welcome. If there’s anything on these milestones, that is unclear, please let me know. So I can go through and edit that for future semesters.
Looking ahead to the rest of this class, the next couple of modules are going to introduce some other concepts related to object oriented programming, including documentation and testing, inheritance and polymorphism. And then we’ll talk a little bit about debugging and logging. And we’ll talk about Lambda expressions, which are also really cool. And then once we get through all of those milestones toward the end of February, you’ll have another final project milestone where you’ll check in with me, and we’ll talk a little bit more about the final project in this class. last big thing I’ve got for today is I’m working on some updates for this class, I talked briefly about this in the previous video, what I’m trying to do is pull some of the content forward a little bit, I used to introduce user interfaces, and then I would cover some more content after user interfaces. I’m going to try that backwards this year. And so this year, we’ve got two new modules module six, module seven. module six is on design patterns, which I think is a very, very important part of object oriented programming. And then on module seven, we’re going to learn about test doubles. You might know these as mocks. This allows us to write unit tests that use mock objects instead of just working with the actual objects. And so these are two modules that are not new content, but I’m restructuring it so that it’s earlier in the class, it should work really well. It also splits some of the larger restaurant milestones into smaller milestones.
So those will hit toward the end of February, early March. And that should cover most of the content between now and spring break, and then I’ll work on getting the rest of the content posted sometime later in February. I’ve got some other class updates I need to make before I get back to this class. So as always, if you have any questions or comments, let me know and I look forward to seeing you again next week.
Subsections of Spring '23 Week 2
Spring '23 Week 3
YouTube VideoResources
Edited Transcript
Hello, and welcome to the week three announcements video for CC 410 in spring 2023, this week you should be wrapping up module two, which is all about object oriented programming. There was an example project that went with that and you shouldn’t be wrapping up the first restaurant milestone, we’re really setting the stage for the project that we’re going to work on throughout the rest of the semester. Hopefully, you’ve turned in the first restaurant milestone by this point. But if you haven’t, please make sure you get that done as soon as possible. I’ll be going through your code and trying to give you feedback on structure and style as best I can. So it may take me a little while to get these graded, but I’ll shoot to have them graded by the end of this week. So you can look at that as you work on the next milestone.
This week, we’re going to shift gears a little bit and work on documentation and unit testing in our code. We’ll also look at UML diagrams, you’ll do a quick example on adding documentation and unit testing to a project. And then we’ll work on the second restaurant milestone, which is all about adding unit tests to our existing code. So for the second milestone, there are about 400 ish unit tests that you’ll end up adding. You’ll also add documentation comments, and you’ll create a UML class diagram for your project. Similar to the previous milestone, this takes anywhere from three to eight hours depending on how comfortable you are with the project and how much work you’ve done ahead of time. And this project can be significantly larger, because you’re really adding 3500 to 4000 lines of text to your source code. Again, much of that can be copy pasted, much of that is repetitive either between the unit tests as well as the documentation comments. So part of the reason that I make this project so big is to really give you the chance to work on your coding process. And think about ways that you can work smarter, not harder, I really don’t encourage you to try and type out every single line of code. Instead, I want you to think about parts that you can reuse and how you can simplify this. So you can work on a big project efficiently. And then as always, feedback is welcome. If anything is unclear on the milestone, please let me know.
So some big hints for the milestone to the first and foremost thing I’d say is when writing your unit tests, do not look at your source code to figure out what the test should do. Instead, you should go back and look at the original Milestone One assessment Milestone One requirements to figure out what you shouldn’t be doing for Milestone Two. A great example of this is the price for each menu item. If you’re looking at your source code for what the price should be, your unit tests will never actually find out if your price is wrong. Instead, you should get the prices and the calories and things from the original project description and put those in your unit tests. And that is a way that you can confirm that your source code actually has the right price in it. Hopefully that makes sense. It’s kind of a thing that once you think about it, it should be pretty obvious. But I really encourage you to write your unit tests solely based on the project description and not necessarily looking at the source code.
Another thing you can do in your unit tests is you can use Global attributes for things. This allows you to copy paste code a lot easier, where instead of having the price hard coded inside the unit test, you can have it stored in a global attribute at the top of the source file so that you can then change those attributes as you rotate around. And then you can try and generalize your unit tests, I show you how to make unit tests that generalize across enums. So anytime there’s an an enumeration or a list of things that you can generalize, please try and do that in your unit tests.However, I encourage you not to try and generalize across the ingredients. Anything that is listed as an individual ingredient attributes. You can generalize those, but it requires using code reflection, and I really don’t recommend trying that. So I really just recommend generalizing anytime you have an enumeration. So look at the enumeration parameterized tests.
Here’s kind of a quick example of one way that you can generalize your tests. This is a very simple test file from a few semesters ago. But notice at the top of the file in both Java and Python, I’ve created some global attributes to store the price and the calories for each item. And then the unit test below instantiates the item and then simply checks to see that the price is the correct number. Not that it’s anything else. And so when I copy paste this, I can basically do a find and replace for the Riker and replace it with whatever item we have. And then I can replace the price and the calories at the top of the file. And I can pretty much reuse most of these unit tests for any of the entrees in this project. So hopefully that gives you an idea of what I mean when I say you can generalize your unit tests a little bit to make it easier to move code in between those files.
Looking ahead from here, in module four, we’re going to talk all about inheritance and how we can add some inheritance to this project. We’ll spend module five looking at debugging and logging and lambda expressions. And you’ll do a little bit of work there. You’ll also have the second final project milestone at the end of module five, which aligns roughly with the end of February. Then we’ll get into the two new modules this semester, which are on design patterns and test doubles. This is content that previously existed in the course but it was later after we introduced graphical user interfaces. I’m pulling that content forward, if hopefully should stand alone really well, but there might be some weird references to things you haven’t seen yet. If you come across any of those, let me know and I’ll remind you when we get to those milestones about that.
So again, hopefully this is is a really useful one this is really the first time that you’re going to be working with unit tests so hopefully find that process very simple and helping you learn how to write code that is easier for you to test and debug as we go forward as always have any if you have any questions let me know and I look forward to seeing you again next week
Subsections of Spring '23 Week 3
Spring '23 Week 4
YouTube VideoResources
Edited Transcript
Hello, and welcome to the week for announcements video for cc 410 in spring 2023. This week, you should have wrapped up the module on documentation unit testing and creating UML diagrams for your project. There’s also an example and then the second restaurant milestone that’s all about adding testing and documentation to your restaurant project. Hopefully, you’ve got all of those turned in by now, and I’ll work on getting them graded later this week. But as always, if you have any questions, feel free to let me know. So this week, we’re going to dive more deeply into some object oriented programming concepts. Specifically, we’re going to talk about inheritance and polymorphism. It’s a topic you’ve learned about once before, but now we’re going to approach it from a more advanced perspective and see how we can add that into our project to make things work a little bit better. There’s an example that you’ll go through to add inheritance to your project. But there is not a restaurant milestone due this week. Instead, you’ve got two weeks to work on this milestone, because it is a little bit bigger. And it does require some thought. The one thing I will have you do this week is a start stop continuous survey, it’s a short survey that tells you basically gives you the opportunity to give me some anonymous mid semester feedback by telling me if there’s anything you’d like me to start doing anything I’m currently doing, you’d like me to stop doing, or anything that I’m doing that you’d like me to make sure I continue doing. I try and read this feedback as closely as I can. And I will let you know if I make any changes to the course based on that feedback. And then of course, since you don’t have a restaurant milestone this week, you may want to take some time to work on your final project and be thinking about ideas of things that you want to do at the end of the semester.
After this week, next week, we’ll have a module on doing some debugging and logging. We’ll talk a little bit about Lambda expressions, which are part of what we need to do for some of this. We’ll have a small example on doing debugging logging. And then next week, you’ll have your third restaurant milestone do as well as a check in for the final project. It’s due by the end of February. So for milestone three in the restaurant project, this is the first milestone where we are enforcing all general requirements. So make sure that your project passes all of the style checkers, it has all the documentation for Python and should also pass the type checkers. So make sure you have all that taken care of I will be going through your code pretty closely for milestone three, and making sure that it meets all those coding requirements. From here on out if you don’t meet those general requirements, there will be pretty significant point deductions, just like in a professional programming shop, you need to turn in code that is working is documented correctly and is styled correctly, otherwise, they won’t accept it. So make sure you work on that. The big thing you’re working on in this milestone is adding inheritance to your classes. So you’ll end up refactoring some of your code to deal with new interfaces and new parent classes. So you’ll need to work on that you’ll also update a lot of your unit tests to deal with the new structure, you may also need to update your UML diagram and make some changes there. It’s a lot of changes in your code. But really, there’s only about 1500 lines of code that you’ll actually end up touching. The rest of it carries forward pretty easily. But it does require some more advanced thought and being a little bit careful on how this milestone works. And then of course, as always, if there’s something unclear about the milestone, feedback is always welcome.
So some quick hints for working in milestone three, the biggest thing I can tell you is to try and work in very small chunks, pick one particular thing that you’re going to do and try and get that working before you work on something else. Don’t tear the whole project apart and try and make all of the changes at once. That’s really, really difficult to do. The other thing about milestone three is you have Git Git is your friends. So as soon as you get something working, commit that so that you have it. So commit early and commit often. And that way, if something doesn’t work, you can always roll back to a previous commit, instead of trying to manually undo your changes. This always trips student up students out that they break something and they don’t know how to fix it. And then they have to roll all the way back to Milestone Two and start over. So commit early and commit often as you make changes. This is also a good opportunity to try test driven development. We talked a little bit about this in the last chapter. So you can actually go through and write some of your unit tests before actually changing the code and then work on changing your code. So that meets the unit tests. It’s something you can try if you want this time. The one big thing I will tell you there is an item or an Order Item class, I can’t remember what I called it this semester. But I highly recommend inheriting that class on your base classes. So your base class for the entree, the side and the drink instead of inheriting it on each of the subclasses. So that item interface will carry through as you inherit that, so make sure you work on that. And if you have any questions on any of the syntax for anything that we’re doing, feel free to ask me questions. There is some strange syntax with some of the unit tests and lambda expressions that we’ll do. So if you have any questions or get stuck, feel free to ask me when you get to that point.
So looking ahead from here, we’re working on inheritance and debugging in the next couple of milestones. Then we’ll go to milestone six and seven, which are the two new ones for this semester on design patterns and test doubles. So be worth watching out for that. And then after those modules will go into GUIs, web API’s etc. So hopefully it doesn’t feel like everything’s on fire but I’m sure at some point when you’re working on this project it will feel like everything has come apart. Because adding inheritance after the fact is kind of tricky, but that’s why we’re doing it is we really want you to see that experience of adding it after the fact instead of coming in with that design. So hopefully you see the value in thinking about inheritance in future designs. As always, if you have any questions, let me know and I will look forward to seeing you all again next week.
Subsections of Spring '23 Week 4
Spring '23 Week 5
YouTube VideoResources
Edited Transcript
Hello, and welcome to the week five Announcements video for CC 410 in spring 2023. This week you should be wrapping up the module on inheritance and polymorphism. There’s an example project there. There’s also a Start Stop continue survey that I’d like you to fill out just gives me some quick feedback in the middle of the semester. If there’s anything you’d like me to start doing, stop doing, or make sure I continue doing. And then you’ll also have some time this week to think about your final project, be looking at what we’ve done with the restaurant project so far, and make sure you’ve got an idea that fits within that framework. And then eventually here in the next couple of weeks, you’ll meet with me and we’ll talk a little bit more about final project ideas.
This week, we’re going to have a module that talks about some debugging and logging. We’ll also introduce the concept of lambda expressions, which are something kind of cool in programming you probably haven’t seen before, you’ll do a short example on adding some debugging and logging to existing code. And then we’ll have a restaurant milestone that’s due, as well as the final project milestone that you’ll need to at least schedule a time to meet with me before you can mark that as done. So as a quick reminder, for milestone three, we’re mainly just adding inheritance and refactoring all of our classes, you’ll also need to add some new unit tests. And this is the one that we start to enforce all of the general requirements. So in this milestone, make sure your code passes the style checker, the type checker has all the unit tests has good code coverage, that’s what we’re looking for. You’ll also update your UML diagram to add the associations between all the different classes. This milestone is maybe only about 1500 lines of code changed, but it takes a lot of work to get this to actually work the way you want it to. And as always, feedback is welcome. So if you have any questions or concerns on the milestone, just let me know.
So like I said, last week, the big hints for milestone three, work in small chunks, try and get one piece working like adding one class or one interface and getting all of that working, including the unit tests before you move on. Likewise, take advantage of the fact that we’re using Git and GitHub, you can commit early and commit often, anytime you get something done, you can always roll back even multiple commits to start over. But it’s much easier to do that. And then try and undo any of your code changes manually. You can also try test driven development, you can try to write some of your tests before you actually write the code to pass that test and see if that works. And then of course, I give this big hint, inherit the interface, the item interface on your base classes, not on your individual subclasses. And if you have any questions on syntax, just ask me I’d be happy to help. Looking ahead from here, we’ll start in on module six, which is the new module on design patterns and then followed by test doubles. This is content that used to be after we introduce GUIs. But I pulled it a little bit forward this semester. Hopefully that works well. And then we’ll get to module eight and nine after spring break where we deal with graphical user interfaces and event driven programming. And then we’ll get towards the end of the semester on modules 10 - 11, where we introduce web API’s and a little bit more.
So it sounds like the weather it’s going to be a little bit snowy later this week. So hopefully you enjoy that. But if you’re like Lucy here and you don’t really enjoy snow, hopefully can stay home nice and warm. Unfortunately, I’m going to be driving it a little bit because I get to be on campus later this week for our guest speaker. As always, if you have any questions, let me know and otherwise I will see you again next week.
Subsections of Spring '23 Week 5
Spring '23 Week 6
YouTube VideoResources
Edited Transcript
Hello, and welcome to the week six Announcements video for CC 410 in spring 2023. This week you should be wrapping up the last modules on debugging and logging and lambda expressions. There’s an example project that was due last week. And then right now you should be working on the third restaurant milestone, a lot of which is about adding inheritance and polymorphism into our existing project. You also should be scheduling a meeting with me this week to talk about your final project either this week or next week, just so that we can see that you’re on the right track and you’re starting to get some ideas for final projects that you might want to work on in this class.
This week, we’re starting in one of our new milestones, which is the design patterns. This is content that I previously had later in the class after we introduced user interfaces, but now I’ve pulled it forward. So this week, you’ll have an example on design patterns and your work on the fourth restaurant milestone, which is about adding several new classes. You’ll also have the ability to work on the first concept quiz, which is due at the end of next week. The concept quiz we’ll talk about briefly as well.
So for the fourth milestone, we’re going to add several new classes to our project that represent different design patterns that we’re going to learn about this week, we’re going to have the order class, which allows us to keep track of an order of items, the order class is an iterable. The combo class allows us to combine different entrees sides and drinks into a single combo. We’ll also have a combo Builder class that uses the builder pattern, and will also have the order number singleton class, which uses the singleton pattern. So these classes allow us to add some really good functionality to our project. And then we’ll work on adding unit tests for those classes in the next milestone.
Also available this week is the first concept quiz in this course, you can think of the concept quiz kind of like an exam that you’ll do from home. Its take home, it’s completely open notes. open book, open code is a quiz on canvas that has a two hour time limit. So once you start working on it, you have to finish it all within that two hour time period and submit it. The quiz will go through some object oriented programming theory, it will cover some code comprehension where you read code and determine what it does, there will be a little bit of UML comprehension reading a UML diagram and understanding what it means you’ll write some small unit tests as well. So this quiz, it’s not meant to be very difficult, you shouldn’t have to study for it very much as long as you understand the concepts we’ve introduced so far in the class. And like I said, it’s open book open notes open code. So feel free to make sure you have some code in front of you available. But do please be aware of that two hour time limit? It does take away very quickly. Although thus far, I haven’t had any students really have trouble not answering all the questions within the time limit. So hopefully it works well for you. If you have any questions or concerns about this, just let me know.
So looking ahead from here, module seven, we’ll talk about test doubles, which is the unit tests that we use along with a lot of these design patterns. And then after that, we’ll switch over to turning talking about graphical user interfaces and event driven programming. And then eventually we’ll shift over and talk about web API’s as well. So hopefully things are struggling along for you this semester. We’re on Week Six right now, which means we basically have a third of the semester done. Hopefully these new modules work out well. If you have any comments or feedback on them or if something doesn’t make sense, let me know. But otherwise, best of luck and I look forward to seeing you again next week.
Subsections of Spring '23 Week 6
Spring '23 Week 7
YouTube VideoResources
Edited Transcript
Hello, and welcome to the week seven Announcements video for CC 410 in spring 2023. This week you’re working on the last of the two new modules that we’re working on this one covers test doubles, also known as mocks, you’ll be doing an example project around that. And in your work, you’re working on the fifth restaurant milestone, which we’ll talk about in a minute. You should also be wrapping up the first concept quiz, which is due by the end of this week. So make sure you set aside a couple hours to work on that. Hopefully that goes well. But if you have any questions or concerns, let me know.
So for the fifth milestone, we’re adding unit tests for a lot of the new code we added with design patterns in the previous milestone. And in this milestone, we’re going to focus on using test doubles or mock objects in our unit tests. The reason we want to do this is we can focus on only testing one class, for example, we can focus on testing the order class without having to depend on individual items working correctly, so we can create mock items, add them to our order class and very carefully control how our order class actually works. This allows us to build much more powerful unit tests. And it’s a really powerful tool to understand when you’re building code, especially code that stores other classes inside of it.
Looking ahead from here, after this module, we’ll switch over to work on graphical user interfaces. So we’ll spend some time on the basics. We’ll talk about event driven programming and parallelism. We’ll also talk a little bit about external libraries, building releases, etc. And then finally, we’ll spend the last few weeks of the class working on building a web interface as well.
So we’re getting close to halfway we’re almost a spring break. Hopefully things are going well in this class. As always, if you have any questions, let me know but good luck on this new milestone. Good luck on the concept quiz. And I will see you again next week.
Subsections of Spring '23 Week 7
Spring '23 Week 8
YouTube VideoResources
Edited Transcript
Hello, and welcome to the week eight announcements video for CC 410 in spring 2023, so this week, you should be wrapping up the module on test doubles and mock objects, which is one of the other new units we’ve added this semester. You also should have met with me last week probably for the final project. And then you should have completed the first concept quiz in this class, which was due late last week. So this week, we’ll be switching gears a little bit to start working on graphical user interfaces. This week, there’s a basic example of a user interface that you’ll get to work on. And then you work on the six restaurant milestone, which is all about adding a user interface to our existing project. And even though it seems like we already talked about the final project last week, by the time we get back from spring break, I’d like you to schedule another meeting with me to talk about the final project so that we can start talking about how you might add a user interface and some more advanced use unit testing to your project.
So for the sixth milestone, you’re going to create a basic user interface for this project. It’s kind of modeled after a point of sale system. So if you’re at the restaurant, it’s what the cashier uses to take your order, you’ll create the overall structure of the user interface, I will give you one example. And I encourage you to stick kind of close to that example in terms of overall structure. But feel free to get creative. If you want to change the design, the fonts, the shapes, the colors, you know, make it really interesting to you. But also make sure that you focus on usability, I would much rather have a usable interface than one that I can’t figure out even if it looks really good. But this is a place that you can use a little creativity in this class. But like I said, I encourage you to keep the overall structure of the menu panel and the sidebar. But you can really get creative as far as design beyond that.
So looking ahead after this module, the next module, we’ll do some event driven programming, which adds interactivity to our user interface. We’ll spend a couple more modules talking about things like libraries and releases and iterating on our user interface model. And then when we get toward April, we’ll spend some time on web API’s and web interfaces as well.
So it’s week eight, we’re finally at the halfway mark of the semester. Hopefully, things are going well. But be aware that we’re halfway there. So now’s the time to start thinking about some final project ideas and making sure that you’re set up for success in the second half of the semester. As always, if you have any questions, let me know. Next week is spring break. So there will be no announcements and I won’t be available a whole lot because I’m traveling to a computer science education conference, but I will watch my email as well. So please feel free to send me emails or chat on Discord and I will catch up with you as best I can. But I will see you again in a couple of weeks.
Subsections of Spring '23 Week 8
Spring '23 Week 9
YouTube VideoResources
Edited Transcript
Hello, and welcome to the week nine Announcements video for CC 410 In spring 2023. This week we’re going to go through a couple of different examples. The first one is about parallel programming, which is an important concept for us to learn when working with user interfaces. We’ll also do an example around event driven programming, which allows us to make our interfaces interactive. And then finally, we’ll have another milestone for the restaurant project. This week, we’ll do milestone seven, where we’re going to add events to our user interface, we’ll refine our structure a little bit for our user interface to add a tree to keep track of our menus. But the big thing is, we’re going to add our button click handlers. By the end of this milestone we should having mostly functional user interface, we’ll still be needing to add some things. And we’re also going to add some unit tests as well. One big thing I really encourage you to do with this milestone is to read the hints very carefully, I give you some hints about structure and some code that you may want to use, both in your user interface and in the unit tests.
So one of the things you run into when we’re doing unit tests with GUIs is we need to use a lot of RAM because we’re constantly creating and destroying our GUI. This can cause issues on Codio. Because Codio boxes, by default have a very limited memory of only 512 gigabyte megabytes. So if you run into issues where something breaks, for example, Gradle will hang up or your system will run out of memory. In Java, you can open up another terminal and try and do gradle –stop to stop any running Gradle projects. Otherwise, you can go to the Project menu and Codio click restart box to restart the underlying Codio box. And then once that’s done, you can refresh your browser. For Python, we’re just going to run our tests in batches. And so you’ll see some new tox files that I include that will help you with that. But if you have any questions or any issues with testing issues, just let me know.
Looking ahead after this, we’ll have a couple more modules working with traditional user interfaces. These modules will mostly cover additional concepts like working with libraries and working with releases while we finish up our user interface itself. And then we’ll switch over to start talking about web API’s and web interfaces from there on out. So we’re over halfway we’re past spring break, which means we’re closing in on the end of the semester. Hopefully you’re enjoying this class and getting a lot out of it. As always if you have any questions, feel free to let me know and I look forward to seeing you again next week.
Subsections of Spring '23 Week 9
Spring '23 Week 10
YouTube VideoResources
Edited Transcript
Hello, and welcome to the week 10 Announcements video for CC 410 in spring 2023. This week we’re going to be working on an external libraries example where we’ll talk a little bit more about how we can add code from external sources into our program. Then you work on the eighth milestone in the restaurant project where we’ll add some new features. And finally, you’ll be asked to do a Start Stop continue survey, which is just your chance to give me some quick feedback as we go through the semester. If there’s anything you’d like me to change, about how we’re approaching the course.
So for the eighth milestone, we’re going to be updating our GUI to handle orders and combos, so you’ll be updating stuff on the sidebar, so that handles orders properly as you add items to your order. And as you edit them, we’re also going to add buttons and a new panel for creating and editing combos. So there should be a button for each individual preset combo, plus a custom combo button that you can use to create a custom combo using any entree site and drink that you’d like. The panel for combo should have some basic unit testing, mainly making sure that if you give it a combo, it properly populates it. And also, if you have it properly populated, it saves the correct combo. And then finally, we’re going to implement the factory method pattern by abstracting some of our panel code into a panel factory. That will just make it a little bit easier for our button handlers to actually request the correct panel, since we have some duplicated code and a couple of places. Looking ahead for the rest of this class after this milestone, we’ll have one more on traditional user interfaces, where we talk about making a release of your project. And also we’ll add the checkout functionality to our user interface.
Then we’ll switch over to module 12. And we’ll start working on our Web UI. And we’ll have a few smaller modules around web UIs. The web milestones are about half the size of these milestones that you’re working on right now. So they should go a little bit faster and give you some more time to work on your final project. So that’s where we’re at.
Right now. We’re working on building a restaurant that serves food and keeps track of orders. So hopefully you can build a tool that Squidward would be able to use to take everybody’s order at the Krusty Krab. As always, if you have any questions, let me know otherwise, I will look forward to seeing you again next week.
Subsections of Spring '23 Week 10
Spring '23 Week 11
YouTube VideoResources
Edited Transcript
Hello, and welcome to the week 11 Announcements video for CC 410 in spring 2023. My apologies for being a little bit behind this week, but I’m going to get this video out on Thursday. This week, you’re going to be looking at releases, we’re going to talk a little bit about how we can actually build a releasable version of our project. So we’ll do a quick example around that. And then we’re going to do the ninth restaurant milestone where we’re adding the features to actually check out and pay for our order.
So the ninth milestone, like I mentioned is checkout, we’re going to include an external library that represents an actual cash register, that cash register allows you to pay by cash or credit card, the credit card part is pretty easy. That’s what we do in the example project. But then if we want to pay by cash, we have to figure out how to make change. And then in either case, we also have to figure out how to print a receipt. Thankfully, the external library has functions to handle all of this. But we’ll need to figure out how to use that library and how to adapt our data and what our application is doing to actually fit the requirements of that library. So some quick hands for milestone nine. First and foremost, making change is hard. The actual calculation isn’t that bad. But when you have to take into account the limited amount of denominations in the cash register, that can be very, very difficult. One hint that a lot of people mess up is that you should only instantiate the cash register once when you start your application, not each time you make a new order. And so you’ll have to watch for that. The receipts, each line has a limited length, I think it’s 40 characters or something. So you’ll have to figure out how to truncate or limit the size of your receipts and do some text formatting. So three seats look nice.
I really recommend in either case, using the adapter pattern so that you can adapt the library and have your own wrapper around it and call those functions. And I encourage you to look at the source code for the library that I provided you it’s all open source, including the unit tests, the unit tests will give you a good idea of some things you can do to actually test your code and make it a little bit better. The other thing that will really tell you I’m making change, don’t worry about the edge cases, first, just get it making change without worrying about if you run out of pennies, or nickels or something, get that base case working and get it tested before you try and add the other cases. The other cases are not worth that many points. So don’t worry about it too much if you don’t get there. Looking ahead after this milestone, we’re going to switch gears and start talking about a web interface. The web interface milestones there’s about three or four of them, they’re going to be a lot smaller milestones about half the size of the current restaurant project milestones, and it’s meant to give you more final project time. So from here on out, we’ve got about five weeks left. Hopefully you starting to spend more time working on your final project and getting that up and running.
So hopefully everything goes well like the target lady, you get really excited every time the coupon matches of the credit card swipes properly. Hopefully things are going well in the restaurant project. I know a couple of you are a little bit behind but you’re getting caught up pretty quickly. As always, if you have any questions, let me know and I look forward to seeing you again next week.
Subsections of Spring '23 Week 11
Spring '23 Week 12
YouTube VideoResources
Edited Transcript
Hello, and welcome to the week 12 Announcements video for CC 410 in spring 2023. This week, we’re going to shift gears a little bit and start working on a web graphical user interface instead of a traditional desktop user interface.
So we’re going to start working with data driven websites. Mainly, we’ll show you how to install a website framework into our existing projects and how to configure that. So we can generate a few pages using the data. Also, this week, you should start or continue working on your final project. We’re at week 12. So there’s only about three or four weeks left, so make sure you get started working on your final project and make progress on that. So the milestone for this week is pretty simple. We’re just going to install a web framework and set up routes controller for the web app part of our program. I show most of this in the examples. So you can almost just copy paste the code and tweak it a little bit into your project and follow along. But it allows us to build the framework for data driven websites. And we’ll actually use the menu classes that we’ve already built to generate the menu on the web programmatically, which is really cool.
Looking ahead after this, we’re going to spend some time on form data and filtering and serialization. This allows us to make our website a little bit more interactive and save the data for later. The web milestones are a little bit smaller than the previous ones. So the last three or four milestones in the class are going to be about half the size, they should take about half as much time. This is meant to give you more time to work on the final project, but also recognizing that we’re getting close to the end of the semester and your other classes might be getting busy as well. There is one last restaurant milestone that will be due on finals week. So just be aware of that there’s no final in this class, but there is a milestone that will be due. And then there’s also your final project that is due on finals week.
So we are getting ready to head to the World Wide Web. I hope everything works out well for you as we transition to web user interfaces. As always, if you have any questions, let me know otherwise, I will see you again next week.
Subsections of Spring '23 Week 12
Spring `23 Week 13
YouTube VideoResources
Edited Transcript
Hello, and welcome to the week 13 Announcements video for CC 410 In spring 2023. This week, you should continue working on the milestones around adding a web interface to your project. This week, we’re going to deal with rest, which is a really important concept in web interfaces. And you’ll also learn how to create some forms and deal with form data. And then that all comes together to the restaurant project where you’re going to add a form where you can create a custom item and add it to your restaurants menu. This is a separate area from the rest of the menu. So don’t try and put those both in the same place, it really doesn’t work will have the normal menu and then we’ll have another page that just has the custom menu items as well.
This week, you should also continue working on the final project. Be aware that this is week 13 of 16. So there are just three weeks left in the semester. So hopefully you’re getting done with all of the work that you need for the final project. We’ll have another final project check in in a week or so. And then your final project presentation will be due on finals week. Typically, we do those on either Monday or Friday for this course. Because Tuesday, Wednesday and Thursday, I’m on campus for the computer science in your project.
So for the 11th milestone, like I talked about, we’re going to add web forms, we’re also going to add the ability to add some search filters and present the results to this as well. So make sure you’re keeping up with that. I think I misspoke earlier. I don’t think we had to customize them for another milestone. But you’re definitely going to play around with some web forms and being able to search and filter your results. So this is a really cool technique for working with websites, building these filters. So hopefully this milestone goes really well. And then, like we said, upcoming, we’re going to deal with rest controllers, we’re going to deal with serialization of data. And like I said, this is smaller milestones, it’s meant to give you more time for the final project. Each of these web milestones should be pretty simple. You’re pretty much just following along with the example and building it out a little bit.
But as always, if you have any questions, you can let me know. But we’re looking toward the end of the semester. So hopefully you’re looking forward to that we’re getting very close to the middle of May. Hopefully everything’s going well with you this semester. But if you have any questions or concerns or you just need some help with your final project, feel free to contact me anytime and I’d be happy to help. Have a good week.
Subsections of Spring `23 Week 13
Spring '23 Week 14
YouTube VideoResources
Edited Transcript
Hello, and welcome to the week 14 Announcements video for CC 410 in Spring 2023, as you can see, I’ve got the green screen behind me, I’m getting ready to record some new videos for some other classes. So this week, you should be working on your fourth Final Project milestone, which is talking about ways you’re going to integrate libraries and API’s. So make sure you’re scheduling that meeting with me over the next week or so. So you can look at your final project and make sure you’re on track. Also, this week, you should be working on the second concept quiz in this class, this quiz goes a little bit more in depth into unit testing and some of the other structures that we’ve looked at and design patterns. So make sure you schedule a lot of time for that you’ve got I believe, two or three hours to work on that. So make sure you look at that and schedule that in your schedule.
The rest of this week, you’re going to be working on a rest example learning a little bit more about restful API’s and adding that to your restaurant project. And then of course, you should keep working on your final project were on week 14 of 16 in the semester, so you’ve only got a couple of weeks left. So this week, you should be working on milestone 12, which is all about building a RESTful web app, you’re going to create some menu items that are custom and added to the the system in a different way. And this helps us reinforce some of the design patterns that we’ve already seen, such as the iterator pattern and the singleton pattern. But we’re going to use that in a different way in a web application, you’re also going to spend some time updating the UML diagram, I’m mostly concerned with the new stuff. So the web stuff and the custom items, I’m not so worried about the rest of the stuff that you’ve done previously. So make sure your UML accurately reflects the structure of the web part of your project.
Next week, there’ll be another milestone on serialization. You’ll have an example on validation and serialization and a restaurant milestone on that that’s the last restaurant milestone. And again next week, you should keep working on the final project. And then for the rest of the semester. There is one extra module at the end, which is the textbooks extras module, there’s a quiz that’s due on finals week. And then your final project presentation is also due by the end of finals week, which is May 12.
So for your final project, you’ve got a few deliverables that you’ll need to turn in. First and foremost, you’ll need to make a release tag on GitHub just for everything else. Make sure you read the requirements page for the final project. So you know you meet all of the requirements for that. Your code should have some documentation and some user documentation such as a readme, so that I know what it does and how to run it. And then you’ll need to make a presentation. So the presentation should be about 30 minutes, you can either pre record the presentation or you can schedule time to present it live to me. Either way, you need to schedule a time to meet with me in person so that we can have some q&a before the end of finals week. If you’re presenting live, please schedule about 30 to 45 minutes. If you’re pre recording schedule at least 15 minutes for q&a. For the presentation. Most of these you’ll give either Monday or final Friday of finals week, Tuesday, Wednesday, Thursday, a finals week, I’m busy with other class presentations. So look at my schedule on Calendly. And go ahead and grab your time on either Monday or Friday. Again, even if you’re pre recording your presentation, you still need to schedule a time to meet with me. And it must be after your presentation is submitted. So make sure you get that done. So I have time to review your presentation. And then we’ll have some q&a live via zoom. So make sure you’re scheduling that ASAP.
For your presentation, here’s a quick suggested outline. You can also find this on the final project. Introduction is pretty self explanatory background. Tell me about why you chose this project and where the idea comes from. Talk me through the implementation of your project your code, how you use structures, design patterns, all the things we did in the class evaluation, how well does your project actually meet your original goal? Talk about future work. If you were to continue to work on this project, what would you do? Give me a quick summary and then demo, I want you to be able to demo and walk me through a lot of the major functionality of your project and probably also walked me through the code and kind of explain how you took what we did in the restaurant project and adapted it to your final project.
So we’re nearing the end of the semester. Hopefully you’re not too scared about it, but we’re getting close to the end. As always, if you have any questions, let me know otherwise, I will see you again next week.
Subsections of Spring '23 Week 14
Spring '23 Week 15
YouTube VideoResources
Edited Transcript
Hello, and welcome to the week 15 Announcements video for CC 410 In spring 2023. So recently, you should have completed the second concept quiz in this class, which goes over a lot of the stuff that we’ve learned in the second half of the class, you also should have completed the rest example. And you should have completed the 12th restaurant milestone, which is about adding a RESTful API into your project itself. So next week, there are a couple of more things due there is the form validation example. And there’s a last milestone on validation and serialization. So hopefully, you can get that done pretty quickly. That’s due next week. And then by the end of finals week, which is on May 12. The only thing that’s really left to do then is the final project. So make sure you’re working on that.
For your final project. Some quick updates, don’t forget that the things you need to submit Are you need to create a release tag on GitHub for your project, just like we do for everything else. Please make sure you read the requirements page for your final project and make sure that it meets all of those requirements. Your final project should have code documentation just like everything else. So all your functions should be documented, your file should be documented all of the stuff that we expect in this class you should be doing on your final project. I also recommend creating either a readme or some sort of user documentation to explain how the project works, how to run it, how to use it. And then of course, you’ll do a presentation.
So the presentation itself should be about 30 minutes, you can either pre record your presentation, and then send me the video or you can present it live. But either way, you have to schedule a time with me to meet for q&a. So if you pre record your video, you’ll send it to me, I’ll watch the video, and then we’ll meet on Zoom to have some q&a afterwards. On finals week, I’m busy on campus may 9 10th and 11th with the senior projects for computer science. So for this class, the only two days I can do presentations, and Q and A’s are either may 8, Monday or may 12 on Friday of finals week, you can go ahead and schedule those times right now using my Calendly link. So make sure you do that. But please make sure you get on the schedule soon. And let me know if you’re going to either present live or if you’re going to send me a video beforehand. And then we’ll do some q&a During our meeting time.
For your final project presentation. Here’s a quick suggested outline that I recommend using the introduction and background are pretty self explanatory. Just tell us about your project and where the idea came from. Background. You might also include any inspiration or any related work that you’ve seen, your implementation is going through the design in the code of your project itself, you can actually switch over and show some of the code for your project. Evaluation is evaluating how well your project met the goals how well it runs. And then you’ll give some future work some things that you want to continue working on. If you could work on this project some more, you’ll give me a quick conclusion. And then you’ll demo your project. So make sure you’re prepared to run and demo your project. However you need to do that, because I’ll have you walk through it. And then we’ll go through some q&a.
Finally, the last big thing there are Tevals in this class. So make sure you’re watching for that t values should be emailed to you on finals week. And you’ll get a couple of reminders to complete them as well. Don’t forget teaching evaluations at K State are anonymous. I don’t know who submits what. And they’re also delayed. I can’t see the results of Tevals until after grades are submitted. So please make sure that you take some time to fill out Tevals and give us honest and constructive feedback, any and all feedback you have as welcome on this course. We’re constantly trying to update this course and all the other courses in the CC program and your feedback is a real key part of that. So please take some time to make sure you fill out the Tevals for this course. But other than that we’re waving the checkered flag. We are almost at the end of the semester. This is the last Announcements video I’m going to post I won’t do one on finals week, but hopefully everything’s going well. Feel free to work on getting this class finished up and I look forward to seeing your final project soon. Good luck.