CS 97 Senior Capstone (fall semester)

Syllabus, Fall 2021, 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. Do not register for CS 97 in the fall if you are not committed to taking CS 98 in the spring.

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.

Learning Outcomes

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.

Prerequisites

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.)

Course Materials

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 fall 2021. (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.

  • Mondays & Wednesdays, 1:30 – 2:45 PM
  • Tisch Library 304

The first class will be Wednesday, Sept. 8, 2021. The last day of class will be Tuesday, Dec. 14, 2021.

However, for the 2021-2022 academic year, capstone will support “remote” students. For fall 2021, in-person “asynchronous” students will also be supported (due to a class conflict). You must notify the instructor if you will be taking capstone either remotely or in-person asynchronously.

I will attempt to record myself during class for remote and asynchronous students (although synchronous in-person students will also get access to them). I will do my best to keep the focus on myself, unless you willingly speak or walk in front of the camera, but it is possible that incidental capture (especially in the background) may occur. These recordings are just for students in the class, so to keep everyone’s privacy in mind, you must not share them with or show them to anyone who is not taking the class.

Instructor

Dave Lillethun is the instructor. There is no TA. Office hours and contact information will be posted in Canvas.

Deliverables

Project Documentation

You will need to submit five (5) 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:

  1. Project Proposal
  2. Technical Requirements (or User Stories)
  3. System Engineering Description
  4. Project Plan
  5. Design Specification

These 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.

Presentations

You will deliver three (3) short presentations, and a longer final presentation at the end of the semester. The presentations are:

  1. Project Proposal
  2. System Engineering Description
  3. Proof-of-Concept
  4. Final Presentation

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, most of them are based on content that you will have already submitted as documents, and you are also welcome to ask me for feedback on your slides before the presentation.

Other Deliverables

There are a number of other deliverables that you will need to submit during the semester. They are:

  1. Project Sign-up
  2. Preliminary Mission Statement
  3. Preliminary Task List
  4. Preliminary Risk Assessment
  5. Sponsor Review of Project Plan
  6. New Competency Proficiency Demo
  7. Proof-of-Concept

These deliverables will not be graded for quality, but will be Accepted or Not Accepted. If a deliverable is Not Accepted, then you must fix and resubmit it. You may (and should!) do this as many times as needed to be Accepted.

Status Updates

There will be a combined total of 14 status updates during the semester, each of which will be one of three types:

  • Instructor Status Meetings (i.e., meet with me)
  • Sponsor Status Feedback (i.e., after having met with you, the client send me feedback about how you’re doing)
  • Executive Summaries (i.e., written status updates)

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 an 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 situation.

Also note that the project plan deadline may not be able to be extended, especially for interdisciplinary teams.

Course Grades

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.

DCBA
Project Documentation (5)34ALLALL
Presentations (4)222 *3 *
Other Deliverables (7)4 **5 **ALLALL
Status Updates (14)681112

* 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.)

Course Policies

Students in this class are responsible for reading, understanding, and following all of the course policies listed here. For fall 2021, 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.

Changes

his 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.)

Change Log

v1.0: Initial version.

Dave Lillethun, Ph.D.

Dave Lillethun, Ph.D.

Dave Lillethun teaches classes about programming (CS1), computing systems, databases, and the CS senior capstone at Tufts University.

View Full Profile →

Contact Info
You may find my contact information on my faculty profile page.