CS375: Software Engineering - Code and Presentation (100 Points)

Assignment Goals

The goals of this assignment are:
  1. To prepare and present a medium-sized software project from a technical and user perspective

The Assignment

Submit your final presentation and codebase. Each member of your group should have a speaking role in the presentation, which should last approximately 20 minutes (15 minutes speaking and demonstration, with 5 minutes of questions and answers). You should rehearse your presentation as a group at least once before presenting! Dress appropriately for the presentation, if you are able.

Your presentation should summarize your proposal, stakeholders, requirements, design, and test plan, and should also include a review of the codebase and a demo of the software.

Website

Include your presentation and a link to your project github codebase on the project website. Record a short demo of the major features of the software to a video, and upload the video to your website. You can use Screencast-o-Matic (https://screencast-o-matic.com/) for this purpose, and can upload your work to youtube (or upload and link to the file on your webiste directly).

Submission

In your submission, please include answers to any questions asked on the assignment page in your README file. If you wrote code as part of this assignment, please describe your design, approach, and implementation in your README file as well. Finally, include answers to the following questions:
  • Describe what you did, how you did it, what challenges you encountered, and how you solved them.
  • Please answer any questions found throughout the narrative of this assignment.
  • If collaboration with a buddy was permitted, did you work with a buddy on this assignment? If so, who? If not, do you certify that this submission represents your own original work?
  • Please identify any and all portions of your submission that were not originally written by you (for example, code originally written by your buddy, or anything taken or adapted from a non-classroom resource). It is always OK to use your textbook and instructor notes; however, you are certifying that any portions not designated as coming from an outside person or source are your own original work.
  • Approximately how many hours it took you to finish this assignment (I will not judge you for this at all...I am simply using it to gauge if the assignments are too easy or hard)?
  • Your overall impression of the assignment. Did you love it, hate it, or were you neutral? One word answers are fine, but if you have any suggestions for the future let me know.
  • Using the grading specifications on this page, discuss briefly the grade you would give yourself and why. Discuss each item in the grading specification.
  • Any other concerns that you have. For instance, if you have a bug that you were unable to solve but you made progress, write that here. The more you articulate the problem the more partial credit you will receive (it is fine to leave this blank).

Contract Grading

To Receive an A

  • Each item required for a grade of B is included
  • The proposed group consisted of the specified number of group members
  • The project website includes links to the software repository and all relevant documents from the course
  • A software demo was included with the project
  • The presentation included a review of the codebase
  • The project website includes a video of a usage demonstration

To Receive a B

  • Each item required for a grade of C is included
  • The presentation includes a summary of the proposal, stakeholders, requirements, design, and test plan
  • The project submitted was substantially consistent with the project proposed to and approved by the Professor

To Receive a C

  • Each item required for a grade of D is included
  • Each member of the group has a speaking role during the presentation

To Receive a D

  • Each member of the group makes meaningful contributions to the implementation of the project, demonstrated through version control commits or comments in the code

Please refer to the Style Guide for code quality examples and guidelines.