Demo here: https://prospectiveprogramming.vercel.app/

What is ProspectiveProgramming?

ProspectiveProgramming is an online computer science education platform that is built on openness and accessibility for all: a platform where users can contribute to lesson development; a platform where anonymity is respected and users do not have to fear harassment or embarrassment, a platform where lessons are built from users for users; and a platform where the basics are taught, nothing more, nothing less.

ProspectiveProgramming's Features

Some features of ProspectiveProgramming include (only highlighting the most important features):

  1. A complex network of education-related tools, which include lessons and practice problems to create curriculums that allow future users to learn Java without having any programming knowledge prior.
  2. Advanced lesson modules that feature learning content with 400+ words in each lesson, and lesson problems with an IDE that can reinforce the user's knowledge (the user can complete a lesson if they get the lesson problem right.
  3. Advanced practice problem modules that feature a problem prompt and an IDE to give users an option to practice their newfound programming skills without reading more content and getting lost. These practice problems can be used later on for the user to check if they have truly understood a lesson (the practice problems have prerequisite lesson labels to ensure no confusion).
  4. A custom-built IDE that features AI/ML feedback if the user gets a certain lesson or practice problem incorrectly. The feedback is specific to each problem and provides hints that can allow the user to get the problem right on their next attempt.
  5. Over 10+ lesson modules and 30+ practice problems are used in this demo, but as time goes on, more lesson modules and practice problems will be created through community means and curriculum development of the staff.

ProspectiveProgramming's Significance

As the ideals of ProspectiveProgramming encouraged openness and accessibility for all, the framework of ProspectiveProgramming was built on the fact that not everyone can understand programming with the same speed, so we developed lessons that can appeal to everyone by specifically designing concepts that avoid weird topics and are short to ensure that the user would not get bored throughout and can learn in any environment without time constraint. Additionally, openness implies community, so ProspectiveProgramming's curriculum can be built upon the community itself, where users can submit drafts of their own lessons and practice problems and can get approved and used later on, where users can report problems with content and can give suggestions to the website as a whole. Lastly, ProspectiveProgramming's framework is light as it relies on very few external technologies, and thus can be run on any device (even devices with weak capabilities).

What's next for ProspectiveProgramming?

One significant part of ProspectiveProgramming that was mentioned over and over throughout was openness, but we can't have openness if the web application itself is only useful for English speakers, right? So, we are planning to modify the framework so that the web application can be run in different languages, first starting with Spanish and French to create accessibility to many regions throughout the globe and building on from there. This, combined with future curriculum development, will ensure that ProspectiveProgramming will live to its name: create prospective programmers!

Built With

  • ai
  • openai
  • react
  • sql
  • supabase
  • tailwindcss
  • vercel
  • webassembly
Share this project:

Updates