For my work, I needed to see what are the important things to teach at the undergraduate level. As a consequence, I started to build a tool to build a concept map of chemistry.
I first had to split chemistry in major areas.
I ended up with these fields : organic chemistry, biochemistry, inorganic chemistry, kinetics, thermodynamics, electrochemistry, theoretical chemistrycondensed matter, polymers, analytical chemistry, spectroscopy. As the final aim is for a highly competitive exam in France, it will also take into account the splitting given by the jury which is different from the classical one I had.
Then I had to consider the kind of objects considered in my field, I ended up ith the following list (it may continue to evolve):
- compounds/family of compounds
And finally the possible relationships:
- ACTS ON
I then created several pages : one to create nodes (and list them), one to create links, one to list all links and one to see each field. To create links, I can either click on them on the graph rendering or on the list, a simple click defines the starting node, a Ctrl+click defines the ending node of a relationship. I highlighted the already linked nodes to avoid to create duplicates of links.
In a field, each node is linked to the major theme by a PARTOF relationship. Then to render the graph, I use vivagraph.js which is a bit lighter and more efficient than d3.js for this specific kind of application.
To create dynamically the graph, the page displaying the graph also enables me to create links or nodes:
The rendering of a specific theme looks like this (the PARTOF link is discarded to be able to expand the graph):
And for the fun, I also have a full display of the database (here the PARTOF relationship is kept to group the themes but hidden for a nicer display):
Now I plan to do some check ups to avoid duplicates, be able to detect single nodes, display a more local graph and be able to filter nodes based on their importance in the field.
Overall, the tool is really fun and convenient to use as it enables me to think dynamically. It is really helpful to lay down ideas and think about how to teach in my field. Creating the graph for a major field took me around half a day for each field. I will continue to expand and refine it with my colleagues and students.
While it is not revolutionary, I hope that it will help me and my students to think conveniently with a graphical tool that makes a rendering of the ideas and their interelationships. I designed this because usually softwares use mindmapping with a central node and I despise this idea that something is central. And the software for concept map that I found did not meet my expectations.