Course Syllabus

CS 4000: Senior Capstone Design

2021 Spring

TABLE OF CONTENTS:

  1. The Basics
  2. About CS4000
  3. Grading
  4. Schedule Outline
  5. University Policies

The Basics

  • Instructor: Scott Brown
  • Meeting Times and Locations: TuTh / 10:45AM-12:05PM
    Lectures will be held via Zoom: 98906703762
  • Code of Conduct: Students are expected to be kind to each other, and in this class to generally follow The Platinum Rule: "do unto others, wherever possible, as they would be done by". Students are further expected to abide by the University Code of Conduct.
  • How To CS4000:
    • Use The Canvas Course to keep on track.
    • Come to lecture.
    • Really get into your project. This class is fundamentally designed for you and your team to create something that is meaningful to you . You will excel in this class if you are a working on a project for its own sake, and not just going through the motions "for a grade".
    • Value your team, and bring value to your team. This is largely a "group work" class. It is extremely important for you to find a team that you can really be a part of. If you find that you do all of the work on your team, or that you are not a strong contributor to your team, you're going to have a bad time.
  • Communications:

About CS4000

  • Credit Hours: 3
  • Materials: A computer, an internet connection, a microphone, a webcam. If you are uncomfortable doing so, you don't have to share your video during lecture. However, since you will be expected to present your projects, you will be expected to appear on video at some point during the semester, unless you have very good reasons not to do so (and these should be brought to the attention of the professor ASAP).
  • (Pre)(Co)(Post)requisites:
    1. Take CS 4500 in Fall 2021
    2. Expect to graduate in Fall 2021
    3. Have completed upper-division writing course (or be in progress, with approval)
    4. Have completed CS 3505 Software Practice II
    5. Have four or fewer remaining CS Elective, Theory, or Required courses
  • The Purpose of the Capstone Project is for seniors in the School of Computing to start to make the transition from student to professional. This is achieved by working collaboratively in a team environment over 2 semesters (~5 months) to produce a polished software product in a process that will both require you both to draw on your cumulative existing skills and to pick up new ones. You can think of this project as forming the “capstone” of your portfolio when applying for a job: you can show off what you did and will be able to have detailed conversations about your development experience in a way that is more personalized than describing past course programming assignments. At the end of this process we want you to have produced a software project that demonstrates your talents and ingenuity and will impress your favorite professor or your future employer. When we push you, we are pushing you to realize this goal!
  • Description: CS 4000 focuses on all of the pre-development steps necessary for developing the final project. These steps include: team formation and project ideation, “pitch” presentations and peer critique, feature planning and design work, building a prototype system, etc. Throughout the capstone experience there is a focus on the skills you will need to succeed in your job. That includes both technical development skills and the (often under-practiced) “soft skills” that are necessary to a collegial and productive workplace (e.g., teamwork, oral and written communication skills).
  • Learning Objectives: At the end of CS 4000, students will be able to more effectively:
    1. Conduct oral presentations, describing projects in various states of completion as well as formally demonstrate a project prototype.
    2. Form new teams; work with multiple teammates to accomplish large scale goals; integrate code with that of other developers.
    3. Design, research, plan, document, and deliver new prototype software projects over multiple months.
    4. Use modern SE design tools, methodologies, and processes, e.g., Agile, sprints, and task-management.
    5. Evaluate and provide constructive feedback to peers on their software, presentations, and documentation.
    6. Apply past learning as well as independently develop new skills in the process of creating the software project.

