Final Project
You have done research, built prototypes, and performed usability testing on your prototypes. It is now time to construct your final project. The final project can be implemented with any programming language/tools you choose, with the stipulation that your project must be able to be built from source by your instructor. Your final project has three main components each with a set of requirements.
Application Requirements
- a strong graphical user interface component
- design, interaction, and usability of the interface demonstrates an understand of course materials/concepts this includes, but not limited to:
- Responding to and preventing errors
- Effective application navigation
- Correct usage of interactive controls
- Appropriate use of color, contract, and gestalt principles
- Avoidance of common GUI bloopers
- a unique logo
- documentation README.md stored in your source repo which contains the project name, project description/purpose/motivation, developer bios, and links to other documentation information regarding:
- how to setup/build/run the application
- if your project cannot be built, it cannot be evaluated
- user documentation detailing how to use the application (with screenshots, gifs, etc.)
Report Requirements
- one to two page report from each team member discussing:
- the roles of all group members
- suppose your team was paid $1000 for the project, how would you distribute the funds to each group member based on their efforts
- in-depth discussion of your personal role/contributions to the project
- what was learned
- successes and difficulties/challenges faced during the project
- what would you do differently if you had to do this project again
- proposed future work/features for the application
- As the customer, discuss the application that was created for you by the development team:
- how closely does it match what you envisioned
- what do you like about it
- what would you do differently
- if you could pay the dev team up to $1000, how much would you offer them based on their work
- Reports will be written in Microsoft Word
- Download Template
- Template Settings:
- Arial, 10 point font
- justified layout
- single spaced
- 0.5” inch margins
- header including your name and group name
Collaboration Requirements
I will be using GitHub issues and Git commits as a measure of contribution on the projects. I will not be counting your commits, but instead reviewing the content you have contributed to the assignment with respect to your fellow team members. This means:
- do not leave one person to do all the coding
- if you will be doing any pair programming you MUST share the work fairly
- use git to make changes to the repository and do not email, IM, or using other external methods of code contribution
- contribution is with respect towards completed features to support your team and ultimately finish the project. Changes to simply make the code look nice, “clean-up”, and comments are viewed as upkeep to keep code managable and readable. In the scope of this project that will not be considered a significant contribution (on it’s own) compared to implementing necessary features and functionality.
- you should use the issues system to assign work to team members not just to keep things organized, but to demonstrate where effort was distributed
These requirements are not to make things harder, but instead to make the project easier by encouraging you to use tools that will ultimately help keep you and your team organized and productive, while encouraging everyone to participate on the project. This workflow also share similarities with industry practice, and will help when you take on a job. Lean into these requirements and you will have a much better time and learn way more on this project.
Final Presentations
Teams will be expected give a 20 minute presentation of their project to the class with an additional 5 minutes for questions and answers. All team members are expected to be present and participate during the presentation. While presentations will take place before the official due date for the final project, it is still expected that the application will be at or very near completion as the other components of the project (such as the reports) will need to be finished.
The final presentation should cover:
- Discussion of the application concept
- What is it for?
- Who is it for?
- What user needs does it meet based on what you learned from your research/need finding?
- Demonstration of the application and its features
- Design discussion
- Explain design choices
- Relate design choices to the principles covered in the course
- What design challenges did you face?
- How did you overcome/work around them?
- Implementation Discussion
- What did you use to implement your application?
- How well did the technologies support the design principles we’ve discussed?
Presentation Schedule
Presenters will be the groups named below, not the project
Presentation Day |
Section 02 |
Section 01 |
11/30/22 |
ArSE / ‘Snot a Problem |
Batfolio / Microgoo |
12/02/22 |
REM / Treetop |
TypingWiz / ScotHub |
12/05/22 |
My Curls / We Tried Okay |
Problem Investigation Solutions and Systems / Potassium |
12/07/22 |
Blue Otter / WooScout |
Bird Wootchers / CDW |
12/09/22 |
Inevitable Solutions / Well-Planned |
Entropy Software / Barter Buddies |
Submission
The following items must be present in the GitHub repository:
README.md
in the root of the project repository (so that it shows up when your visit the project repository)
- A folder called
docs
containing all documentation information referenced by the README.md
(images/screenshots/gif, setup/build instructions, usage instructions, etc.)
- The source code for the application
- All previous milestone assignments
- needfinding
- usability testing(s)
- other milestones TBA
- Powerpoint materials for the final project presentation
Individual reports will all be submitted via Moodle in MS Word format using the provided template.
Grade 75 points (All scores can be adjusted on an individual basis with respsect to contribution)
- 40 project
- 15 presentation
- 20 paper