Inspiration

As first-year students in either Computer Science or Engineering, we discovered troubles studying for math/science-related courses, using limited textbook problems forcing us to redo a lot of the same problems that are also usually organized for specific units. Being fed up, we decided to create Study Squid, a free alternative to textbook solutions.

What it does

Study Squid is a web application that provides users with countless amounts of generated problems to work on for studying, with real-time solution checking and steps. The web app is designed to let users study and solve problems with no limit to the questions provided. Study Squid lets users choose what course subject they want to study, as well as throwing problems from multiple units to better prepare users for exams, and provide an easy setup for studying general concepts of the course. A leveling and experience system is also implemented, giving them more experience points as they go to rise levels and create a satisfactory analytic for the user to track their progress.

How we built it

We wrote special Python scripts to generate problems, then utilized a Flask backend and sent them to the web page made with vanilla HTML + JavaScript.

Challenges we ran into

The formatting of the Wolfram math API caused troubles, as the API did not take in JSON format. The linear algebra unit used much different notation, to a point where it is not possible to run through our API system and JSON math format. Unsolved: Saving past-written questions ran into problems when varying subjects, as all problems and solutions were originally saved under one endpoint instead of multiple. Matrix solutions were difficult, and with the time limit, we were unable to create an easy-filling form for entering values of the matrix without worrying about formatting.

Accomplishments that we're proud of

Working through a whole system of full-stack development: generating script, API script, back-end script, front-end JavaScript, front-end HTML&CSS Figuring out an irregular API through Wolfram and formatting it to JSON Developing infinite solutions that do not conflict, as well as even solving them for linear algebra matrices without the use of external resources

What we learned

How to combine multiple scripts together, even from one language How to use APIs and the challenges they brought forward How to integrate front and back end to utilize multiple languages How to format and prioritize UI/UX

What's next for Study Squid

Along with adding a wider range of problems and subjects, we want to add as must incentive to study as possible. We plan on doing this with positive reinforcement and systems that encourage consistency such as streaks. We also plan on expanding currently in-development features, as well as many other additions that would provide more accessibility, convenience, and resources to the users.

Share this project:

Updates