Topics Structure
Relationships
SUBTOPICS
“Contain” kind of tree structure among topics. Topics can only have one parent.
PART_OF
Supplement the SUBTOPICS relationship by allowing a kind of “shallow linking”. With it, a topic can be mainly indexed as a subtopic of a certain parent topic, while also being marked as a subtopic of another.
When read from top down in the subtopics structure, “part of” subtopics are basically handled like regular subtopics. However a topic only has one parent topic and can be part of several other topics.
PREREQUISITES
Dependencies/References between concepts/topics.
When a topic is a prerequisite of another topic, the latter is called a follow-up topic of the former.
Context
This is quite complex, but in essence it allows solving the problem of topics meaning different things in different contexts. If 2 topics have the same name, it’s possible to set different contexts (among its parent, grand-parent, etc. topic) for each topic. E.g.: Functions (Mathematics) or Functions (Programming).
How the map works
3 views:
- SubTopics
- Pretty straightforwards, simply shows the SUBTOPICS structure: how topics and concepts are grouped, one level at a time. Allows easy zooming in and out.
- Progress (Concepts)
- More complex as we aim to show in which order to learn each concepts
- We distinguish 2 types of topics: Areas and Concepts. When focusing on one area, all its concepts (up to 3 levels deep) will be shown unless the concept is part of a subArea. In the case of a subtopic being a subArea, we show it as a large node, aggregate the prerequisite relationships it might have with other subtopics and show these relationships.
- The level and prerequisite relationships of each node help determine their gravity center on the x axis: first the level is used to create an initial gravity center on this axis, then we run some heuristic in order to try having prerequisites of a topic always before it on the axis. Therefore if topic has a lower level than its prerequisite, it should still be displayed after it.
- Prerequisites
- Simply show “hard” prerequisites and follow-ups of any topic (not aggregated relationships, only the one actually existing – the ones appearing in a topic’s Manage page)