CompSci 290
Spring 2024
Educational Technology Practicum

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)

We see a lot of solutions without problems — anonymous Venture Capitalist about reviewing Startup proposals

Your task is to create an app (web, mobile, or desktop) focused on helping people to learn something better that includes some way of assessing that learning occurred.

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. Your app's exact programming language and user interface are up to you.

Make what you are planning on doing ambitious to the point of impossible, since you can use Al. Does it involve a website? You should commit to creating a prototype working site, with all-original images and text. I won't penalize you for failing if you are too ambitious. Any plan benefits from feedback, even if it just gives you permission to discuss what might go wrong. Ask the Al to give you 10 ways your project could fail and a vision of success. And, to make it interesting, ask three famous figures to criticize your plan. You can invoke entrepreneurs (Steve Jobs, Tory Burch, Jack Ma, Rhianna), leaders (Elizabeth I, Julius Caesar), artists, philosophers, or any other people you think would be useful to critique your strategy in their voice. Figure out a prompt that gives you good results, give me the results, and tell me what, if anything you learned from it. From an assignment discussed on Ethan Mollick's Blog (a vocal proponent of incorporating AI creatively in education).

To succeed, it is vital to focus on a Minimum Viable Product (MVP): building your app incrementally, in small manageable steps, that keep things simple, and allow you to learn about the impact of your ideas. Letting users interact directly with the unique, interesting, or challenging features of your app early and often (while some changes can still be made) is also a vital part of the iterative process.

You may work by yourself or in a group. Group projects will have greater expectations since more people will be working collaboratively. If you are unsure of your idea, feel free to discuss it with me first.

Your final grade will be determined subjectively based on how consistently you work on the project, how well you justify its value to improve an aspect of education, and how useful it is viewed by your identified stakeholders.


Possible Sources of Ideas
Giving Demos


Fork the assignment repository to make your own personal area to work in and use GIT to push your agent to it. You must push your progress each week and for at least the following deliverables:


Describe your idea in a Markdown file named, that includes at least the following:


Letting potential users interact directly with your app early and often, while changes can still be made, is a vital part of the iterative process and should be welcome. Thus, create Wireframe(s) of your project's key elements that make it distinctive or interesting in a way that can be shared, commented on, and easily updated (using tools such as Wordpress, Squarespace, Wix, FigmaPowerPoint, or ExcaliDraw). For example,

Do not spend time mocking up typical parts of an app, such as logging on, searching a list of topics, generic chat features, etc. For this deliverable, you do not need to implement working software, so try to be as creative as possible!

Include text at the start of each Wireframe that:

Within a Wireframe, include additional descriptions where appropriate to help us better understand the motivations behind your choices and the learning results you want, such as about necessary context and data or expected interactions and transitions.

Test your Wireframe with three people, ensuring they understand its purpose, context, and what kind of feedback would be helpful. Summarize the results in a Markdown file named, that includes the following:

Record two videos, as long as needed, of

You can use Zoom, your phone, or there are many free screen capture tools available or free trials of some pretty powerful tools as well.

Weekly Progress Report

Each week push new app features (implemented or Wireframed) to your GIT repository and a written Markdown progress report, named (where N is either 1, 2, or 3), that includes:

Record a video, as long as needed, describing its progress from the previous week. You can use Zoom or there are many free screen capture tools available or free trials of some pretty powerful tools as well.

You should also endeavor to make what work you do as visible as possible (i.e., follow the Open-Source Coding Community's maxim: “Keep a history: if it isn't public, it didn't happen”).

For example,

Thus, the Updates section summarizes your efforts and the supporting artifacts (links, ZIP files, videos, etc.) provide evidence of that work.

Additionally, you should be prepared to demo your project during any class meeting.

Final Submission

Capture as much of your idea as possible using "dummy" data and specific situations to demonstrate how the key features work in Software Artifact(s) you feel is most appropriate, such as:

Note, at least one part of your project must be submitted as functional software.

They may be developed and demoed separately for this initial prototype, even if your ultimate plan is a combined single app or experience.

In addition to Software Artifact(s), submit the following materials:

  1. README file that describes the project's overall vision, attributions, and how to access different parts of the Software Artifact
  2. summaries of any data, research studies, or other materials that informed your work
  3. justification of your design and feature choices based on principles covered during this course
  4. privacy policy and justification for data your project keeps by linking it to project features
  5. plan for how you would verify your project's effectiveness if it were deployed
  6. all stakeholder, and AI, feedback and discussion of your responses (i.e., how comments were incorporated into the final version or might be in a future version)
  7. retrospective of how the project has evolved since the initial proposal, including what influenced the changes (new ideas, user, peer, or staff feedback, etc.)
  8. any presentation materials and a video, approximately 5 minutes long, going through your Software Artifact(s)

During our final class meeting, you will demo your Software Artifact(s), highlighting: