Spring '21 Week 13

YouTube Video

Resources

Edited Transcript

Hello, and welcome to the week 13 announcements video for CC 410 in Spring 2021. So we’re at almost at the end of the semester and this week, we’re going to be covering restful architecture and how to build a RESTful API in our web applications. This week, the textbook chapter on web API’s is not quite finished as of Monday when I record this, so I’ll be posting that probably later this week. But you can go ahead and get started on the example and the restaurant milestone for this week. The textbook content is not really required to understand what’s going on since we actually introduced RESTful architecture last week anyway. So keep your eyes open for that. I’ll send out emails as soon as we get that done. But this week, the major goal is to take our web applications and build a RESTful architecture inside of it to in this case, we’ll actually be managing custom restaurant items, which should be really fun. And then of course, don’t forget to keep working on your final project, you basically have three weeks left at this point. So hopefully, you’re getting some good work done in your final project. And you’re starting to see the end result coming together.

So for this milestone in the restaurant project, like I said, we’re going to be building a RESTful web application, specifically one that allows you to add and edit custom menu items for your restaurant. So in addition to building the rest of a web app, we’ll also be reinforcing a couple of design patterns in how we handle those custom items, specifically the iterator pattern and the singleton pattern. And then also, as part of this milestone, I’d like you to update your UML diagrams to include the new classes for the web application, it really shouldn’t be that hard. There’s just a few new classes you’ll need to add and some linkages you’ll need to put in there. But it’s something we need to do every few milestones to make sure we’re up to date.

So next week is week 14. It’s the last actual week of the semester before we hit dead week and finals week. So week 14 is going to be the last major restaurant milestone. And we’re going to cover things like serialization and form validation next week. And so we’ll have a textbook section and example and restaurant milestone, like always. This is not going to be one of those double weeks, I plan on having everything due on the 3rd. But it’s going to be a small milestone like these last couple, so it should be manageable. And then also sometime next week, you’ll be scheduling your fourth final project milestone with me to catch up and see where you’re at on the schedule. This one’s supposed to be talking about external libraries and API’s. But we’re we’re really just talking about wherever you’re at on the final project. And then of course, keep working on your final project as well.

So once we get past next week on May 3 is when everything’s due there, the only things you’ve got left during dead week and finals week, if you’re all caught up is I’ll probably have a textbook section for dead week that’s just extras. Mainly these are things that I wanted to talk about this semester, but didn’t get time or things that are important, but maybe don’t deserve their own chapter. So it’ll be a lot of just little tidbits. All there will be is a couple of quizzes in that textbook section. And that’s it. For some of those, I may do an example as well that you can work through, it should be a really simple example, kind of like the parallel programming one where it’s going to be really small, but give you a chance to play around with some of those. And then the big thing is your final project is due the end of finals week, which is Friday, May 14, that’s when you need to have everything into me by 11:59, Friday, Friday evening on the 14th. That is the absolute last time that I can accept anything for this semester. So on your final project, I encourage you to take a look at the final project requirements page and make sure you’re keeping up with all of that. For the final project, remember, we’re doing kind of a criterion grading, where as long as your final project has all of the parts that are required, and that they make sense. you’ll most likely get 70% on the project just from that. And then the rest is how well you implemented it, how well your presentation goes, things like that.

So I’ve had a few questions about what exactly do you need to turn in on the final project, the big things you need to turn in is you need to have a release tag made on GitHub, just like everything else we’ve done this semester. And you’ll submit that URL to Canvas. So make sure you read the requirements page, make sure your code meets all of those requirements. It’s pretty clear. But if you have any questions, let me know. Your code should also have full code documentation. So all of the documentation comments in your code, so that we can generate the docs using either javadoc or pdoc. So make sure you’ve got that done. It’s not explicitly required, but I really encourage you to either write a README or some user documentation on exactly how to use your app. You can write it from the view of someone that has access to your GitHub, what would they do after downloading your code and being able to run your code? What commands do they need to use what things they need to install, and maybe a quick tutorial about how they can use the application to do whatever it does. So some user documentation or README documentation would be very helpful for your final project. And then of course, the last big part of your final project is the presentation. So, for the presentation itself, I’d like your presentation to last around 30 minutes, you’re welcome to either pre-record your presentation, and I’d be happy to help you with some software for that. I currently use OBS to record these videos. But you can also record directly in Zoom if you’d like. So you can pre record your presentation if you’d like, or you can present it live to me to present it live. I’ll send out some details a little bit later. But you’ll just schedule a time via calendly. And we’ll meet up there. I’ll also when you present, I’ll ask you if you are okay with sharing your presentation and your project with the class. Normally, in a in class scenario, we would do this as part of the final. But since this is online, a synchronous it’s kind of hard to do. But I will ask if you’d be willing to share it with the class. The other thing I will send out real quick is a poll seeing if there’s any interest in actually doing a live presentation session for the folks that are presenting their final projects. So if there is enough interest in that I will set up a live session we can all get together, check out each other’s project, chat about whatever’s going on in computer science, things like that, sometime during finals week. So I’ll send out some of that information via canvas here in the next couple of weeks.

The other question I usually get on these is what exactly should my presentation include. And so here’s a really quick suggested outline of what I’d like to see in your presentation. It doesn’t mean you have to do all of this, it doesn’t mean you can’t do something different. But if you’re not sure where to start, here’s a good background. This is very similar to what you’d see for a standard research paper template. So you have an introduction section, obviously talking about your project. background is really looking at why you chose to develop this project, maybe in other related projects are inspired by projects, things like that, but kind of explain to me why you chose to do this particular project and what you’re hoping to get out of it. implementation is the big part talk about how you built your project, what tools you use, to how the code works, all sorts of things like that fall under implementation, that’s probably the biggest section. Evaluation is your look at how well your project came together. Typically, for a lot of programming projects, you’d look at performance, or you’d look at usability, things like that. Since we’re not doing any formal evaluation. This is basically your how happy Were you with the project? How well do you think it works? future work is pretty obvious. It’s anything you’d like to do in the future to continue to improve this project. And then you’ll have a quick conclusion. And then at the end, you’ll have time to actually open up your project and do a demo. Of course, you can do some demos, or some quick things as part of the implementation and evaluation sections as well. It’s kind of up to you. But I kind of like to do the demo at the end. So you don’t break the flow from the presentation having to jump into your application. But if you pre-recorded or you’ve got it set up pretty slick, you can jump back and forth pretty easily. That’s not too bad.

So that’s where we’re at for week 13. Week 13 is usually the scariest week of the semester because you’re getting close to the end but you’re not on that downhill slide of dead week and finals week. So hopefully you can stay courageous and you can keep working on stuff. As always if you have any questions in this course you can contact me via the cc410-help email address or on Discord. I’d be happy to chat with you anytime. And if you have any questions, let me know otherwise, good luck this week and I will see you next week.