Concept Maps
No, they are not mind maps.
A month or so ago, I started reading Gary Klein’s Working minds: A practitioner’s guide to cognitive task analysis. This came through two fronts:
- Having read other books from Gary Klein on expertise;
- Cedric Chin’s posts on tacit knowledge talking in the area of this book.
It started out as a very interesting read, but I quickly got sidetracked by a tool recommended by the authors to gather situational awareness about the concept under study. The tool is the concept map and in this post I’ll try to introduce them to you. They are easy, don’t worry.
Concept maps were originally introduced as a teaching/learning tool (particularly for kids) by Joseph Novak in Learning how to learn as part of his research on learning/teaching techniques.
I’ll introduce them with bullet points, based on the original definition by Novak (which is the same Klein and others use in their expertise studies):
- They are a graphical tool, represent knowledge as a graph;
- They include concepts in circles or boxes;
- They include relationships as connections between concepts;
- Words on the edge between two concepts are linking words and specify the relationship between concepts;
- Two or more concepts connected by linking words form propositions, forming a meaningful statement;
- They are hierarchical: most general concepts should be at the top;
- They are best used with reference to a particular focus question.
I can’t stop thinking that the concept-proposition paradigm in concept maps is connected with RDF triples and from there you can go into the semantic web rabbit hole.
Even if they are graphical representations, I have shown no image yet, because I want to point out first what they are not.
They are not mind maps: mind maps usually have a word at the center, are not hierarchical and edges usually carry no additional information.
Now, here’s an example straight from Novak’s:
Pay attention to how groups of two or more concepts with their linking words form readable and meaningful propositions:
- Seasons are determined by amount of sunlight.
- Length of day is determined by position in orbit.
- Amount of sunlight is determined by height of sun above horizon (which) is lower in winter.
- Etc.
In general, arrowheads are not needed because “top always connects with bottom”. When a lower concept needs a connection with a higher concept, you add the head.
When I found out about the concept I decided to draw concept maps of two subjects: one I am very familiar with (Apache Spark) and one I’m somewhat familiar (Apache Kafka). I’ll show them at the end: the end result is not important. It’s the process what is important.
Even if I’m very familiar with Spark, how it works and its internals, it took me 3 or 4 days to get it right. This is normal according to Klein, Novak and others: concept maps are meant to be redrawn repeatedly. Creating it was enlightening, and had a brain wringing feeling I only get when preparing a presentation, or back when I wrote research papers. Writing your knowledge in this form of concepts and propositions is hard. Thus, I got more out of it than what the graph gives to a reader. And even then, they are still not finished, there’s always more to add and concepts to reorder.
When I was working on my own concept maps Nicolas Rinaudo shared one on algebraic data types (and more) on Twitter that is excellent.
The Spark map is pretty wide, make sure to click to be able to read anything.
Once I was happy with the Spark map I started with the Kafka map. I had to refresh some concepts for this, and probably there are several gaps I’m unaware of. This turned out pretty much vertical, so it’s more readable embedded. Luck, I guess.
Why and how
I have found that concept maps help clarify concepts you know, and are convenient to establish working ground with people familiar with the topic. They can be effective learning tools, too. They don’t work well for planning the layout of a text or at the beginning of a project.
I tried to use iThoughts (iOS app for mindmapping) to draw it, but quickly settled to using my editor for Graphviz. The main reason: graphviz
automatically redraws the graph as you add nodes, keeping everything in order. No graphical tool (no Miro, no Mural, no LucidChart) does this, you need to edit it constantly. It’s also text-driven, which suits me.
I suspect the Alloy model explorer might work well for concept maps, too, except for the lack of being able to alter the ordering and tweaking the looks.
Pick a subject you know well and try to create one. The effect it has may surprise you.
Thanks to Marc Ramírez for having a look and making sure I didn’t write anything stupid.