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 (Due 4/28/25 BEFORE CLASS)

  • A strong graphical user interface component
  • Design, interaction, and usability of the interface demonstrates an understanding 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 (See the GUI Bloopers Book)
  • 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 the basics of how to use the application (with screenshots, gifs, etc.)

Report Requirements (Due 5/6/2025 @ 11:59 PM)

There will be a two page “post-mortem” report written individually from each team member about the project. The report will be written using the provided Word template and broken into two perspectives.

Developer Perspective

As a member of the development team, discuss the application that you created for your customer(s). Discuss:

  • How did you work as a team?
    • Method(s) of collaboration
    • 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?
    • Include how you related the course content to your application design
  • 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

Customer Perspective

As a customer, discuss the application that was created for you by the development team. Discuss:

  • 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

Collaboration Requirements

You MUST usee GitHub and GitHub issues. Issues and Git commits are a measure of contribution and engagement on the projects. While I will not count your commits, I will review 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
  • You will use the issues system to assign work to team members not just to keep things organized, but to demonstrate where effort was distributed
  • 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.

These requirements are not to make things harder, but instead to make the project easier. Using Git and GitHub’s supporting features will help keep you and your team organized and productive, while encouraging participation on the project. This workflow shares similarities with industry practice to help with job preparation. 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 15 minute presentation (NO MORE, NO LESS) of their project to the class with a few minutes for questions and answers. All team members are expected to be present and participate during the presentation. Do not create a powerpoint, your application will be what you present!

The final presentation should cover:

  • What is it? Who is it for? What problem does it solve?
  • What did you use to develop that application?
  • Demonstration of the application and its features
    • Explain design choices
      • Do not describe your project like a sales pitch
      • Easy, convenient, simple, efficient, etc. is not sufficient. Instead relate design choices to the principles covered in the course that make it that way.
  • Answer any audience questions (if time permits)

Presentation Schedule

Presentation DaySection 01Section 02
04/28/25Pixel Warriors / Error 404 / HeyStudentsHorchata LLC / Jupeno
04/30/25Prestige view / Brass Monkey / Interface EngineersThe Gooses
05/05/25Ben & Wyatt UID Co / DROP TABLE 105 

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
  • Any other milestones previously stored in your repository

Individual reports will all be submitted via Moodle in MS Word format using the provided template.

Grading 100

Project/Presentation: 75 (Due 4/28/25 BEFORE CLASS)

  • 30 Points - Project demonstrates a strong understanding of course content via implementation/presentation
  • 25 Points - Presentation is 15 minutes and relates design decisions to course concepts
  • 10 Points - Project demonstrates an appropriate level of polish/refinement
  • 5 Points - Documentation Quality
  • 5 Points - Unique Logo/Branding

Individual Reports: 25 (Due 5/6/2025 @ 11:59 PM)

  • 20 Points - Developer Perspective
    • Clear description of contribution(s)
    • Thoughtful reflection on team work and the outcome of the final project
    • At least two pages AND written in using the provided template
    • Addresses the prompts described in the description above.
  • 5 Points - Customer Perspective
    • Respectful critiques and insights into the implementation of your proposed project.
    • Addresses the prompts described in the description above.