Students such as I study the optional discrete component of the OCR A Further Mathematics A-Level. One of the topics in this component is graph theory, which includes several algorithms that can be executed on weighted graphs, including:
- Dijkstra’s algorithm
- Prim’s algorithm (also known as Jarník's algorithm)
- Kruskal’s algorithm
- Solving the Chinese postman problem (also known as the route inspection problem)
- Nearest Neighbour algorithm
- Finding lower bounds for the Travelling salesman problem.
Thus, this project was created as an educational tool for teaching these algorithms graphically, by tracing them and/or solving them where appropriate. There are many possible users for such a tool, including:
- Private candidates such as self-taught and/or home-schooled students. They may not have access to the same resources, or whoever is home-schooling them may not be familiar with the material themselves.
- Students struggling with homework questions.
- Teachers who want their students to be more engaged with the topic and who are open to using it in lesson.
When dealing with the source code, Java 7 was used in v1.0.0, and Java 21 is used in subsequent releases.
Legal notices: The cloud-form UI skin by Raymond "Raeleus" Buckley was used under the CC BY 4.0 license, and was modified to use a custom colour scheme and TrueType font of my choosing.
The directories-jvm library was used under the MPL-2.0 license (in versions strictly newer than v1.0.0).