Final Project
All that we ask is that you build something of interest to you, that you solve an actual problem, that you impact education, or that you change the world. Strive to create something that outlives this course. — from Harvard's CS50 Final Project (modified to reference education)
Your task is to create an app (web, mobile, or desktop) focused on helping people learn things better; it can be an original idea, an innovative solution to a problem, a improved version of an existing resource, or an existing app modified towards an educational issue. Your working prototype may be supported by non-running wireframes that clearly describe how additional features may work that you do not have the expertise, computing resources, or data to develop. The exact language and user experience of your app is up to you. If you are unsure of your idea, feel free to discuss it with me first.
You may work by yourself or in a group. Group projects will have greater expectations since more people will be working collaboratively.
You must conduct stakeholder/empathy interviews and integrate stakeholder input into your final project to better inform the value and outcomes of your app.
You are expected to make progress on your project each week, including demoing your progress each week during class.
In addition to a working prototype, you will submit:
- any data, research studies, or other materials that informed your work
- actual stakeholder feedback and discussion of your responses
- written justification of your design choices
- final presentation video and materials
Your final grade will be determined subjectively based on how consistently you work on the project, how well you justify is value to improve an aspect of education, and how useful it is viewed by your identified stakeholders.
To succeed, it is vital to build your program incrementally in small, manageable steps that keep things simple and focus on a Minimum Viable Product (MVP).
Resources
Deliverables
Project proposal
Include the following to describe your Final Project idea:
- Idea or Problem. Describe the goals for you want to build or the problem you want to try to solve
- Target Users. Develop at least three personas to represent potential users and justify how your personas inclusively capture important traits of your target users (this worksheet may be helpful)
- Value. Describe how your project will help people learn something better:
- the pain points in the current processes used
- what will be improved or changed by this project
- what makes it useful and different from what already exists
- Impacts. Describe your project's possible impacts, referring to your personas for justification and including:
- positive and negative impacts
- inclusive and exclusionary impacts
- Data Needs. Justify the user data you think your project will require (because user data is regularly stolen, sold, or used inappropriately, companies have started championing Lean Data practices to minimize their data needs)
- Scope. List the features your project will need to implement to be successful, categorized into
- simple: required features to minimally convey your project's core novelty
- lovable: expected features to give your project common conventional value, make it user friendly, or provide more robust functionality
- complete: stretch goals that you might be able to implement for a truly successful project
- Team. Do you want to work individually or with a team? Do you have teammates in mind already?
Final Demo
Present the final version of your project in the context of what you have learned this semester. Everyone should discuss part of the project.
- Demo the project from the perspective of three different Target Users and what makes your solution different than their "typical" educational experience
- Describe the project's Value, Impacts, and Data Needs
- Describe how learning theories (Cognitivism, Connectivism, Constructivism) helped guide your project choices (such as contrasting with alternative UX, features, or implementations you considered)
- What you would most like to add next (if you had another week or month to work on the project)
Documentation: Within your project, create a README file that
- Lists your names
- Describes your project's goals and distinctive features
- Lists any other software it depends (including how to access them)
- Instructions needed to set up, run, or use your app (like user passwords you have set up, command line utilities, or external programs that need to be run)
- Attributions for any resource files (images, sounds, etc.) in the program
Resources: Here are some slides to help you choose how to present your project.