Skip to content

Latest commit

 

History

History
86 lines (47 loc) · 2.26 KB

projectproposal.md

File metadata and controls

86 lines (47 loc) · 2.26 KB

##Final Project Proposal ###March, Judy, Mathew

####The Big Idea: The main idea of our project is to create a interactive math app that helps students/people understand calculus. The purpose of this project is to allow the user to interact with the Fundamental Theorem of Calculus in a purely visual and geometric way, eliminating equations and allowing the user to build a geometrically intuitive understanding of the Theorem. Our minimum viable product is to take a drawn function, and display its derivative graphically. Our main goal is to take a drawn function, convert it with Open CV, display it’s derivative, and corresponding integral function. Our stretch stretch goal is doing this with vector calculus (3D).

#####Learning Goals:

Judy

Learn to use plotting libraries

Write more readable code

Learn to work in a software team

Be challenged code-wise

March

Work on challenging code

Learn more about user interface

Learn to work effectively with multiple people on a software project

Understand GitHub

Matthew

Focus on UX/UI

Challenging CS problems

Writing better Python

####Implementation Plan: Possible libraries: plot.ly, matplotlib, OpenCV, NumPy

Get line drawn and converted to a function in Python

Get a display of derivatives and integrals from known function in Python

Combine the above two steps

Add interactivity (This could possibly include: The ability to click and drag a point on one line, having everything change accordingly, Sliders, Information bubbles above points of inflection etc.)

Polish code and user interface

Add missing documentation (hopefully this will be minimal).

Iterate on and improve user interface

Time dependent: Add multivariable functionality.

####Project schedule:

4/10 MVP. Discuss UX

4/17 Pretty matplotlib, drawing with openCV, move points with mouse

4/30 Code done.

5/5 Project finished.

####Collaboration plan: Split tasks by function

Code a majority of the time together

Present/explain what we each wrote in the beginning of every meeting

We chose this to be time efficient, but to still understand all aspects of the code

####Risks: Merge conflicts on github cause problems

Open CV not working

Not understanding code other people wrote

Fundamental misunderstanding of calculus (especially nearing 3D calculus).