CS4485.OW1 Senior Design
Spring 2025

Instructor: John Cole
Tuesday from 1:00 to 2:45; Friday from 2:15 to 4:00 (This is different from your normal class time due to other commitments.)
Office and Hours  Room: Online on Teams unless otherwise announced

Grader: TBA

Last update: 1/10/2025
Syllabus is on Coursebook Schedule
Textbook: None
In this course you and your team will design and code a significant project.  Here is the outline of how this course will work.
  • You will attend lectures for the first few weeks of the course, during which time you will write the formal project plan document.
  • There is a rule of thumb that you should spend 2 hours outside of the classroom for every hour in it.  Thus for a 4-hour course you should spend at least 12 hours total per week.  Meetings with me and with your team count, as does programming, writing specifications, and so on.  See the section on timesheets, below.
  • I will use Microsoft Teams for my class.  Once you have formed your group, we will meet online using Teams.  We will also use that for documents.  Each group within this class will have a private area for their meetings and files.  There will be a  public area for documents and conversations that are of general interest.
  • Since we will have Teams set up, I strongly encourage you to hold your group's individual meetings on it, as well as other communication between group members. I know students love Discord, but I'm not going to join 14 Discord servers.  Sure, use it for things you don't want me to see, but if I don't see evidence of work then a valid assumption is usually that there is no work.
  • Speaking of work the Office of Community Standards and Conduct considers non-participation in a group project to be a form of cheating.  This makes sense.  Someone else does the work but the slacker gets credit.
  • I will monitor Teams regularly, and it can be a favorable alternative to e-mail, especially if it is something you want either your entire group or the whole class to see.  These days e-mail seems to get lost in the clutter 
  • We will meet in person three times during the semester so I can get to know you at least a little, and answer questions to the entire group.  This is also helpful for group members to get to know each other.
  • Once the lectures are over, we will meet every week.  I'll have a schedule in our Teams file area where your group can sign up for a time slot on either Tuesday or Friday afternoon.  Attendance at these is required and will be part of your grade.
  • Other than the scheduled meetings, I will be available during office hours as needed.
Some other things you should know:
  • You will need to be very self-motivated, since after the lectures end and you are working on your project, it will be very similar to a business environment where you work alone on code and with your team on planning, but report only weekly to the boss (me.)
  • I'll be happy to look at your code during our meetings or office hours. However, please do not show me code that has no comments.  Never say, "I'll comment it later."  If you're not sure how to comment code, see this: How to comment your code
  • When you write a function, after you write comments describing what it does, put your name and the date you started writing it.  I want to know who is writing what.  If I don't see your name on functions and modules, I'll asssume you didn't write any.  This doesn't mean that you will get a bad grade for doing, for example, database design and implementation, just document that in your timesheets. 
  • I often hear from students learning a new technology that, "I spent a couple of hours watching YouTube videos on it."  Unless you pause the video and apply some of what you learn, this is generally not very useful.  This is my own observation as well as that of many students.  Read or watch, then try it out.
 

Timesheets

  • Where is the timesheet? I will provide a template in the files area of "General"  and a copy in the files area for your team.  Create a tab with your name on it so you can enter time.  There are instructions in the timesheet for how to record time.
  • What goes on a timesheet? Everything you do for CS4485: Lecture attendance, meetings with your team, meetings with your professor, time you spend coding, time you spend writing documentation, even time spent watching related YouTube videos.
  • When are timesheets due? Record your time as you do things related to the class.  We (my grader and I) will collect timesheets on Sunday evenings.  Any time that has not been recorded for the previous week will not count, so there is no going back and filling in timesheets from weeks earlier.
  •  What if I forget to record time? It's lost.  "The Moving Finger writes / And having writ, moves on / Nor all your piety and wit may call it back to cancel half a line / Nor all your tears wash out a word of it."
  • A timesheet template will be posted in the General->Files area of teams.  Make a copy in your private files area.  Please do not modify the copy in General.

Meetings

  • I will meet with your team online on Teams every week starting the week lectures are done.  These are very similar to stand-up meetings in the Agile methodology.  Attendance is mandatory unless you have a written medical reason.
  • Meetings typically last 12 minutes.
  • Everyone is expected to report something during the meeting.  Saying nothing is the same as not attending.
  • Be in the meeting when it starts.  Consider that being a minute late for a 12-minute meeting is a lot, and you will be counted absent if you are not in the meeting when I join.
  • In past semesters, the best teams typically started their meeting half an hour to an hour before the scheduled time so they could prepare.
  • Have your camera on. This means you should join from a computer, not your phone.
  • Make sure you're in a quiet environment.  Too much background noise and you will be considered absent.
  • If you are going to show code or documents, have those ready.  Don't make everyone wait while you try to find a file.
  • I will post a spreadsheet in the General->Files area of our Teams team where you can sign up for a timeslot on either Monday or Friday.
  • There will be three in-person meetings with the entire class, all project groups, during which I will look at what you're doing and you will get to meet your own team and other teams.  These usually last about 90 minutes and are relatively informal.  Attendance is mandatory.