Computer Science NEA Project Idea
Watch this threadPage 1 of 1
Skip to page:
FROSTYql
Badges:
3
Rep:
?
You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#1
I'm planning on doing something for my programming A level NEA Project that I think is a good idea. I want to allow a user to make a graph/network consisting of nodes/vertices and arcs/edges which they can add weights to, from a friendly user interface. When the graph is made, I'd like to add different complex algorithms that they can apply to the graph including:
-Dijkstra's Algorithm
-The Route Inspection Algorithm
-Prim's Algorithm and/or Kruskal's Algorithm
-Floyd's Algorithm
-Adjust Graph Edge widths according to their weights
-Algorithm to Check if 2 Graphs are Isomorphic
-Calculate the degree of each vertex
-Checks for whether graph is Eulerian or Non-Eulerian
some of the things I can think it would include now are: recursive functions, 3d and 2d arrays, Lists, Graphs, my own algorithms, Sorting Methods (probably Merge Sort), Adjacency Matrices. I'm sure there'll be more, just can't properly think of it now. I'm aiming for an A*. If you have any other ideas that I can add onto this I would really appreciate it, thanks
-Dijkstra's Algorithm
-The Route Inspection Algorithm
-Prim's Algorithm and/or Kruskal's Algorithm
-Floyd's Algorithm
-Adjust Graph Edge widths according to their weights
-Algorithm to Check if 2 Graphs are Isomorphic
-Calculate the degree of each vertex
-Checks for whether graph is Eulerian or Non-Eulerian
some of the things I can think it would include now are: recursive functions, 3d and 2d arrays, Lists, Graphs, my own algorithms, Sorting Methods (probably Merge Sort), Adjacency Matrices. I'm sure there'll be more, just can't properly think of it now. I'm aiming for an A*. If you have any other ideas that I can add onto this I would really appreciate it, thanks

0
reply
elebexm
Badges:
4
Rep:
?
You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#2
Report
#2
Had a friend who did basically the exact same thing, except it was only the 'allowing a user to created a weighted graph' and the testing if isomorphic bit. That was his entire project.
What you've got right now seems like more than enough. Focus on getting the user interface made and working, and then begin implementing algorithms. I know that the algorithms is probably the bit you're excited for, and I'll admit it'll probably be the quickest bit of the project (because once the framework for adding algorithms is there it'll be really easy to add more), but you're not going to impress anyone by having a thousand algorithms available.
The main bit is going to be
1. The user interface and
2. The processing of the graph display.
Pick a few select algorithms (like route inspection or isomorphism) that can be applied to the graph and make those the focus of the project. Once you've done that, add in all the fun extras, like adjusting edge widths and calculating node degrees. Focus on the bulk, rather than the nice-to-haves.
What you've got right now seems like more than enough. Focus on getting the user interface made and working, and then begin implementing algorithms. I know that the algorithms is probably the bit you're excited for, and I'll admit it'll probably be the quickest bit of the project (because once the framework for adding algorithms is there it'll be really easy to add more), but you're not going to impress anyone by having a thousand algorithms available.
The main bit is going to be
1. The user interface and
2. The processing of the graph display.
Pick a few select algorithms (like route inspection or isomorphism) that can be applied to the graph and make those the focus of the project. Once you've done that, add in all the fun extras, like adjusting edge widths and calculating node degrees. Focus on the bulk, rather than the nice-to-haves.
0
reply
FROSTYql
Badges:
3
Rep:
?
You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#3
(Original post by elebexm)
Had a friend who did basically the exact same thing, except it was only the 'allowing a user to created a weighted graph' and the testing if isomorphic bit. That was his entire project.
What you've got right now seems like more than enough. Focus on getting the user interface made and working, and then begin implementing algorithms. I know that the algorithms is probably the bit you're excited for, and I'll admit it'll probably be the quickest bit of the project (because once the framework for adding algorithms is there it'll be really easy to add more), but you're not going to impress anyone by having a thousand algorithms available.
The main bit is going to be
1. The user interface and
2. The processing of the graph display.
Pick a few select algorithms (like route inspection or isomorphism) that can be applied to the graph and make those the focus of the project. Once you've done that, add in all the fun extras, like adjusting edge widths and calculating node degrees. Focus on the bulk, rather than the nice-to-haves.
Had a friend who did basically the exact same thing, except it was only the 'allowing a user to created a weighted graph' and the testing if isomorphic bit. That was his entire project.
What you've got right now seems like more than enough. Focus on getting the user interface made and working, and then begin implementing algorithms. I know that the algorithms is probably the bit you're excited for, and I'll admit it'll probably be the quickest bit of the project (because once the framework for adding algorithms is there it'll be really easy to add more), but you're not going to impress anyone by having a thousand algorithms available.
The main bit is going to be
1. The user interface and
2. The processing of the graph display.
Pick a few select algorithms (like route inspection or isomorphism) that can be applied to the graph and make those the focus of the project. Once you've done that, add in all the fun extras, like adjusting edge widths and calculating node degrees. Focus on the bulk, rather than the nice-to-haves.
Last edited by FROSTYql; 3 months ago
0
reply
X
Page 1 of 1
Skip to page:
Quick Reply
Back
to top
to top