A Classroom Teaching Tool for Graph Theory

A-Level Computer Science Non-Exam Assessment

Graph theory is an important part in A-Level mathematics and computer science subjects. A good majority of students who are studying mathematics, further mathematics or computer science need a more hands-on approach to this very abstract subject which lies at the heart of computer science, and a detailed and easy-understandable teaching tool is essential to their understandings about graph theory. Unfortunately, however, such a teaching tool is quite rare to find in the majority of academic supportive websites. In this project, I built a Windows desktop application in C#, that provides a classroom teaching tool for graph theory, particularly in the following algorithms:

  • Prim’s and Kruskal’s minimum spanning trees algorithms
  • Dijkstra’s single-source shortest paths algorithm

The teaching tool enables a user to freely create a graph by filling in an adjacency matrix/list, and also provides a Sketch Board which allows a user to directly draw the graph on a canvas. It then applies the graph algorithms on the created graph, with step-by-step demonstrations. It also embeds a Question Bank for teachers to set, edit and store questions and students to answer them, together with an automatic marking system, and can keep track of the learning progress of each student.

Xiangyu Zhao
Xiangyu Zhao
PhD Candidate