Project Ideas & Technologies
Make sure your team chooses a project that is feasible as well as fun! This list is in no way comprehensive; feel free to select something totally different, as long as it is doable!
Note: mobile applications are discouraged as project ideas. If a team really wants to create a mobile app, they could look into progressive web apps.
Front-End Website
For students who have gone through the Web 101 and Web 102 material, this may be a good option. This could be a fairly beginner-friendly choice, but it could still allow for some very creative and interesting projects! Here are some ideas:
- Band/Artist website
- Business website
- Sports team website
- School website
- Story/book website
- Personality quiz/calculator maker
- Visual art using canvas
- Note: visual art can also be created using Processing
Technologies
There are some basic technologies that will definitely be useful:
Beyond that, there are some other front-end frameworks that might be worth trying:
Full-Stack Web Application
For students who have gone through the Web 201 material, this may be a good option. You can build pretty much anything as a web application these days, and practicing using this paradigm can be incredibly useful! Here are some project ideas:
- To-Do List
- Recipe database
- Blog application
- Forum
- Live chat
- Marketplace (like craigslist)
- Social media (like Twitter)
- Movie/Music reviews (like Letterboxd)
- Jackbox or Kahoot-style game
- Any sort of database
Technologies
There are several technology stacks for full-stack web development.
- MERN stack: Node, Express, React, MongoDB
- Web 201 stack: Node, Express, EJS templates, Replit DB (hook up GitHub with Repl)
- Python: Flask or Django
- WebSockets
Console Application
There are many possible console-based applications that a team could try to build, and a variety of technologies use! This option may be good for beginners, but keep in mind that the user interface will be much more sparse than other types of applications. For a text-based application, the project options are somewhat limited... but there are still some possibilities!
- Text-based story or RPG
- Choose your own adventure game
- Calculator (like Wolfram Alpha)
Technologies
A good number of languages can be used to build a console application, including:
Video Game
There are a ton of ways to build a video game, and it can be a really fun way to practice programming skills! A video game could be pretty much anything, so the project ideas will be up to the teams. However, there are some technologies that might be helpful:
- Python using Pygame
- Web games
- Processing - good for beginners, can also create visualizations!
- C# using MonoGame
API Integration
There are a ton of interesting APIs that allow developers to integrate their applications with a variety of services. Typically, an API will have libraries for some different programming languages. Here are some possibilities:
More Python Possibilities
Here are some other possibilities, specifically based on the Python 201 material:
- Discord bot - make a chat bot or another bot that does something automatically!
- Web scraper - grab data from any website, and use it in your application!