Syllabus
- Instructors
Dr. Wayne Dyksen
Professor of Computer Science and Engineering
3149 Engineering Building
(517) 353-5573
dyksen@msu.eduJames Mariani
Professor of Instruction
3572 Engineering Building
(517) 353-6751
mariani4@msu.edu - Teaching Assistants
Luke Sperling
Graduate Teaching AssistantRoom 3322 Engineering Building
(517) 353-8734
sperli14@msu.edu
Griffin Klevering
Graduate Teaching AssistantRoom 3322 Engineering Building
(517) 353-8734
kleveri2@msu.edu
Tommy Hojnicki
Graduate Teaching AssistantRoom 3322 Engineering Building
(517) 353-8734
hojnick1@msu.edu
- Meeting Times & Places
Lecture: Tuesday, Thursday, 3:00 p.m. – 4:20 p.m. Eastern Time All-Hands, In Person: 1281 Anthony Hall Split-Hands, Luke’s Teams: 3202 STEM Building Split-Hands, Griffin’s Teams: 2202 STEM Building Split-Hands, Tommy’s Teams: 1281 Anthony Hall All-Hands, Online: Microsoft Teams General Channel
Lab: TBA, 3340 Engineering Building, 3352 Engineering Building and 3358 Engineering Building
- Web Site
- Catalog Description
Credits: 4 (2 – 4), Lecture/Recitation/Discussion Hours: 2, Lab Hours: 4.
Prerequisites: In order to enroll in CSE498, a student must have successfully completed each of the following in advance:
- CSE 300 (Can Be Waived),
- CSE 325,
- CSE 335,
- at least two CSE technical 400-level courses chosen from CSE 402, CSE 404, CSE 410, CSE 415, CSE 420, CSE 422, CSE 425, CSE 431, CSE 434, CSE 435, CSE 440, CSE 450, CSE 460, CSE 471, CSE 472, CSE 476, CSE 477, CSE 480 or CSE 482,
- and WRA (Tier I Writing Requirement).
Restrictions: Open only to students in the Computer Science Major or in the Lyman Briggs Computer Science Coordinate Major.
Description: Development of a comprehensive software and/or hardware solution to a problem in a team setting with emphasis on working with a project sponsor. Participation in a design cycle including specification, design, implementation, testing, maintenance, documentation. issues of professionalism, ethics, and communication.
- Prerequisites
In order to be enrolled in CSE498, a student must have successfully completed the prerequisites listed in the section titled Catalog Description. These requirements are prerequisites, which means that they must be completed successfully, in advance of the semester in which a student is enrolled in CSE498.
If a student has not met these prerequisites, they are disenrolled from CSE498 unless they have specific permission to enroll from one of the course instructors.
- Course Materials
There are no required or recommended textbooks, software or course packets to be purchased for this course. Teams are provided with any and all software and hardware required to complete their project.
- Scheduled Lab Times
There are no formal lab sessions. However, students are required to meet weekly as a team with their teaching assistant, with their project sponsor, and with their other team members.
CSE498 is a four-credit course. Two of the credit hours correspond to the two weekly class meetings. The other two credit hours correspond to the weekly non-class meetings in lieu of a scheduled lab.
- Including But Not Limited To
Throughout this syllabus, wherever a list of items begins with the word “including,” that word “including” implies the entirety of the phrase “including but not limited to.”
- Use of Eastern Time (ET)
Unless indicated otherwise, all times specified are Eastern Time (ET), either Eastern Standard Time (EST) or Eastern Daylight Time (EDT), depending on the time of year.
These times include meeting times and submission deadline times.
- Course Objectives
One objective of this course is to give students a professional experience like that which they will encounter in their first position after graduation. Hence, we run this course as business-like as possible. We view each team as a small company engaged by a customer to deliver a significant software system on time and on budget.
Other course objectives for CSE498 include the following:
- design, develop, debug, document and deliver a complete software system,
- gather system requirements from a customer,
- become proficient with software development tools and environments,
- build and administer computer systems,
- work effectively in a team environment,
- develop written and oral communication skills,
- consider issues of professionalism and ethics,
- integrate knowledge and skills from other computer science courses, and
- transition from being students to professionals.
- Weekly In-Person Meetings
All of our meetings will be held in person.
Students are required to attend several weekly meetings in person including but not limited to
- two class meetings,
- a triage meeting, which is a team meeting with the team’s teaching assistant,
- team meetings with the team’s project sponsors who may be remote, and
- one or more meetings with the team members.
We coordinate with students to make reasonable accommodations for their schedules. However, students must be available for all weekly meetings including the non-class meetings. We do not make accommodations for students who are working an unreasonable amount of hours at a job such as a half-time or more internship or a full-time position. Students are strongly discouraged from working an unreasonable amount of hours at a job during the semester.
As a contingency, we have standing plans to pivot to meet online if necessary. Some of the language below relates to those plans. However, that language will only be relevant if and when we were to pivot to meeting online.
- Meeting Formats
Our group meetings include lectures, team status reports, team formal presentations, viewing project videos, and possible guest speakers.
For some of our meetings, we meet as one single group, called “all-hands” meetings. For some meetings, we split up into three sections, called “split-hands” meetings. These three sections are based on a team’s teaching assistant. In particular, we meet in split-hands meetings on days when teams give team presentations throughout the semester and when we watch project videos during the last week of the semester.
While most of our meetings are held in person, some of our meetings may be held online.
All-hands in-person meetings are held in 1281 Anthony Hall. Split-hands in-person meetings are held in 1281 Anthony Hall, 3202 STEM Building, and 1281 STEM Building.
Online meetings are held using Microsoft Teams. All-hands online meetings are held using our Microsoft Teams General Channel. Split-hands online meetings are held using three Microsoft Teams Channels, one for each teaching assistant.
Students must attend all in-person meetings in person.
- Meeting Environment
To provide students with a professional experience, our meetings are conducted in a business-like environment.
While the dress code is normally casual, everyone is expected to look professional. Hence, hats, hoods (of coats or sweatshirts or hoodies) and coats may not be worn during our meetings.
As an exception, on the days when teams are making formal presentations, the dress code for the presenting teams is business casual.
For more information about profession dress expectations, google “dress code casual,” “dress code business casual,” and “dress code business.”
As with most business meetings, eating during our meetings is not allowed.
The use of laptops or any mobile devices during our all-hands meetings is prohibited except by a presenting team member while giving presentations and demonstrations. Laptops and mobile devices must be silenced and stowed away, out of view and out of reach.
Students who violate our Meeting Environment requirements may be marked absent.
- Communications
Throughout the semester, we use a variety of means to communicate with students including meetings, email, and Microsoft Teams messaging. In addition to attending all meetings, students are required to check and read their email and Microsoft Teams messages regularly and carefully.
Missing a meeting, or missing or not reading an email or a Microsoft Teams message is not accepted as an excuse for anything.
Students should install and configure an email client and Microsoft Teams on their mobile devices to ensure that they are able to monitor email and messages remotely.
Students are required to read every communication regularly and completely.
- Team Projects
One goal of this course is to give students a significant experience working on a team. Students may be working with people whom they did not know prior to the course and whose experiences and abilities may be very different from theirs. The challenge is to take a disparate group of individuals and form a real team. Each team may organize itself as it sees fit.
Each student team designs, develops, debugs, documents and delivers a complete software system for a project sponsor. The sponsor organizations range in type from industry to non-profits to academic and in size from small startups to large global corporations.
Project sponsor contacts are busy professionals. Their computing experiences may vary widely from basic software users to experienced software developers. With respect to CSE498, they are volunteers who are doing students and teams a favor. Students must work with their sponsors in a respectful manner. If teams experience any problems with their project sponsors, they should inform the course instructors as soon as possible.
Each team selects one team member who is the main contact for the project sponsor.
For most of a student’s academic experiences, they have been handed a complete system architecture with detailed specifications and asked to develop it. For this course, learning the underlying business processes, gathering the system requirements, and architecting the system are sometimes a difficult challenge, particularly when working with users who are not sure about what software technologies they need to solve their problem.
Each project must be the right level of difficulty. On the one hand, it must be difficult enough to warrant four credits in a computer science major from one of the top programs in the country, MSU. On the other, it must be simple enough to be completed and delivered in one semester. What constitutes the right level of difficulty is something that each team works out with their project sponsor and with the instructors. As a team scopes their project, they should do so with levels of deliverables where the first level is clearly achievable, the second is likely achievable and the third is possibly achievable.
Each team must deliver a completed project to their project sponsor on time. Period. There are no exceptions. No excuses are considered or accepted. Thus, it is in a team’s best interest to propose something that is acceptable to their sponsor and to the instructors. The instructors have the final say as to the required features of a project and what constitutes an acceptable project.
Completed software and systems are submitted to the project sponsors at the end of the semester.
- Project Management, Major Milestones and Deliverables
Teams are required to manage their own project including both hardware and software systems.
Teams must use a code repository such as GitLab to manage their project computer code. Course instructors must have access to every team’s repository.
Projects are divided up into milestones with specific deliverables due on specific dates. While the completed project at the end of the semester is one very important milestone, all of the major milestones are considered important. Meeting the milestones factors significantly into the final course grade.
For a description of major milestones with due dates see Major Milestones.
Project deliverables include the following:
- Project Plan Presentation & Document,
- Alpha Presentation
- Beta Presentation,
- Project Video,
- Project Software, and
- Design Day.
- The Capstone Experience Labs Sponsored By Amazon
The labs include rooms 3340 Engineering Building, 3352 Engineering Building and 3358 Engineering Building.
The Capstone Experience Labs have a key code, which we give to everyone.
Each team is assigned two iMacs and a rack-mounted server if required. In addition to Apple‘s macOS, these iMacs have the capacity to run virtual machines with Windows or Linux using VMware Fusion. These iMacs can be used for both software development and as servers.
Each team is completely responsible for their computers, including building them, maintaining them, securing them (both internally and externally), and backing them up.
Team members are allowed to work in the labs provided that they adhere strictly to MSU’s COVID policies including being fully vaccinated for two weeks prior. Students who are not fully vaccinated for two weeks prior may not work in the lab. Doing so or providing false information about vaccination status is considered a violation of MSU’s Integrity of Scholarship policy.
All of the labs include hand sanitizer dispensers and sanitizing wipes, which should be used to sanitize keyboards, mice and table surfaces. Team members are required to sanitize their keyboards, mice and table surfaces before and after each use.
In addition to working in the labs in person, team members are able to access the iMacs in the labs remotely. Instructions are provided by the instructors.
The lab also includes a water cooler with bottled water, a refrigerator, a microwave and a coffee maker. Students are welcome to use all three at their own risk. These are shared resources. Please keep these appliances along with the entire lab clean.
Note that students may not use the Capstone lab space for joining or attending online meetings.
- Final Course Grades
A student’s final course grade is based both on a team’s performance and a student’s individual performance. What follows is a list of grading categories along with the point distribution.
Team Grade (70%) Project Plan Presentation & Document 10 Alpha Presentation 10 Beta Presentation 10 Project Video 10 Project Software & Documentation 25 Design Day 5 Team Total 70 Individual Grade (30%) Technical Contribution 10 Team Contribution 10 Team Evaluation Form 5 Meeting Attendance, Preparation and Participation (MAPP) 5 Individual Total 30 Teams are required to use a code repository such as GitLab to develop their software system. When a student commits code to their team’s repository, the student must use their own repository account and only their own account. Students receive credit only for the lines of code submitted by them using their own account.
Every student must make significant technical contributions to their team’s project, including significant software contributions. Significant software contributions do not include doing initial research, code that is committed by someone else, code that does not work, or code that is not included in the final version of the project.
If students engage in so-called pair programming, they must decide when committing the code who gets credit for what code, keeping in mind that students receive credit only for the lines of code submitted by them using their own account.
Students must be ready at all times to demonstrate and explain their software to the course instructors when asked to do so. They must be able to demonstrate and explain their software using one of the computers in the Capstone Lab or their personal device. Students cannot use as an excuse that their software only runs on the computer in their dorm room or apartment, or that they do not have the latest version of their software. If a student is not able to demonstrate and explain their software when asked, the course instructors will deem that it does not work and grade appropriately.
For a final grade, each student earns the sum of their individual grade plus a prorated percentage of their team’s grade based on the corresponding percentage of their Team Contribution grade as follows:
Prorated Team Total = (Team Total) * (Team Contribution) / 10.0,
Grand Total = (Individual Total) + (Prorated Team Total).
Note that the Team Contribution grade has a very significant effect on the final grade.
For example, if an individual’s Team Contribution grade is 10.0, then they earn 100% of the team grade. If the Team Contribution is 9.0, then they earn 90% of the team grade, and so on.
So, if a student is not a contributing team member, they run the risk of not passing CSE498, which is required for graduation.
In other courses, students may have experienced team projects in which one person or a few persons did all of the work, while everyone on the team received the same credit and the same grade for the entire team. This is not the case in CSE498. Each student is evaluated on their individual Technical Contribution and their Team Contribution. If a student does not contribute significantly in those categories, they risk not passing the course.
- Minimal Grade Requirements
Every student must earn the following required minimal grades in each grading category.
Minimal Team Grade Requirements Project Plan Presentation & Document 5.0/10.0 Alpha Presentation 5.0/10.0 Beta Presentation 5.0/10.0 Project Video 5.0/10.0 Project Software & Documentation 12.5/25.0 Design Day 2.5/5.0 Minimal Individual Grade Requirements Technical Contribution 5.0/10.0 Team Contribution 5.0/10.0 Team Evaluation Form 2.5/5.0 Meeting Attendance, Preparation and Participation (MAPP) 0.0/5.0 Failure to earn the required minimal grades in any of the grading categories is grounds for receiving a final grade of 0.0 for the course.
- Mid Semester Evaluations
About halfway through the semester, students are given mid semester evaluations, which indicate a student’s capstone performance to date.
The mid semester evaluations are not mid semester grades in that they are not used to compute final grades, but merely indicate a student’s performance to date. Depending on a student’s performance throughout the second half of the semester, a student’s final grades could be higher or lower, even significantly higher or lower.
- Special Considerations for Final Grades
No special considerations are given for final grades for any reasons including but not limited to
- status in any academic program at MSU including CSE,
- the ability to enroll in CSE498 next semester,
- financial aid,
- hours worked in a job while a student at MSU,
- distance commuting to MSU,
- anticipated graduation from MSU,
- acceptance of a job in anticipation of graduation,
- rank in the armed forces,
- mortgage on a property,
- lease on a property,
- upcoming wedding, or
- visa status.
- Meeting Attendance, Preparation and Participation (MAPP) Grade
Meeting attendance and preparation is very important in the business world. Hence, meeting attendance and preparation is a significant factor in the final course grade comprising at least 5% of the final course grade. (See Final Course Grades.)
Students begin the semester with 5.0 Meeting Attendance, Preparation and Participation (MAPP) points. If a student is late to a meeting, 0.5 MAPP points are deducted. If absent, 1.0 MAPP point is deducted. Almost no excuses are accepted for being late or absent.
As preparation for weekly team triage meetings, each student is required to complete a Google Form and submit Google Slides. If either task is completed late or not at all, 0.5 MAPP points are deducted for each occurrence.
MAPP points continue to be deducted even after a student’s MAPP points reach zero so that a student’s final MAPP points grade may be negative, which effectively deducts points from other grade categories.
If a student’s MAPP points are low or negative, their Team Contribution grade may be affected as well, which may have a significant effect on their final grade.
- Meeting Attendance Policies and Procedures
Students are required to be “meeting-ready” at the designated meeting start time.
For in-person meetings, “meeting-ready” means seated with one’s team in the appropriate room, coat and hat off, and all mobile devices silenced and stowed. Examples of not being meeting-ready in person include entering a room, walking to a seat, and being in the process of sitting down.
For online meetings, “meeting-ready” means joined to the appropriate Microsoft Teams channel on an appropriate device in an appropriate location. Examples of not being meeting ready online include joining the wrong channel, joining a meeting using only a phone, and joining a meeting in an inappropriate place such as while driving in a car or standing in line at a bar.
If a student is meeting-ready by 3:00:00 p.m., they are marked present. If a student is not meeting-ready by 3:00:00 p.m. but is meeting-ready before 3:05:00 p.m., they are marked late. If a student is not meeting-ready by 3:05:00 p.m., they are marked absent.
Almost no excuses for lateness or absence are accepted. Excuses that are not accepted for in-person meetings include heavy traffic, bad weather including snow, missing a bus, or lack of parking. Excuses that are not accepted for online meetings include computer crashes, Microsoft Teams not working, or lack of an internet connection, either wired or wireless.
A few meetings may be missed in the cases of job interviews and some university-approved events. Student must request to be excused in advance and must provide the instructors with the meeting date to be missed and the reason in advance. For job interviews, students must provide the name of the company as well as the name and contact information (email and phone number) of their recruiter. For other university-approved events, students must provide a description of the event along with appropriate documentation.
Students may request an excused absence in the case of illness or injury, but it must be requested in a timely manner, no later than two days from the date for which the excused absence is being requested. Students must supply written documentation from a licensed local medical provider such as the Olin Health Center as the result of an in-person visit stating that the student is unable to attend a meeting in person. Note that the documentation must say more than simply that the student had an appointment or a cold or some other diagnosis. The document must explicitly say that the student is unable to attend a meeting in person due to their illness or injury. Moreover, we will not except documentation resulting from an out-of-state provider or a virtual visit.
In addition to the above, Michigan State University has a Grief Absence Policy to accommodate the bereavement process of a student who has lost a family member. It is the responsibility of the student to: a) notify the Associate Dean or designee of their college of the need for a grief absence in a timely manner, but no later than one week from the student’s initial knowledge of the situation, b) provide appropriate verification of the grief absence as specified by the Associate Dean, and c) complete all missed work as determined in consultation with the instructors.
Meeting attendance is taken using a variety of mechanisms.
For in-person meetings, each teaching assistant circulates for their teams an attendance sheet, which students sign to indicate presence. Each teaching assistant also keeps track of students who are not meeting-ready by 3:00:00 p.m. and 3:05:00 p.m., marking them late and absent, respectively. Students who leave a meeting early are marked absent.
For online meetings, at the end of each meeting, we download from Microsoft Teams the meeting attendees, which includes a list of who joined and left the meeting, and when. If a student is shown to have left a meeting for more than one minute before it ends, they are marked absent.
In addition, at random times during a meeting, students are given one minute to complete a Google Form to indicate their attendance and alertness.
Finally, at the end of the meeting, students are given one minute to complete a final Google Form to indicate their attendance at the end of the meeting. If a student fails to complete a Google Form, we assume that they have left the meeting, in which case they are marked absent.
If a student arranges to have another student mark them present at a meeting or if a student marks another student present at a meeting, they may lose up to 5.0 MAPP points and they may receive a final grade of 0.0 in the course for academic dishonesty.
Students are required to remain in a meeting until the meeting is ended by the meeting host. Exceptions may be made in the event of a demonstrable emergency or conflict with another Michigan State University class, the latter of which must be approved by the instructors in advance.
Normally, our group meetings end at the scheduled time of 4:20:00 p.m. or earlier. However, from time to time, a meeting may extend past the scheduled ending time, particularly on days when teams make presentations including Status Report Presentations, Project Plan Presentations, Alpha Presentations and Beta Presentations.
Even if a meeting continues past the scheduled end time, students are required to remain in a meeting until the meeting is ended by the meeting host.
For online meetings, students are required to join a meeting using a device and a location that is appropriate for a business meeting. In general, appropriate devices include a laptop or a desktop, and an appropriate location is a quiet, semi-private place like a room in an apartment or at home, or a dorm room. Students may not join a meeting from within any of the Capstone labs, or from a public location such as a library or a restaurant. If the instructors deem that a student has joined a meeting using a device or from a location that is inappropriate, the student is marked absent for that meeting.
Students may not join an online meeting using shared devices. Each student must join a meeting using one or more devices dedicated to that student.
For online meetings, in addition to joining a meeting using a desktop or laptop computer, we strongly recommend that a student join the meeting simultaneously using a cellular device such as a mobile phone or tablet to ensure a continued, stable connection to Microsoft Teams.
Attendance at meetings during which a teams make presentations is absolutely required. No excuses for absence or lateness are accepted, including job interviews. In general, there are multiple meeting dates for each type of team presentation. We work with students and teams to coordinate as much as is reasonably possible team presentations to avoid scheduling conflicts, but only conflicts resulting from job interviews and some university-approved events. If a student is absent for any of their team presentations, they may lose up to 5.0 MAPP points and may also lose Team Contribution points.
We will watch the final project videos together during the regularly scheduled meeting times on April 25 and April 27, and during the scheduled final exam time, which is yet to be determined. Attendance by everyone for viewing all project videos is required. No trips should be scheduled that conflict with these meetings. Job interviews are not accepted as an excuse for missing any of the final project video viewings. If a student is absent for any of these final meetings, they may lose up to 5.0 MAPP points per meeting and may lose Team Contribution points, which may have a significant effect on their final grade.
- Online Meeting Computing Requirements
All of our online meetings are hosted using Microsoft Teams.
For online meetings, students are required to use either a desktop or laptop computer equipped with a camera, microphone and speakers and must be able to handle receiving and sending clear audio and clear video, which includes screen sharing.
Students are required to have an internet connection that is reliable.
In general, internet connectivity issues are not acceptable excuses for any attendance issues including missing a meeting, joining a meeting late, leaving a meeting early, or missing an attendance check.
In addition to having a reliable internet connection, students are required to have an internet connection that has enough bandwidth to support high quality audio and video using Microsoft Teams.
Along with Microsoft Teams, Google Forms are used for taking attendance. Students must be able to access Google Forms reliably.
When meeting online, students may be asked to demonstrate project software. They must be able to demonstrate their software online when asked to do so, normally by sharing a screen in Microsoft Teams.
Students cannot use as an excuse that they are not able to demonstrate their software because it does not run on the device with which they are connected to a meeting. As an example, it is not acceptable for a student to say that they are not able to demonstrate their software because it only works on their laptop, but they are connected to the meeting using a mobile phone or tablet.
If a student is not able to demonstrate their software, we assume that they have not completed their assigned task and grade them accordingly. To this end, it is important to practice demonstrating software online with teammates in advance of online meetings.
- Design Day
On the last day of each semester, the College of Engineering sponsors an event called Design Day at which student teams demonstrate their projects to the public. Students are required to be involved in all aspects of Design Day including setup on Thursday, April 27 and the exposition, presentations to judges, tear down and an awards ceremony on Friday, April 28.
Everyone is required to attend and participate in Design Day on both Thursday, April 27 and Friday, April 28. Students should not schedule any trips during these times. Interviews are not accepted as an excuse for missing any of the Design Day activities.
If a student does not participate in Design Day, arrives late on Design Day, does not dress appropriately, does not actively participate in the exposition, leaves early on Design Day, does not attend the Awards Ceremony, or leaves the Awards Ceremony before it concludes, they may lose up to 5 MAPP points and they may lose Team Contribution points, which may have a significant effect on their final grade.
- Travel Reimbursement Policy
Teams traveling to their project sponsor may be reimbursed for mileage for the use of a personal car. Travel reimbursement is limited to travel within the State of Michigan outside of the Lansing area. Reimbursement is also limited to one car per team per trip.
To be reimbursed for travel mileage, see one of the administrative assistants in the CSE office in advance. If a student does not request permission to travel and be reimbursed in advance, they may not be reimbursed.
- VISA (Verified Individualized Services and Accommodations) Forms
Michigan State University is committed to providing equal opportunity for participation in all programs, services and activities. Requests for accommodations by persons with disabilities may be made by contacting the Resource Center for Persons with Disabilities at (517) 884-RCPD or on the web at rcpd.msu.edu. Once a student’s eligibility for an accommodation has been determined, they are issued a Verified Individual Services Accommodation (VISA) form. Please inform the instructors at the start of the semester as soon as possible.
- Integrity of Scholarship
The Department of Computer Science and Engineering expects all students to adhere to MSU's policy on Integrity of Scholarship and Grades, which includes the statement, “...all academic work will be done by the student to whom it is assigned, without unauthorized aid of any kind” (Academic Programs, General Procedures and Regulations). General Student Regulation 1.00 in the student handbook (Spartan Life) also addresses this issue.
Among other things, providing false information to the instructors, teaching assistants or fellow team members about matters related to the course is considered academic dishonesty.
Any evidence of academic dishonesty is grounds for receiving a final grade of 0.0 for the course.
- Official Version of the Syllabus
This Syllabus web page is the one and only official version of the syllabus.
- Right to Make Changes
We reserved the right to make reasonable changes to this syllabus during the semester with reasonable notice.