myStudyPal

Inspiration

During the middle of the semester, we always have an issue with how some professors are not reliable for giving back grades and feedback in a timely manner - it is hard to gauge how you are performing in the course. This causes unnecessary stress that could be avoided. And balancing all the courses can be difficult, because of the curricular and extracurricular activities.

What it does

It takes in all the student's current scores and produces a probabilistic model of the grade distribution. With our own custom cost function, our algorithm finds the most optimal average scores you need in your upcoming exams to get to the next grade.

How we built it

We built is primarily in Python, using libraries like scipy. We generated our own class definitions and had example data.

Challenges we ran into

We thought this was going to be a simple but highly useful project for students to have. However, when trying to devise the optimal algorithm, we ended up with a set of linear equations with infinite solutions. We needed to define a cost function that outputs the optimal value.

Accomplishments that we're proud of

We got a basic functioning demo working, and have the idea and equations for optimizing the grades per course. We are happy with how our project turned out. We believe that if we dedicate a bit more time to this project after the hackathon ends, we will be able to produce a functioning MVP that we can open source for other students to use.

What we learned

We learnt how important teamwork is and how we need to play with each other strengths. We took significant time learning new tools like tkinter and Sketch, which none of us had used. We as a team were very new to hackathons, so we mostly enjoyed and tried to create a good project.

What's next for myStudyPal

We would like to make our algorithm more robust to changes and edge cases. We want to improve the user interface to ensure that it is seamless and that students can easily input their grades. We also want to make improvements to our ML algorithm to be more versatile and use data and performance from previous courses to provide suggestions on future assignments.

Built With

Try it out

Submitted to

Created by

I worked mostly on the backend, especially the core algorithm that computes optimal changes. Not only did we implement this algorithm, we invented it from scratch using formal mathematics. I learned a lot about sciPy python API and was finally able to employ some of the more complex math concepts I had learned in school.