Inspiration
I was talking to my math teacher and he was telling me how he thought that high school students in courses ranging from Algebra 2 and above all struggle with learning trigonometry and memorizing the basic trig angles (30, 45, 60, 90, etc.), especially during online learning. Initially, I had thought that this was because no one tried hard enough to learn this. Later though, I realized that this was because there was no solid way of learning trig online without the help of a teacher or tutor.
What it does
TrigTrainer is a web app I built to solve the problem of students not having access to a solid way of practicing their trigonometry. Students simply go to the URL and are met with a question and visual graph representation of a question on the left. The list of possible answers is on the right. Students then choose an answer, submit it and get instant feedback on that question. Since some students may have trouble with more specific problem types(such as sin, cos, tan), I have also built in a settings feature that lets users decide what and how they want to work on their problems.
How we built it
I built this project with the use of Javascript and libraries/frameworks such as React, MaterialUI, and firebase-react. I started with building the question database. I ended up using an array stored in a file called 'problems.js' and imported that into other files where I needed it. Then I built the question picker functionality and graph(using react and SVG). After that, I finished the v1 by building the answer choices component. There was a lot missing in terms of UI, so I redesigned everything using Material UI and now have the layout currently used.
Challenges we ran into
Many. Some of the major ones are listed. These all took a couple of hours to figure out:
- Setting active state/submit state for answer choices
- Implementing correct answer functionality and "onCorrect" functionality
- Refactoring code from v1 -> v2 for it to not be so messy.
Accomplishments that we're proud of
There is still a long way to go, don't get me wrong. But, this MVP version of TrigTrainer validates the initial concept that online learning for trigonometry does not have to be difficult. That goes a long way for me, and I think it also should for anyone who believes that there is a lack of affordable and accessible trigonometry education online.
What we learned
The obvious:
- Improved personal trig skills and react skills
The important:
- If you want to create something valuable, especially online, you can. There is a quote I once heard: "Whether you think you can or you can't, you're right either way"
- Sometimes you have to push through the thoughts of "I can't do this" and "I'm not good enough" to get a good or great end result
- There really only is one way to get to achieve your goals: working for it. I put many hours into this project for the past couple of days and I am proud of what I have made.
What's next for Trig Trainer
I built this web app not only for this hackathon but as an asset for teachers and students alike. In the current state of TrigTrainer, users can go to the site and practice questions, pretty good, but not great. Moreover, I have a vision for TrigTrainer: A unified website for students to learn about and test themselves on trigonometry, and a platform for teachers to view and assist students' progress on trigonometry knowledge. I fully intend on fulfilling this vision. Some thoughts on doing this are by implementing more features and expanding the current functionality of the website. (ex: adding login and user auth, tracking number of questions of a certain type gotten right and asking more of that particular question type, and responsive design)
Contact Me/Notes
- Email: [email protected]
- Phone: (669) 214 - 5274
- I chatted with '@sup' on discord and he mentioned to me that I did not have to include a GitHub repo. My repo is not well maintained and I didn't use it much. Sorry if it's a bit dysfunctional. I couldn't import the node modules correctly.
Log in or sign up for Devpost to join the conversation.