Instructor | David Ferry, Homepage |
Course Web Site | http://cs.slu.edu/~dferry/courses/capstone/ |
Course meeting times | Monday from 4:10 - 6:00, ONLINE
Zoom meeting link: Click here to join Zoom meeting ID: 913 4784 2808 Zoom passcode: 157858 |
Office hours | See my schedule |
The Capstone Project serves as a concluding achievement for graduating students, allowing them to apply knowledge that they have gained from the Computer Science curriculum toward a year-long project. Formally, the project is completed as part of a two-semester sequence of 2-credit courses: CSCI 4961 (Capstone Project I) and CSCI 4962 (Capstone Project II).
The Capstone Project serves as a concluding achievement for graduating students, allowing them to apply knowledge that they have gained from the Computer Science curriculum toward a semester-long project. Formally, the project is completed in one semester as a 3-credit course: CSCI 5960 (Capstone Project).
After successfully completing this course sequence, students will be able to:
Key roles in the capstone course are as follows:
Student Team
Each project is to be completed by a team of students; in rare
situations, that team may consist of a single student.
Client
For most projects there will be a clearly identified Client
who originally proposed the project or is a potential end user
of the result; the client may or may not be a CS faculty member.
The client typically serves as a primary point-of-contact in shaping
the desired specification for the eventual product and may
provide feedback on development prototypes.
Supervisor
Each project will have a Supervisor who is a CS faculty
member that oversees the team's progress on the project. The
Supervisor may or may not be the instructor-of-record for the
course, and may be the same person as the Client, in cases where
the Client is already a CS faculty member. The supervisor and instructor are jointly
responsible for evaluating student teams.
Instructor
The instructor-of-record for the course is responsible for the
administration of the course, assignment of teams, scheduling of presentations, and
record-keeping involving grades.
The Supervisor and the Instructor will work together in grading the performance of the teams. A non-CS Client may be consulted, but has no formal responsibilities in regard to evaluation.
At the onset of CSCI 4961 and CSCI 5960, the instructor will circulate a list of potential projects to consider. These projects are often suggested by CS faculty members based on research endeavors or educational tools, are based on requests coming from members of the broader SLU community, or in some cases from external community groups. Students will also be afforded an opportunity to suggest project ideas for consideration. Projects should have an appropriate scope for a culminating experience, having a richness in both aspects of design and use of technology. Past examples of project descriptions will be provided.
At the beginning of the second week, individual students will be asked to submit a ranked list of preferences for projects of interest, and preferences regarding the composition of student teams. The supervisors will make final determination of the teams and their assignments to projects, while taking into consideration the preferences submitted by students. Those assignments will be announced by the end of the second week.
After project assignment, each student team must develop a formal Project Plan that outlines the scope of the project, and the timeline for major deliverables for both Capstone I and Capstone II (for undergraduates) or Capstone 5960 (for graduate students). This plan must be approved and signed by both the Supervisor and Instructor no later than the end of the third week of class to be considered prompt.
Each project is unique, and teams may adopt one of a variety of project management styles. However, all teams must adhere to the following checkpoints and timeline (details of which follow).
Required Work | Deadline |
---|---|
Individual preferences (Capstone 1, SE, and AI) |
|
Draft Project Plan (Capstone 1, SE, and AI) |
|
Signed Project Plan (Capstone 1, SE, and AI) |
|
Weekly reports | each Monday via Git after Git repositories are created |
|
Friday, March 12, 2021 |
Midterm presentations |
|
|
Friday, May 7, 2021 |
Final presentation |
|
Team self-assessment | Friday, May 14, 2021 |
Week | Date | Topic | Notes |
---|---|---|---|
Week 1 | February 1st | Class Introduction | Capstone 1, SE, AI project preferences due Thursday Capstone 2 should reconnect with group and supervisor |
Week 2 | February 8th | User Stories
Capstone 1, SE, and AI Readings: Agile User Stories User Story Template User Stories Defined Capstone 2 will break out and do Deliverable 3 Planning |
Groups formed (Capstone 1, SE, AI) |
Week 3 | February 15th | Capstone 1, SE, AI Project Start | Capstone 1, SE, AI draft project plan due Friday |
Week 4 | February 22nd | Capstone 1, SE, AI final draft project plan due Friday | |
Week 5 | March 1st | ||
Week 6 | March 8th | Presentation Rough Draft Due In Class Presentation Gallery |
Deliverable 1/3 due Friday |
Week 7 | March 15th | No Class | Deliverable 1/3 Presentations This Week |
Week 8 | March 22nd | Deliverable 2/4 Planning | |
Week 9 | March 29th | Migration Planning | |
Week 10 | April 5th | Strengths Analysis | |
Week 11 | April 12th | Velocity Estimation | |
Week 12 | April 19th | ||
Week 13 | April 26th | ||
Week 14 | May 3rd | Deliverable 2/4 due Friday | |
Week 15 | May 10th | No Class | Deliverable 2/4 Presentations Tuesday |
Project Plan
Once your group is formed you should meet with your supervisor,
client, and other group members to produce a rough roadmap
for your capstone project. Your project plan should give a
brief (1-2 page) executive summary of the project. This
includes your client and their
organization (if any), a description of the problem to be
solved, background on existing technical work (if applicable),
how your project intends to address the problem. You should
also identify what development methodology you intend to
pursue (agile, waterfall, etc.) and your team's structure or
group member specialization (if any).
Most importantly, your project plan should identify four major deliverables (two for 5960) for your project. The content and scope of your deliverables will vary depending on your project. Make your best effort to create a rough draft with your group members, and then this will be revised with the input of your supervisor and instructor to create the final draft.
This project plan becomes the "contract" between you and the CS department as to what constitutes acceptable progress in the capstone course. Of course no plan is a perfect instrument, especially for a nine-month project, but failure to make adequate progress will put you in the position of having to explain why.
You may find templates for your project plan here.
Deliverables
Given the wide range of projects, there is no one-size-fits-all
definition for the deliverables, but as part of the initial
project plan, the students and Supervisor should outline four major
stages of the project that are to be achieved by the four
checkpoints in our timeline (middle of first semester, end of
first semester, middle of second semester, end of second semester).
Graduate students taking 5960 will target two major deliverables at the middle of the semester and end of the semester. The example checkpoints below are commensurately compressed.
For teams following a traditional waterfall model, the deliverables will naturally follow a sequence of requirements specification and design documentation, an alpha software, then beta software, and finally verification and testing.
For teams exploring research-driven questions, the deliverables might be papers that describe the work and results.
For a more detailed example, for teams following an agile development process, example checkpoints are as follows:
Deliverable #1 - Sprints 1 and 2 - Conceptualization and Instantiation
Deliverable #2 - Sprints 3 and 4 - Rapid prototyping
Deliverable #3 - Sprints 5 and 6 - Iteration
Deliverable #4 - Sprints 7 and 8 - Release, Deployment, and end-of-capstone migration
Deliverable #2: Design Document
A writen document that describes a detailed design for achieving the
formal requirements. A design document should
include a description of the major components, their interfaces
and how they interact to form the whole.
Figures should be included for clarity, such as a UML diagram of
the software design or an ER-diagram for a database.
This document should also contain a discussion of any
third-party technologies or software packages that will be
used in meeting the project goals. Teams should demonstrate
software prototypes showing that
they have already evaluated and familiarized themselves with
key technologies and design choices.
Finally, this document must include a proposed time-line for the
remainder of the project life cycle, making sure to include
specific sub-goals for the development, implementation, and
testing phases of the project.
Deliverable #3: Alpha Version
The alpha version of the project is a preliminary
implementation that includes all
major functionality of the final product, yet may lack some
advanced features, have a less polished interface, and contain
some known bugs.
Deliverable #4: Final Product
The final product must be submitted, including complete
source code, documentation for deployment and usage,
database schemas, analysis, and so on, as appropriate for
the project.
Presentations
The teams will make four presentations during the
two-semester sequence, typically just after a recent deliverable
was submitted.
Each presentation will be scheduled with 20 minutes
for a formal presentation, followed by up to 10 minutes of
questions from faculty members in the audience.
Teams should prepare polished presentation materials and
for most projects include a live demonstration of the
current state of a product.
Teams should test the presentation and
demonstrations in the designated classroom well in advance of the
scheduled presentation.
Copy of Slides from Michael Goldwasser's Presenting a Professional Professional Presentation
Here is a sample project presentation rubric.
Weekly Reports
Each student is responsible for uploading a brief progress report to Git
each week. Formally, each week's report is due at the start
of class in the following week. For Capstone I and graduate students, the first
report is due the Monday after your Git repository is created; Capstone II
teams will make their first report on the second week of the
semester.
Each student should detail what they accomplished during the week, what challenges were encountered, and a plan for activities in the upcoming week. There should be one file per week for all group members, but each team member must write their own report. Each team member must upload for herself or himself, so your activity is noted in the Git commit history. The plain-text format is the easiest way to accomplish this and note that Gitlab allows for plain-text editing in the web user interface.
Please inform the instructor in advance if you need to miss the class meeting; up to two absences are automatically excused, but any unexcused absences beyond the first two will result in a grade penalty.
Team Self-Assessment
For teams comprised of two or more students, each individual
must complete and submit a Team Self-Assessment Form,
detailing his or her perception of the contributions of each team
member. This assessment is due to the instructor
around finals each semester. This assessment exists to make the
instructor aware of your group's team dynamic, as well as to
understand any problems that may have arisen during the
semester (though you are always welcome to come to the
instructor prior to the team self-assessment). This assessment
is strictly confidential and will only be shared with
the instructor, your supervisor, or, in circumstances warranting
it, with the computer science department chair(s).
All teams will be required to use the department Git repositories for all project artifacts (e.g., all deliverables, source codes, presentation materials). Both the instructor and supervisor will be granted access to the repository from the beginning of the project. An analysis of contributions to the repository may be used as additional evidence of individuals' participation.
CSCI 5960 is considered a graduate level course, and is three credit hours where both 4961 and 4962 are two credit hours. As such, the expecations for your effort in this course are commensurately higher. Partly this is accounted for in that you have one semester to go from project inception to completion while undergraduate students have two. However, it is also reasonable to expect graduate students to participate at a higher level and in different ways than undergraduate students, such as serving as a project leader to a group of undergraduate students, or tackling more difficult and complex aspects of projects than your undergraduate peers.
The exact nature of your graduate experience in this course will vary from project to project and even person to person. The CS department faculty have final oversight over what constitutes an acceptable experience to count for graduate credit.
Each semester of the capstone project is graded based upon the performance during that semester. The evaluation of students' artifacts and presentations will be made by a combination of the Instructor and project Supervisor. The overall grade will be weighted as follows:
Letter grades will then be assigned based on the following formula.
Successful students attend all or mostly all class sessions. This is true in my experience and has been demonstrated in large scale studies as well. In that study, even students who attended nine out of ten class periods had measurably lower class performance than those who attended all classes. As stated above, having more than two unexcused absences will result in a penalty to your class participation grade. You do not need to get permission when you do miss class and you are free to use your two automatically excused absences however you wish: you are an adult and have the freedom to manage your time in whatever way you feel is most useful. Job interviews, conferences, tests in other courses, etc. are all reasonable cases for being absent.
Note that in-class assignments such as tests or quizes cannot be made up outside of class without prior approval from the instructor. All such activities will be listed course schedule with ample time to prepare (i.e. there are no "pop quizes").
If you do miss class you should refer to the course schedule to see what was missed and arrange to get course notes from another student. I am always happy to answer questions but I do not repeat full class periods in office hours.
Required University Attendance Statement for Spring 2021
The health and well-being of SLU’s students, staff, and faculty are critical concerns. Accordingly, the following University policy statements on in-person class attendance are designed to preserve and advance the collective health and well-being of our institutional constituencies.Notification of absences: You do not need to notify the instructor that you are missing a regular synchronous class meeting. Notify the instructor as early as possible if you have a conflict with presentation times.
Student Absences: It is the responsibility of the student to accommodate their absence. Make arrangements in advance with another student to get a report of synchronous class activities and their notes for the day. Our synchronous meetings will be recorded via Zoom, but do not rely on such recordings: they do not record group breakout sessions, the recording may fail, etc.
Lecture content for this course is recorded and may be viewed at a later time.
What happens if a student becomes ill: As this is an online course, students who are mildly ill should continue to attend class and work on your project when you are able. Students with serious illnesses are excused from attending class and from working on your project. Please email the professor if you are unable to work on your project due to illness, and note this in your weekly update.
As capstone is a group project with immediate and long-term deadlines, due dates will generally not be moved due to the illness of a student. Instead, faculty will take such circumstances into account when evaluating the volume and quality of work submitted at each deliverable. However, the default assumption will be that a two-week illness of a single group member should not majorly impact the group's overall progress.
For example, there are fourteen full weeks in a regular semester. A three person group thus has 42 person-weeks of effort available to them. If all three students in the group become severely ill to the point where they individually cannot work for two weeks each, this represents a loss of six person-weeks out of 42, or only one-seventh (14%) of the total effort available to the group. It would be reasonable for a group that becomes severely ill to only implement six features instead of seven for the semester. It would not be reasonable to significantly reduce the entire group's output, such as making no effort on a deliverable entirely.
What happens if the course instructor becomes ill: As this is an entirely online course the class will proceed as normal if the instructor is well enough to meet. Otherwise a replacement faculty from the computer science department will take over synchronous meeting times.
Depending on the timing of the illness some modification to the course schedule and assignment deadlines may be required. If any modification takes place it will always be announced and made in favor of the student- e.g. deadlines may be extended, but never shortened. However, the capstone course is essentially a group endeavor by all the faculty in the department- it is unlikely (under the current circumstances) that enough faculty would be sick to warrant moving our deliverable and presentation deadlines.
The University’s Interim Policy on Face Masks governs all students, faculty, staff, and campus visitors in all University-owned, leased, or operated facilities. All persons physically present in any such University facility associated with this course shall comply fully with this policy at all times. Masks must be worn before entry to all such University facilities (as well as outdoors on all University property when six feet of distance is unpredictable or cannot be maintained).
Saint Louis University is committed to maintaining an inclusive and accessible environment. Individuals who are unable to wear a face mask due to medical reasons should contact the Office of Disability Services or Human Resources to initiate the accommodation process identified in the University’s ADA Policy. Inquires or concerns may also be directed to the Office of Institutional Equity and Diversity. Notification to instructors of SLU-approved ADA accommodations should be made in writing prior to the first class session in any term (or as soon thereafter as possible).
As the instructor of this course, I shall comply fully with SLU’s policy and all related ADA regulations.
Students who attempt to enter a classroom without wearing masks will be asked by the instructor to wear masks prior to entry. Students who remove their masks at any time during a class session will be asked by the instructor to resume wearing their masks.
Note: Accordingly, no consumption of any food will be allowed in class.
Students who do not comply with a request by a SLU instructor to wear a mask in accordance with the University’s Interim Policy on Face Masks may be subject to disciplinary actions per the rules, regulations, and policies of Saint Louis University, including but not limited to the Student Handbook. Non-compliance with this policy may result in disciplinary action, up to and including any of the following:
To immediately protect the health and well-being of all students, instructors, and staff, instructors reserve the right to cancel or terminate any class session at which any student fails to comply with faculty or staff request to wear a mask in accordance with University policy.
Students are strongly encouraged to identify to their instructor any student or instructor not in compliance. Non-compliance may be anonymously reported via the SLU Integrity Hotline at 1-877-525-5669 (or confidentially via the Integrity Hotline's website at http://www.lighthouse-services.com/slu.
Academic integrity is honest, truthful and responsible conduct in all academic endeavors. The mission of Saint Louis University is "the pursuit of truth for the greater glory of God and for the service of humanity." Accordingly, all acts of falsehood demean and compromise the corporate endeavors of teaching, research, health care, and community service via which SLU embodies its mission. The University strives to prepare students for lives of personal and professional integrity, and therefore regards all breaches of academic integrity as matters of serious concern.
The governing University-level Academic Integrity Policy was adopted in Spring 2015, and can be accessed on the Provost's Office website at: https://www.slu.edu/provost/policies/academic-and-course/policy_academic-integrity_6-26-2015.pdf.
Additionally, each SLU College, School, and Center has adopted its own academic integrity policies, available on their respective websites. All SLU students are expected to know and abide by these policies, which detail definitions of violations, processes for reporting violations, sanctions, and appeals. Please direct questions about any facet of academic integrity to your faculty, the chair of the department of your academic program, or the Dean/Director of the College, School or Center in which your program is housed. Specific College of Arts and Sciences Academic Honesty Policies and Procedures may be found here.
Saint Louis University and its faculty are committed to supporting our students and seeking an environment that is free of bias, discrimination, and harassment. If you have encountered any form of sexual harassment, including sexual assault, stalking, domestic or dating violence, we encourage you to report this to the University. If you speak with a faculty member about an incident that involves a Title IX matter, that faculty member must notify SLU’s Title IX Coordinator and share the basic facts of your experience. This is true even if you ask the faculty member not to disclose the incident. The Title IX Coordinator will then be available to assist you in understanding all of your options and in connecting you with all possible resources on and off campus.
Anna Kratky is the Title IX Coordinator at Saint Louis University (DuBourg Hall, room 36; anna.kratky@slu.edu; 314-977-3886). If you wish to speak with a confidential source, you may contact the counselors at the University Counseling Center at 314-977-TALK or make an anonymous report through SLU’s Integrity Hotline by calling 1-877-525-5669 or online at http://www.lighthouse-services.com/slu. To view SLU’s policies, and for resources, please visit the following web addresses: https://www.slu.edu/about/safety/sexual-assault-resources/index.php and https://www.slu.edu/general-counsel.
IMPORTANT UPDATE: SLU’s Title IX Policy (formerly called the Sexual Misconduct Policy) has been significantly revised to adhere to a new federal law governing Title IX that was released on May 6, 2020. Please take a moment to review the new policy and information on the following web address: https://www.slu.edu/about/safety/sexual-assault-resources/index.php. Please contact the Anna Kratky, the Title IX Coordinator, with any questions or concerns.
In recognition that people learn in a variety of ways and that learning is influenced by multiple factors (e.g., prior experience, study skills, learning disability), resources to support student success are available on campus. The Student Success Center, a one-stop shop, which assists students with academic and career related services, is located in the Busch Student Center (Suite 331). Students can visit https://www.slu.edu/life-at-slu/student-success-center/ to learn more about tutoring services, university writing services, disability services, and academic coaching.
Students with a documented disability who wish to request academic accommodations must contact Disability Services to discuss accommodation requests and eligibility requirements. Once successfully registered, the student also must notify the course instructor that they wish to access accommodations in the course.
Please contact Disability Services, located within the Student Success Center, at Disability_services@slu.edu or 314-977-3484 to schedule an appointment. Confidentiality will be observed in all inquiries. Once approved, information about academic accommodations will be shared with course instructors via email from Disability Services and viewed within Banner via the instructor’s course roster.
Note: Students who do not have a documented disability but who think they may have one are encouraged to contact Disability Services.
Students are encouraged to take advantage of University Writing Services in the Student Success Center; getting feedback benefits writers at all skill levels. Trained writing consultants can help with writing projects, multimedia projects, and oral presentations. University Writing Services offers one-on-one consultations that address everything from brainstorming and developing ideas to crafting strong sentences and documenting sources. For more information, visit https://www.slu.edu/life-at-slu/student-success-center/ or call the Student Success Center at 314-977-3484.
Students in personal or academic distress and/or who may be specifically experiencing challenges such as securing food or difficulty navigating campus resources, and who believe this may affect their performance in the course, are encouraged to contact the Dean of Students Office (deanofstudents@slu.edu or 314-977-9378) for support. Furthermore, please notify the instructor if you are comfortable in doing so, as this will enable them to assist you with finding the resources you may need.