Syllabus
Printable PDF...- Instructors
Dr. Wayne Dyksen
Professor of Computer Science and Engineering
3149 Engineering Building
(517) 353-5573
dyksen@msu.eduJames Mariani
Academic Teaching Specialist
3572 Engineering Building
(517) 353-6751
mariani4@msu.edu - Teaching Assistants
Brenden Hein
Academic Teaching SpecialistRoom 3322 Engineering Building
(517) 353-8734
heinbren@msu.edu
Luke Sperling
Graduate Teaching AssistantRoom 3322 Engineering Building
(517) 353-8734
sperli14@msu.edu
- Meeting Times
Lecture: Tuesday, Thursday, 10:20:00 a.m. – 11:40 a.m. Eastern Time Microsoft Teams General Channel
Lab: TBA, 3322 Engineering Building, 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 325 or CSE 410;
- 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).
- Prerequisites
In order to be enrolled in CSE498, a student must have successfully completed the prequisites listed above 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 will be disenrolled from CSE498 unless they have specific permission to enroll from the professor.
- Course Objectives
The course objectives for CSE498 include the following:
- design, develop, debug, document and deliver a complete software system to a project sponsor,
- work effectively in a team environment,
- develop written and oral communication skills,
- become proficient with software development tools and environments,
- learn about system building and system administration,
- consider issues of professionalism and ethics,
- integrate knowledge and skills from other computer science courses, and
- transition from being students to professionals.
- Team Projects
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 companies.
Project sponsor contacts are busy professionals. With respect to CSE498, they are volunteers who are doing students and teams a favor. Students must work with them in a respectful manner. If there are problems getting responses from project sponsors, let the professor and the instructors know, and we will handle it.
Each team selects one team member who is the main contact for the project sponsor. The computing experiences of project sponsors may vary widely from basic software users to experienced software developers.
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 often the most 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 us. As a team designs their projects, they should do so with levels of deliverables where the first level is clearly achieveable, the second is likely achieveable and the third is possibly achieveable.
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 us, and is achieveable.
Completed software and systems are submitted to the project sponsors at the end of the semester.
- 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, hardware and documentation required to complete their project.
- Business-Like Course Environment
One goal of this course is to give students a non-academic experience similar to that of an internship. Hence, we run this course as business-like as possible. We view each team as a small company attempting to deliver a software product to a customer. We assign students to teams so as to best distribute the variety of skills and experiences.
- Team Dynamics
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; we offer advice and counsel.
- Project Management, Major Milestones and Deliverables
Each team is expected to manage its own project. Each project is 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 but are not limited to the following:
- Project Plan Presentation & Document,
- Alpha Presentation,
- Beta Presentation,
- Project Video,
- Project Software, and
- Design Day.
- 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 but are not limited to meeting times and submission deadline times.
- Internet Connectivity Requirments
CSE498 is an on-line synchronous course, which means that students are required to attend meetings on-line, at specified times. Attendance is taken at all meetings, and is a significant portion of a student’s grade.
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 but not limited to missing a meeting, joining a meeting late, leaving a meeting early, or missing an attendance check.
If a student’s home or apartment wireless is not reliable, we recommend establishing a wired connection.
Note that there is a mobile version of Micrsoft Teams so that students can be connected to a meeting with both a desktop or laptop and a mobile device simultaneously.
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.
See All-Hands Meeting Attendance and Grading below.
- All-Hands Meeting Attendance
Our all-hands meetings are held online using our Microsoft Teams General Channel.
The format of all-hands meetings includes lectures, team status reports, team formal presentations, project videos and possibly guest speakers.
In order to maintain a business-like environment, the wearing of hats, hoods and coats during our all-hands meetings is prohibited. While the dress code is normally casual, everyone is expected to look professional.
Attendance is a significant factor in the final course grade comprising at least 5% of the final course grade. (See Grading below.)
On-time attendance is required. “On-time” means joined to the Microsoft Teams meeting by 10:20:00 a.m.
If a student joins the meeting after 10:20:00 a.m. but before 10:25:00 a.m., they are marked late. If a student joins the meeting after 10:25:00 a.m., they are marked absent. Almost no excuses for lateness or absence are accepted.
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, that student will be marked absent for that meeting.
In addition to joining a meeting using a laptop or a desktop, a student may elect to join a meeting simultaneously using a mobile device such as a phone to ensure a continued, stable connection to Microsoft Teams.
Students may not join any meetings using shared devices. Each student must join a meeting using one or more devices dedicated to that student.
Meeting attendance is taken using a variety of mechanisms. At the end of the each meeting, we download from Microsoft Teams the meeting attendees, which includes a list of who joined and left the meeting, and when. 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.
Normally, our meetings will end at the scheduled time of 11:40 a.m. However, from time to time, a meeting may extend past the scheduled ending time, particularly on days when teams make presentations including but not limited to Status Report Presentations, Project Plan Presentations, Alpha Presentations and Beta Presentations. Students are required to stay in a meeting until the end-of-meeting Google Form is announced and posted, even if a meeting continues past 11:40 a.m. Exceptions may be made in the event of a demonstrable emergency or conflict with another Michigan State University class.
If a student arranges to have someone sign in for them or if they sign in for someone else, they may lose up to 5 Attendance points and may receive a zero in the course for academic dishonesty.
One Attendance point is deducted for each time a student is absent without excuse and 0.5 Attendance points are deducted for each time a student is late without excuse.
Students begin the semester with 5 Attendance points. Attendance points are deducted from these initial five points as described above. It is very important to note that Attendance points continue to be deducted even after Attendance points reach zero so that a student’s final Attendance points may be negative, which effectively deducts points from other grade categories. (See Team Meetings, Grading and Minimal Grade Requirements below.)
If a student’s Attendance points are low or negative, their Team Contribution grade may be affected as well, which may have a significant effect on their final grade.
One or two all-hands meetings may be missed in the case of job interviews. In order to be excused, a student must supply the professor and their instructors in advance with the meeting date to be missed, the name of the company, the name and contact information (email and phone number) of their recruiter.
Attendance at meetings during which a team makes a presentation is absolutely required. No excuses for absence or lateness are accepted, including but not limited to job interviews. In general, there are multiple meetings for each type of team presentation. If necessary, we work with students and teams to coordinate as much as possible team presentations and job interviews. If a student is absent for any of their team presentations, they may lose up to 5 Attendance points and may also lose Team Contribution points. (See Grading and Minimal Grade Requirements below.)
We view the final project videos together during the regularly scheduled meeting times on April 26 and April 28 and during the scheduled final exam time, which is Friday, May 6, 7:45 a.m. – 9:45 a.m. ET. 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 Attendance points per meeting and may lose Team Contribution points, which may have a significant effect on their final grade.
On meeting days when teams give team presentatations (Project Plan Presentations, Alpha Presentations and Beta Presentations), and on meeting days when we watch Project Videos, we split into two groups based on instructors and teams. On those days, we meet in two separate Microsoft Teams channels initiated by each team’s instructors.
- Microsoft Teams Meetings Computing Requirements
All of our Capstone meetings are held online using Microsoft Teams or Zoom or some other similar platform. This includes all-hands meetings when we all meet, team triage meetings when teams meet with their TAs, team meetings when teams meet as a team, and project sponsor meetings when teams meet with their project sponsor.
For all online meetings, students are required to use either a desktop or laptop computer equipped with a camera, microphone and speakers. The device and internet connection must be fast enough to handle receiving and sending clear audio and clear video, which includes screen sharing.
When teams meet with their TA during triage meetings, 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.
In particular, 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 meetings.
- Meetings (Microsoft Teams Meetings) Professional Requirements
In general, the dress code for meetings is casual. Although the dress code is normally casual, students are expected to look professional.
As an exception, on the days when teams are making formal presentations, the dress code for the presenting teams is business casual.
As with most business meetings, hats, hoods (of coats or sweatshirts or hoodies) and coats may not be worn during our meetings.
Hint. Google “dress code casual” and “dress code business casual.” - Team Meetings
Team meetings include a weekly triage meeting with the instructors, a weekly meeting with the project sponsor, and one or more weekly meetings with the team itself. Meetings are held remotely either by phone or Microsoft Teams or Zoom.
Attendance by every team member at every team meeting is required.
Almost no excuses for absences or lateness are accepted.
If a student is absent from a team triage meeting, one Attendance point is deducted for each occurance. If late, 0.5 Attendance points are deducted.
As part of the weekly team triage meetings, each student is required to fill out a Google Form and submit Google Slides to show what they and their teammates have completed during the previous week and what their plans are for the coming week. If either task is done late or not at all, 0.5 Attendance points are deducted for each occurance.
Attendance is a significant factor, comprising at least 5% of the course final grade. If a student has more than five unexcused absences, their attendance grade may be negative, which effectively deducts points from other grade categories. Moreover, if they have more than five unexcused absences, their Team Contribution grade may be affected, which may have a significant effect on the final course grade. (See Grading and Minimal Grade Requirements below.)
One or two team meetings may be missed in the case of job interviews. In order to be excused, a student must supply the professor and their instructors in advance with the meeting date to be missed, the name of the company, the name and contact information (email and phone number) of their recruiter.
- Communications
Throughout the semester, we will use a variety of means to communicate with students including but not limited to
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.
Missing a meeting, or missing or not reading an email or a Microsoft Teams message will not be accepted as an excuse.
Students should install and configure an email client and Microsoft Teams on their mobile phone to ensure that they are able to monitor email and messages.
Students are required to read carefully every communication.
- The Capstone Experience Labs Sponsored By Amazon
The labs include rooms 3322 Engineering Building, 3340 Engineering Building, 3352 Engineering Building and 3358 Engineering Building.
Each team is assigned two iMacs. 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.
Although not required, team members are allowed to work in the labs provided that they adhere strictly to MSU’s COVID policies including being fully vacinated for two weeks prior and wearing a face mask covering the mouth and nose at all times. Students who are not fully vacinated for two weeks prior may not work in the lab. Doing so or providing false information about vacination status will be considered a violation of MSU’s Integrity of Scholarship policy. See Integrity of Scholarship below.
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.
Since working in person in the labs is voluntary, Team Members do so at their own risk.
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.
Note that students may not use the Capstone lab space for joining or attending online meetings.
- Scheduled Lab Times
There are no formal lab sessions. However, teams are expected to meet at least twice weekly, once for triage meetings with the professor and/or instructors and once for team meetings.
- Expectations and Workload
We have high workload expectations for this course. It is one of the most important courses for a student’s resume and portfolio of experiences. It is the capstone of their computer science career at MSU. This course provides each student with the opportunity to showcase their abilities on a significant non-academic software project. In addition, the Capstone Experience provides significant talking points for future job interviews.
- Submission of Deliverables
Project videos are due on the Wednesday of the penultimate week of classes. All deliverables are due on the Wednesday of the last week of classes. All deliverables include all source code (checked out of any repository), the project plan document, all-hands meeting PowerPoint presentations, and the final project video, organized appropriately in folders.
Instructions for submission of the project videos and all deliverables are given at the appropriate time.
- Grading
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.0 Alpha Presentation 10.0 Beta Presentation 10.0 Project Video 10.0 Project Software & Documentation 25.0 Design Day 5.0 Team Total 70.0 Individual Grade (30%) Technical Contribution 10.0 Team Contribution 10.0 Team Evaluation Form 5.0 Meeting Attendance and Preparation 5.0 Individual Total 30.0 Every student must make significant technical contributions to their team’s project, including significant software contributions.
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 they do not contribute significantly, they risk not passing the course.
No special consideration is given for final grades including but not limited to status as a CSE major, status in any academic program, financial aid, rank in the armed forces, job while a student a MSU, job after anticipated graduation from MSU, commute to MSU, graduation, mortgage, upcoming weddings, ability to enroll in CSE498 next semester, or visa status.
We reserve the right to make reasonable changes during the semester with sufficient notice.
In addition, see Minimal Grade Requirements below. - Minimal Grade Requirements
In order to be eligible to earn a non-zero final course grade, a student must earn at least 50% in every one of the grading categories given above in Grading. That is, in order to be eligible to earn a non-zero final course grade, a student must earn at least the following required minimal grades.
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 and Preparation 2.5/5.0 If a student fails to meet these minimum grade requirements, they may be assigned a course grade of 0.0.
- 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 professor 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 professor, instructors or team members about matters related to the course will be considered academic dishonesty.
Any evidence of academic dishonesty will be grounds for receiving a final grade of 0.0 for the course.
- Nota Bene
In the case of discrepancies between the version of the syllabus posted on the course web site Syllabus page and the downloadable PDF version, the web site version takes precedence.
We reserve the right to make reasonable changes to this syllabus during the semester with reasonable notice.
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 and documentation. Issues of professionalism, ethics and communication.
As with most business meetings, eating during our meetings is prohibited.