Fall '22 Week 1

Resources

Edited Transcript

Hello, and welcome to the week one announcements video for CC 410 in Fall 2022. My name is Russ, I’ll be your instructor for the semester, I’ll probably post these announcements videos about once a week, usually on Tuesdays since I’m on campus on Mondays and won’t have time to record them. So you can check Canvas about every Tuesday to get a quick update for me on what you’re doing this week and anything else that’s on my mind.

So this class is advanced programming. And really in the big picture, we’re going to spend a lot of time on object oriented programming, we’re going to look a lot of graphical user interfaces, or GUIs. And we’re going to do a bit of work on web programming as well. This class has lots of interactive examples where you get to watch me go through an entire coding project that relates directly to the milestone that you’re going to work on. And then throughout the semester, we’re going to work on this huge restaurant project, there will be several milestones throughout that project that we’ll work on in class, and then you’ll get to work on it yourself as the big project in this class. And then you’ll also do an independent final project to really show that you can take what you’ve learned with the restaurant project, and build it out as an independent project yourself.

So this class, you’re going to learn a lot of new technologies, we’re going to start using Git and GitHub classroom to keep track of all of our code, you’ll learn to use either Gradle or talks to help manage your builds and dependencies for your projects, we’re going to do some work with type checking unit testing style checking documentation. The whole idea is this class is really going to take what you already know in programming, and add a lot of the more industrial professional ways that we deal with programming into that course. The Hello real world project that you’re going to work on this week is a great example of how we’re bringing all of these ideas into the programming that you already know how to do. So in this course, you’re going to work on a final project, you get to choose the topic for your final project. Hopefully it aligns with your interests. And the idea is to use what you’ve learned in this course to do something new. So your project is going to be object oriented, it’s going to have a GUI, it’s going to have some GUI forms. So we’ll kind of work with you to discuss the scope and the scale of your project. And then throughout the semester, you’ll have a few milestones on the final project, mostly just as talking about ideas for your final project until we get later into October, November when you do a lot of the coding on that project. And then at the end of the semester, you’ll give a presentation on your final project as well.

So this first week is mainly just administrivia. Going through all the basics of the course, the syllabus, the background, things like that. You’ll also work on the Hello real world project, which introduces a lot of the concepts in this course. And you’ll be able to schedule your first final project meeting with me, hopefully either this week or next week, so we’ll be able to chat some more about the final project. Do check out the information about my office hours, I’m usually only on campus on Mondays the rest of the week, I’m available using the Calendly link that you can find in my email signature and on the syllabus and on the website. So feel free to check that out. For communication. This class has an email list so you can please use the cc410-help email address to reach me. You can also chat with me on Discord. A lot of you have already done the introductions on Discord, which is great, I’m always there to answer questions as well.

After this first week, then we’ll start getting into some of the other content of the second week we’ll spend a lot of time working on a class library using Object Oriented Programming. It’s about 2000 to 2500 lines of code, which is much larger than most of the projects you’ve done in the past. But a lot of it is boilerplate. So you really just have to be thoughtful as you copy paste that code around. Week three, we introduced unit testing and documentation this week is a lot of code, sometimes 3500 to 4000 lines of code. There are lots and lots of unit tests. One of my model solutions for this hadn’t 423 unit tests. So there’s a lot of repeat code. And it’s a great way to catch some errors in your code. When I wrote the model solution for this, I found about half dozen errors in my own code just by going through and doing unit testing, then we’ll get into some inheritance and polymorphism polymorphism by refactoring a lot of your old code. This milestone is not as much lines of code, but it’s a lot of changes that you’ll need to work with. And then this is also where you’ll do the final project Milestone Two, I forgot to update the dates on those slides. Those should be mid to late September. And then beyond that, you’ll be working with GUIs, external libraries, web serialization, and so much more throughout this class.

So big advice for this class. This is a four credit hour class, which means you’re expected to work about 12 ish hours each week, I can definitely tell you looking at the statistics over the past few semesters that that is very true. A lot of students on these milestones end up spending anywhere from 10 to 15 hours per week on the milestones. So make sure you’re budgeting that amount of time in your schedule, and make sure that you get started soon on the projects. A lot of students that have trouble in this class, start the milestones the day they’re due, and then they simply run out of time to get it done. So schedule your time wisely. Start early, leave time to ask questions. Remember, this is an online course and it may take a day or so for me to get back and answer all of your questions. I will try and do the best I can but I will guarantee within one business day. So get feedback early. Copy paste your code carefully as you change things. There’s a lot of duplicates functions that you need to tweak a little bit. So think about that. Don’t be afraid to commit to get frequently get is your friend here. If you screw something up, but you committed to get when it was working, you can roll back and try again. In this course, especially with advanced programming, you can use in sight online resources. So if you find a little piece of code that’s helpful, you can cite that the biggest thing is don’t try and look up whole solutions to this, there really aren’t going to be any. But if you need to just have a little piece of code to sort something or do something in the GUI, you can use that and cite it.

So that’s really all I’ve got for this week. If you have any questions, you can email the cc410-help email list, you can talk to me on Discord. I also host the tea time office hours for the department currently scheduled at Tuesdays at 330 and Fridays at 1030. Although we may be sending out a survey to change that schedule, and then of course, you can schedule a one on one office hours with me using Calendly anytime you like. So that’s all I’ve got for this semester. I’m rooting for you. Best of luck. Feel free to keep in touch and look forward to seeing you throughout the week. And I’ll probably meet all of you in person when we do our first final project meeting here in the next couple of weeks. So good luck and I will see you soon