Inspiration

In studying for math tests and exams for high school, I have often used teacher resources and outside sites (such as Jensen Math) to study. However, there have been times where I had answered all the questions given and wanted to do extra practice, which is the purpose of this tool.

What it does

PrepAgain allows the user to select one of six units (tied to the Grade 9 Mathematics curriculum) and randomly generates 10 questions from a large bank of possible questions. They are each displayed in a multiple-choice format, and allow the user to input their response (a, b, c or d) into the box below. After submitting the answer, it shows whether the user answered correctly and shows the next question. After ten questions, their final score is shown.

How we built it

I used python to create PrepAgain, creating functions to generate random questions, open the question window and check each question. The windows, buttons and GUI were created with tkinter. The questions were organized and sourced from .csv files, generated based on questions from Jensen Math by Gemini.

Challenges we ran into

Challenges included the idea of using .csv files as well as how to source them. The idea of generating a large scale of questions using .csv files wasn't considered until later in the project, meaning that it was harder to fully implement them. Additional challenges included formatting the buttons in tkinter and making the GUI functional and readable.

Accomplishments that we're proud of

The piece of the project I am the most proud about is the usage of arrays to display the questions and store the answers while reading the .csv files, which took some time to code but ended up working perfectly functional.

What we learned

As my first hackathon, I had learned how to effectively work under a time limit and create a project in just 48 hours. I also learned more about file reading and GUI creation.

What's next for PrepAgain

PrepAgain only goes up to the Grade 9 curriculum currently, and future updates will increase the grades and units currently available. The GUI will also become more streamlined and easier to navigate, with radiobuttons and correct/incorrect screens between questions. In the future, PrepAgain might also switch from .csv files stored on the hard drive to faster databases such as MySQL.

Built With

Share this project:

Updates

Submission history