Syllabus, Spring 2022, v1.0
In the capstone, you will work in a team for a full year (fall and spring semesters) on an open-ended software project for a real client. Due to the nature of the project, you must take both semesters of capstone. If you took CS 97 in the fall then you must CS 98 in the spring (barring exceptional circumstances).
Who is this class for?
Senior capstone is required for B.S. Computer Science students in the School of Engineering (SoE). Although it is not required for students taking their major in the School of Arts & Sciences (A&S), A&S seniors are also welcome to take capstone as an elective.
In the capstone, you will work on a team to design and develop a real-world project with a sponsor (i.e., client/customer) who will drive the technical requirements for the project and determine whether the design satisfactorily meets the requirements. As such, this experience will be incredibly valuable for anyone anticipating a career in software development, including not only coders, but also roles like program managers, product owners, tech leads, “Scrum masters”, and perhaps even jobs in DevOps, Continuous Integration / Continuous Deployment (CI/CD), and so on.
Upon completion of the year-long capstone, students will be able to:
- Work effectively on a team to design and develop software.
- Understand a business need, opportunity, and/or problem to solve and generate the technical requirements for a software solution.
- Create technical (architectural) and user interaction designs for such a software solution.
- Create a project plan, including goals, milestones, assumptions / dependencies / risks, process & tooling, and testing procedures.
- Communicate all of the above points through both written documentation and presentations.
- Independently learn new things that you need to know in order to complete a project.
- Follow a software development process and the project plan to create, verify, and deliver a software product.
- Work with real clients, including effective communication and professionalism.
- Work as a professional in the software field.
CS 97 (first semester of Senior Capstone), which in turn has prerequisites of CS 40 and Senior standing.
(If you have a legitimate reason not to take capstone as a Senior and would like to take it as a Junior, please contact the instructor.)
This course has no textbook. You will do the work of figuring out what you need to learn in order to complete your project, finding the material to learn from, and then learning from them. Other material may be whatever is needed to complete your project. (But check with the instructor before spending non-trivial amounts of money out of your own pocket! We’ll see what we can do to avoid that.)
Class Times & Location
This class will be held in-person for spring 2022. (Keep an eye on your email for announcements form the university or AS&E schools about COVID-19 precautions, and for announcements from the course instructor.)
We will have few lectures in the traditional sense, but class time will be used to discuss what you need to do, how to do it, expectations for deliverables, etc. Some class time may also be used for presentations or team meetings with the instructor. For this reason, there may be some days where we will not meet, and others where we may not used the full class period. However, you are expected to keep the assigned class time available until the instructor announces that we will not be meeting.
- Tuesdays & Thursdays, 1:30 – 2:45 PM
- Cummings 180
The first class will be Thursday, Jan. 20, 2022. The last day of class will be Thursday, April 28, 2022.
However, for the 2021-2022 academic year, capstone will support “remote” students. You must notify the instructor if you will be taking capstone either remotely or in-person asynchronously.
Dave Lillethun is the instructor. There is no TA. Office hours and contact information will be posted in Canvas.
You will need to submit eight (8) documents that describe various aspects of your project. These documents should be written for an audience that is technically competent but entirely unfamiliar with the particulars of your project (other than having read the earlier documents that you submitted). The required length is, “as long as it needs to be”. The rest of what each document should include, and standards for successful documentation will be communicated in class. The documents are:
- Updates to your Project Requirements
- Updates to your Project Plan
- Acceptance Test Plan
- Acceptance Test Results
- Project Poster
- Final Report
- Project Video (this counts as a “document” for lack of a more appropriate category for it)
- Legacy Letter
In addition, all the documents produced in the fall semester should be considered “living documents”. As you work on the project and understand what you need to do better, it may be appropriate to go back and update the information in earlier documents, and you should do that. Documents will be graded on a scale of Exceeds Expectations / Meets Expectations / Needs Minor Improvements / or Needs Major Improvements. If your document does not Meet Expectations, then you must revise and resubmit it. You may (and should!) do this as many times as needed to Meet Expectations.
You will deliver two (2) short project update presentations, and a longer final presentation at the end of the project (making three (3) total presentations).
Presentations will be graded on a scale of Exceeds Expectations / Meets Expectations / Needs Minor Improvements / or Needs Major Improvements. Unfortunately, the nature of presentations does not allow for “revise & resubmit”. However, you are welcome to ask me for feedback on your slides before the presentation.
After each sprint in the spring semester (except the last one), you will submit a brief executive summary to provide a status update on your project. This makes five (5) exec summaries due in total. Specific prompts for what to address in your exec summaries will be communicated in class.
There will be a combined total of 8 status updates during the semester, each of which will be one of three types:
- Instructor Status Meetings (i.e., meet with me) [x4]
- Sponsor Status Feedback (i.e., after having met with you, the client send me feedback about how you’re doing) [x3, not counting the final one in the next bullet point]
- Sponsor Final Assessment [x1]
These deliverables will be graded on completing the status update, not on how well the project is actually going. Therefore, they will be either Accepted or Not Accepted. You may fix and resubmit status updates that are Not Accepted, but only if you do so promptly (i.e., before the next status update is due).
Late Work Policy
There are no late penalties or “late passes” in this class. If you will not have work completed by the deadline, then email Dave (contact information is in Canvas) before the deadline and tell him when you have the work completed. You don’t need to provide any excuses, just the new date when you will submit the work. As long as you send that email before the assignment deadline, your late submission will be graded for full credit. (However, if there is an emergency situation that makes it impossible or unreasonable to contact us before the deadline, then just send the email as soon after the deadline as is reasonable.)
Note that presentations are scheduled to occur at specific times, and therefore the deadline cannot be extended. If a team member will miss it due to a legitimate excused absence (such as illness), the other team members must cover their part and carry on with the presentation. If the majority of team members are all going to miss it, then contact Dave as soon as you can, and we’ll discuss the best way to handle the situation.
Also note that the deadline to complete the MVP cannot be extended beyond the end of the semester. Be sure you have met the MVP before final exams start.
The point of this course is to have a successful project, and your goal should always be to Meet Expectations (or higher) on all deliverables, not for your grade but for the sake of having a successful project. This is why resubmissions are allowed for everything (except presentations) – what matters is not getting it right the first time, but getting it right eventually. This is what will help you have a successful project – and I am rooting for you to have a successful project! – so if you’re doing this then your grade shouldn’t be a concern. However, here are the grading details anyway:
Since the deliverables are all provided by a team, your basic letter grade will be determined as a team. The following table shows how many deliverables in each category need to be graded as Meets Expectations (or higher) / Accepted in order to achieve a letter grade for your team.
The way to read this is, using a grade of C as an example, you need to Meet Expectations on at least 4 Project Documents and at least 2 Presentations and have at least 5 Other Deliverables and 8 Status Updated be Accepted. If you do not meet the criteria for a D, then you will get an F. Also, doing better in some categories does not make up for under-performing in other categories. For example, if you Meet Expectations on only 3 Project Documents and 2 Presentations, but have all the Other Deliverables and Status Updates Accepted, then you get a D.
|Satisfies MVP||The MVP is not complete, but at least half of the necessary work has been done||Most aspects of the MVP are complete, but at least one significant aspect is clearly not complete/satisfied||Very nearly but not quite meets the MVP, or may meet it but it’s unclear or there may be reasonable doubts||Fully meets the MVP, clearly and without doubt|
|Project Documentation (8)||5||6, but acceptance test plan & results, project poster, and final report must be reasonably attempted||ALL||ALL|
|Presentations (3)||1||2||2, including the final presentation||3|
|Exec Summaries (5)||2||3||ALL||ALL|
|Status Updates (8)||4||5||5, including the sponsor final assessment||6, including all instructor status meetings and the sponsor final assessment|
* To get an A, the final presentation must be one of the ones that is Meeting Expectations (or higher). To get a B, the final presentation must still be Needs Minor Improvements (or higher).
** The Project Sign-up and Sponsor Review of Project Plan must be Accepted in order to pass the course.
In order to pass the course, all Project Documentation must be at least attempted.
Individual Contribution and Teamwork
You may get a plus (+) or minus (-) on your grade, depending on your individual contribution to the project and your teamwork. If you do your share of the work and are a good team member, you will get a + (e.g., A becomes A+). If you are doing okay but ought to do a little better, then you will get neither a plus nor minus (e.g., A stays an A). If you really need to do better than you will get a – (e.g., A becomes A-).
More severe grade penalties may be applied in extreme cases. Putting in significantly less effort than the rest of your team (i.e., slacking) could lead to your grade being reduced by a full letter (e.g., A becomes B). In the most extreme cases, such as if you stop doing any work at all and your team cannot even get a hold of you, this could lead to simply failing (e.g., A becomes F). It is quite unlikely that these severe options will be used, but these options are here just in case they’re needed. I don’t want to use them – please don’t make me! (Note: If you are facing some kind of hardship outside of class that is affecting your ability to contribute, please talk to me! We’ll figure out a plan to avoid these kinds of consequence to your grade.)
Students in this class are responsible for reading, understanding, and following all of the course policies listed here. For spring 2022, there are also additional COVID-19 policies for the course. By continuing to take this course, you indicate your agreement to follow all the policies. If there is any policy that you do not understand, please ask. Ignorance will not be accepted as an excuse for violating any policies.
This syllabus and any policies for this course are subject to change during the semester in response to changing conditions. Such changes are at the sole discretion of the course instructor. If any changes are made, the appropriate documents will be updated and the change will be announced to the entire class in a timely fashion.
This document has a version number at the beginning to help you tell when changes have been made. When there is a new version, the changes that were made will be listed in the following Change Log. (This may help, for example, so you don’t need to re-read the entire document just to find a small change.)
v1.0: Initial version.