All of us enjoy mathematics in one way or another. Kayla and Vicky are both on the e-board of the Math Club at SUNY Oswego. Between the two, Maddie and Kayla have a math minor and a math major, respectively. We all agree that the way mathematics courses are taught trail behind the times, and have had struggles with learning math as a result of it. This project features different depictions of math concepts across different levels using image processing and music generation!
Apart from interests in mathematics, Maddie and Vicky combined their shared interests in image processing to create visualizations for the project, and Kayla channeled her interest in music to create musical representations of functions.
What it does
This project features a website with 3 visual and 1 audio representation of different math concepts. The visual components are all user-interactive and feature the opportunity for configuring the problem space. There is a pie chart representation of fractions, interactive addition using squares and a graphical plane, and a graphical representation of calculating Riemann sums, depicting how changing the number of bars affects the area calculation. The audio component generates a musical representation of a select sample of equations - all of which the user can listen to and compare/contrast.
The goal of this project is to spark inspiration for upgrading mathematics curriculum to cater to different learners!
How we built it
We worked via a divide and conquer strategy. Kayla worked on the equation-to-music generator using Java and JFugue, a Java library for creating music. Maddie worked on the processing files for visualizing Riemann sums and fractions. Vicky worked on the addition visualizer using processing as well. All three of us put together the HTML/CSS website after finishing up the individual components.
Challenges we ran into
Kayla ran into some trouble trying to get the octave, pitch, and duration representation to be generated from graph coordinates in a way that demonstrated coherence. The initial plan was to allow the user to be able to enter equations to generate music samples from, but we ran into issues transmitting the MIDI files to the front-end.
The front-end was also a challenge. We initially decided to use React before running into issues with routing and time constraints, so we switched to HTML/CSS.
Accomplishments that we're proud of
We are proud of overcoming our various deployment troubles. We are also proud of our collaboration effort and our ability to approach our project dynamically, not feeling afraid to scrap and rewrite code as needed.
What we learned
We learned more about processing and JFugue. We also learned the importance of trying new things - even if it means scrapping entire parts of code - when stuck on a problem.
What's next for Easy as Pi
We plan to think more about using computer science to help visualize mathematical concepts!
Log in or sign up for Devpost to join the conversation.