Grading

  • Problems: If you are having trouble completing the course assignments, etc, for any reason : Please message the professor ASAP! We are much more likely to be able to work something out if you let us know what's going on early.
  • Evaluation:
    • 24% Presentations (8% each)
    • 20% Design Document
    • 26% Prototype
      • 6% first half of prototype development
      • 20% second half of prototype development
    • 10% Supporting Documents/Extra Development Steps
    • 10% Effective Class Participation (e.g. peer grading assignments, use of Task Management System, progress reports)
    • 10% Effective Teamwork (see "Teamwork" item below).
  • Effort: The quality of some of the elements above (e.g. the presentations) will hinge on things like your personal charisma. As such, a portion of the grade in these categories will be effort-based. This will be judged in both quantity and direction of effort (e.g. don't spend 8 hours tweaking the color of that one tiny thing in the corner... 7.9 hours of that effort doesn't count). This way, even if you have a stutter or some other quality that makes presenting difficult, if it is clear that you put a lot of hard work into your presentation and that said effort clearly had a solid positive effect on the quality of the presentation, then you should receive a good grade. On the other hand, if you have boatloads of natural charisma and can whip up a convincing presentation with no preparation whatsoever, this is not sufficient to receive a good grade . This class is not a contest, and in addition to acheiving a minimum quality of product to pass the class, we expect you to acheive your personal best in this class, and won't settle for anything less.
  • Teamwork: The course staff will check in with teams throughout prototype development to see how everything is going. We will also be very inquisitive along the way as to "who did what?". We will then evaluate each team member based on the quality of their individual contribution. Note that you will receive the full 10% for contributing as an equal member of your team . So, there is no reason to "one up" your teammates. You should consider this a challenge to bring less productive teammates up to your level, so that you can make the highest grade possible on the other components of the grade (Prototype, etc). You are expected to bring value within your team. As such, we strongly recommended that individuals join teams in which team members have comparable levels of skill, motivation, and available time. When attempting to estimate your Team Partcipation grade, throughout the semester, ask yourself:
    • did I communicate with my team effectively and make the meetings?
    • did the team and I set an equal portion of the goals for me, and did I hit my deadlines?
    • am I clearly and demonstrably contributing to the project as an equal member of the team?
  • Misconduct Policy: Be honest about your contributions. You are allowed to use any materials that won't get you into legal trouble (copyright, etc). However, you are expected to be brutally honest about your personal contribution. If you wrote code, say so, and if you copy pasta'd code, that's cool, just don't say that you wrote it... That's plagiarism. Within reason, you are expected to be aware of what your team is doing. Don't let a teammember claim work that isn't theirs if you know better. You're not responsible for your teammembers' misconduct per se, but aiding, abetting, being complicit, or covering up for their misconduct will bring you down with them.
  • Letter Grade Discretization:
    A- B+ B- C+ C- D+ D-
    100 - 93 93 - 90 90 - 86 86 - 83 83 - 80 80 - 76 76 - 73 73 - 70 70 - 66 66 - 63 63 - 60 60 - 0

Tentative Schedule (by week)

  1. Introduction and Resume Creation
  2. Selling Yourself and Meeting your Potential Teammates
  3. Peer Interviews and Individual Ideation
  4. Team Formation
  5. Team Idea Creation
  6. Project “Research” and Discovery
  7. Team Presentations and Design Document Creation
  8. UI Sketches and Use Case Development
  9. Requirements Analysis
  10. Storyboard Walkthrough Presentation
  11. “First” “Complete” Design Document Due
  12. Prototype Stage 1 – Asset Accumulation
  13. Prototype Stage 2 – Required Infrastructure Development
  14. Prototype Stage 3 – Complete Path
  15. Final Presentation of Prototype Demonstration Day

University Policies

  • The Americans with Disabilities Act. The University of Utah seeks to provide equal access to its programs, services, and activities for people with disabilities. If you will need accommodations in this class, reasonable prior notice needs to be given to the Center for Disability Services, 162 Olpin Union Building, (801) 581-5020. CDS will work with you and the instructor to make arrangements for accommodations. All written information in this course can be made available in an alternative format with prior notification to the Center for Disability Services.
  • University Safety Statement. ​ The University of Utah values the safety of all campus community members. To report suspicious activity or to request a courtesy escort, call campus police at 801-585-COPS (801-585-2677). You will receive important emergency alerts and safety messages regarding campus safety via text message. For more information regarding safety and to view available training resources, including helpful videos, visit safeu.utah.edu.
  • Addressing Sexual Misconduct. Title IX makes it clear that violence and harassment based on sex and gender (which Includes sexual orientation and gender identity/expression) is a civil rights offense subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, color, religion, age, status as a person with a disability, veteran’s status or genetic information. If you or someone you know has been harassed or assaulted, you are encouraged to report it to the Title IX Coordinator in the Office of Equal Opportunity and Affirmative Action, 135 Park Building, 801-581-8365, or the Office of the Dean of Students, 270 Union Building, 801-581-7066. For support and confidential consultation, contact the Center for Student Wellness, 426 SSB, 801-581-7776. To report to the police, contact the Department of Public Safety, 801-585-2677(COPS).
  • Undocumented Student Support Statement. ​Immigration is a complex phenomenon with broad impact—those who are directly affected by it, as well as those who are indirectly affected by their relationships with family members, friends, and loved ones. If your immigration status presents obstacles to engaging in specific activities or fulfilling specific course criteria, confidential arrangements may be requested from the Dream Center. Arrangements with the Dream Center will not jeopardize your student status, your financial aid, or any other part of your residence. The Dream Center offers a wide range of resources to support undocumented students (with and without DACA) as well as students from mixed-status families. To learn more, please contact the Dream Center at 801.213.3697 or visit dream.utah.edu.