CS4485.OW1 Senior Design
Spring 2024

Instructor: John Cole
Tuesday from 1:00 to 3:00; 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

Teaching Assistant: None

Last update: 12/15/2023
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. 
  • 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.
  • 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 
  • You will be required to fill out a timesheet tracking how much time you spend on the course and what you accomplish.  If you don't put anything on this, I assume you did nothing.  Part of your grade will be based on this.  More detail below.
  • 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 on Teams 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.
  • 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 worthless.  This is my own observation as well as that of many students.  Read, then try.
 

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.  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.
  • I will post a spreadsheet in the General->Files area of our Teams team where you can sign up for a timeslot on either Tuesday 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.