Graph Constructor
22 March 2010
Introduction
The first working version of Graph Constructor is shown below.
How to use Graph Constructor
Just experiment with it; you'll soon see what to do. The letters in brackets printed on each button are shortcuts for changing the behaviour of the mouse. Please report to me any bugs or suggestions for improvements; all comments will be appreciated.
Questions and answers
What is Graph Constructor?
It is an environment for constructing graphs.
Why not just use a pen and paper to draw graphs?
In many cases, Graph Constructor is more economical and efficient. You can position nodes, delete nodes, add nodes, colour nodes, and label nodes. Similarly for edges. You can also save and load graphs. Making adjustments to large graphs on paper is tiresome. With Graph Constructor it is simple.
As graph theory is not part of the UK school syllabus, do we have much use for Graph Constructor?
There are three reasons why I believe graph theory should be taught to young students. First, it is a fascinating and fun topic which differs from the usual mathematical subjects taught at a low level. Second, it is exceptionally accessible; the basics of graph theory can be taught to an infant. Third, it is an important research topic, and there are many strong graph theory researchers in the UK. This indicates that graph theory is a relevant subject to study in modern mathematics. In light of these three reasons, I believe it is worth enriching the mathematics taught to school students by introducing them to graph theory.
What, explicitly, can we do with Graph Constructor?
In the next section I supply links to several sets of notes and problems on topics in graph theory, introduced using Graph Constructor.
Topics in graph theory
Introduction to graph theoryTrees
Euler tours
Hamilton cycles
Planar graphs
Weighted graphs
NRICH content which could be generalised with graph theory
Sticky numbersCycling squares
Factors and multiples
Graph Constructor may also be relevant for Dividing walls.
Desirable additional features
Improve functionatlity of node and edge labeller.Improve functionatlity of node shaper.
Multiple node dragging.
Clearer overlapping edges.
Curved edges.
Multiple edges between nodes.
Edge from node to itself.
Directed edges.
Algorithms for calculating minimum routes etcetera.
Undo feature.
Remove overlapping edges from planar graphs.