Capstone-Projects-2021-Fall / project-proposal-4398-sections04-flagg

project-proposal-4398-sections04-flagg created by GitHub Classroom
1 stars 0 forks source link

Graph Calculator #18

Open Marcus-Anestad opened 3 years ago

Marcus-Anestad commented 3 years ago

Project Abstract

This product is intended to help students learning graph theory in discrete mathematics. There does not currently exist a tool that is designed with those beginning to learn graph theory. We would be seeking to fill this gap by proving a website with an intuitive drag-and-drop UI to create graphs.

High Level Requirement

Users will be able to create graphs using a drag-and-drop UI on our website. They will be able to add verities, edges, weights, etc. to the graph and then obtain useful information such as if the graph contains a Hamiltonian cycle. The user can then gain insights into the graph they created. They will also be able to look up the definitions for various concepts to gain a better foundation in graph theory.

Conceptual Design

This project would be hosted on a website. Since user data would not need to be stored, there would be minimal backend needed. As such the website should be able to be built using HTML, CSS, and JavaScript. React would be able to build the drag-and-drop UI, but another language could be used in addition if group members prefer.

Background

While there are websites that provide a good graph UI and websites that provide good insights on graphs, there aren’t any that do both well. Wolfram Alfa provides in-depth information but is not very useful to those beginning to learn the concepts. This project would aim to combine the advantages of these sites to provide an easy-to-use tool to help students.

Example of good UI - https://csacademy.com/app/graph_editor/ Wolfram - https://www.wolframalpha.com/examples/mathematics/discrete-mathematics/graph-theory/

Required Resources

Group members should have some experience with graph theory and have an IDE capable of developing websites. Since this project has a minimal backend, the website shouldn’t need a database. A basic web hosting service will be needed for the final product.

Eriksiano commented 3 years ago

I think this is the best project proposal because it turns computer science theory into a useable tool. It will allow computer science students to visualize graphs that can easily be complex in structure. There were times when I would have appreciated a decent graph visualization tool, especially when trying to visualize different algorithms.

I am willing to learn different web technologies while contributing to this project and look forward to its development. I think one major improvement to this project would be to include visualization for various data structures and corresponding algorithms. For example, I could contribute to creating a BFS algorithm visualization that can work on any graph a user implements.

gannontraynor commented 3 years ago

I have spent countless hours in different programs trying to build a decent-looking graph. This is not only a really good studying resource but would make creating any kind of report that needed a graph significantly easier. Right now the best solution is to use LaTex and that is an incredibly tedious process.

It would be really cool if we could implement a system where you could take a picture of a graph and the program returns information about it so that the user wouldn't have to recreate a graph if they already were given it say as a printout or something. My web dev skills aren't the most polished but I read man pages religiously and am always excited to learn new techniques. I think python would be a good language

jordanbillie commented 3 years ago

I chose this project as one of my top 3's because I really like the range of different technologies that can be used to create it along with its creativity. This application would be very helpful for students studying graph theory by showing an actual visualization, making it easier to comprehend. I feel that more technologies could be used to display the illustrations could also be helpful.

I could help with this project with my knowledge of web development with HTML, javascript, and CSS. This would be very helpful when creating the website. I don't have a lot of experience with React, but I'm also willing to advance my knowledge of it. Another suggestion could also be to offer other smaller resources that explain different forms within graph theory through do it yourself examples and explanations with graph UI's to show the solution

Wyllice commented 3 years ago

As someone who worked as a math tutor at community college, I would have loved to have had a resource like this to point students to who were struggling with graph theory in discrete mathematics. Math education is still something that I am passionate about, and I would be very happy to contribute to a project that would contribute to the field.

Although I bit rusty, I have tutored basic graph theory quite a bit, and am very confident about being able to write any algorithms that would be used for analyzing graphs as well writing clear and concise definitions for the various terms and concepts in introductory graph theory. I don’t have a ton of experience with web development, but I know the basics of HTML, CSS, and JavaScript well enough to be able to work through anything that we will need to do for this project. I have no experience with React, but I would relish the opportunity to learn about it in the context of this project.

AidanCodes commented 3 years ago

I really like this idea because of the massive need for study tools and good web tools in the educational space in general. I would love to get some experience in the field before I graduate, and this is a great chance for that. Any sort of free calculator program interests me as well, as I have always hated the cost barrier for high-level mathematics.

I haven't done graph theory in a few years but I remember liking working with it. I know you mentioned that we wouldn't need a fancy backend, but if we do decide we want to offer an API or other server-based graph calculations, I would be able to help with that. I also have JS experience as well as a bunch of standard web-dev and server configuration. UI certainly isn't my specialty, but I can make something that works well for the user as long as someone else can help make it pretty.

I hope that this gets made even if I don't have a chance to contribute, as this would have helped me a bunch in the past!

daviddcho commented 3 years ago

This sounds like a cool project. I remember watching a lot of videos that would visualize algorithms in Graph Theory during the Data Structures and Algorithms class. But I would have to skip back and forth to rewatch steps. This type of interactive website would've been helpful by allowing users to watch algorithms step by step manually (by clicking a button) or automatically. Also being able to create your own graphs and test algorithms on them would be cool. I would need to brush up on my Graph Theory again but I would be down to do that. I also don't have too much experience with web development but I would be happy to learn so that I can contribute to the project.