After the ECE 105 Midterm, our hearts were down and our souls were damaged after the battle. We needed more questions to practice on so that we can improve in the class. What do we do if we finish all of the textbook questions, as well as the Web Assign questions? How can we get more questions to practice on? This got us thinking about a possible solution to this problem. Eventually, we came up with an idea.
What it does
We developed a program called Newton's Physics Calculator that calculated values of certain physics problems. This would allow students to make up their own problems by inputting the given values. An endless amount of problem are then available to students to practice on.
How we built it
We used C++ to program all of the calculations for the physics problems. We used the GUI component of QT, a cross-platform application framework, to present the program in a clean accessible way. Our general coding format was "input >> calculate >> check error conditions >> output. The program is very simple, but practical.
Challenges we ran into
We ran into various challenges while developing the program. Firstly, we had difficulty working with sinusoidal functions, mainly because of library compatibility. Conversions between units (i.e. radians to degrees) also was an issue. The GUI was our biggest challenge, since no one had any experience working with it. However, we were able to learn quicky and developed a functional GUI. Error checking was also an issue, as we had output values that did not correspond to the correct values.
Accomplishments that we're proud of
We are very proud of our program, mainly because we all don not have a lot of programming experience. The fact that we were able to work and learn together effectively really represented what engineers should be: a team. Bringing an idea to life really opened our eyes as to what is possible if you try hard as a team.
What we learned
EngHack taught us how to work together as a team. Right from the start of coming here at Waterloo, we were told that the secret to success here as engineers was collaboration. This project put that idea to the test. We all improved our programming skills, as well as our stress management due to the time restraint. The project opened our eyes to many aspects of programming that we didn't see before. We also learned that developing a program is difficult, but doable. But most of all, we learned that hackathons are awesome and fun!!!!!!!
What's next for Newton Physics Calculator
Due to limited time, we were not able to program more scenarios. After the hackathon, we could add many more scenarios so that students would have a wider arrange of questions to work with, therefore helping them improve their skills.