Yes, the topic/knowledge taxonomy is an important part of it. There are ideas from ConceptNets to Faceted classification. For now, I have taken a pragmatic call to have maximum two parent topics for every topic node here. This allows me to show the hierarchy here: https://learnawesome.org/topics
Probably not directly applicable to your project but do you know about a project with much more granular skill dependencies? An example are this three skills:
"juggling 3 balls" depends on "juggling 2 balls" depends on "throw 1 ball to your other hand without that hand moving much".
Check how underlay.org is trying to build a really granular graph of claims and assertions. Building something similar for skills is what LearnAwesome is interested in.
For this spiral approach, I think, for every skill we could have certain levels (beginner/intermediate/advanced/elite) and the dependencies could be to those levels.
Frankly, I would love to see either of these ideas (skill dependencies, or spiral approach) implemented in code, in a way where I can look at the materials and see how I'm going to travel through it.
In anything you've linked here, I feel overwhelmed as a student. I get that, in the spiral approach, the starting point isn't so important, but if I don't know where to start, it's much easier for the teacher to pick for me, then for the teacher to tell me, "it doesn't matter where you start, so pick whatever". If the choice really doesn't matter, then don't make students choose.
In this way I think the skill dependencies approach allows the student some visibility into why they might choose one starting point over another.
There's also a problem where students come in with some prior knowledge, so when you're trying to teach them a complex idea, you need to fill in the gaps in their skill prerequisites. It seems like with the spiral approach, you'll get there eventually, and in a class where you can't go through each student and pinpoint the missing prerequisites, the spiral approach seems to make sense--but the negative side effect here is that you're going to be reviewing stuff for a lot of students who already know it. With individual students, this is a complete waste of time, and it's better to test what they know and then fill in gaps. A skill dependency tree might do better at empowering students to test their OWN knowledge and fill in the gaps.
GitHub is down currently. But we're discussing the personalization aspect on one of our issues. We want to recommend learning paths which take into account users' background (what they already know), constraints (what formats are best for them) and goals (what do they want to achieve).
Please do join our Slack for these ideas, even if, you can't contribute code.
I'm also really interested in this. Khan Academy used to have a wonderful one, for pretty much all of math up to about undergrad level, but it's gone, for no reason I could find [0]. This seems to be the code that was used to lay it out [1].
I've been thinking a lot on knowledge classification systems lately. It's surprisingly challenging to find the right balance between flexibility/comprehensiveness and simplicity/rigidity. Have you documented your research on this topic anywhere beyond that GitHub issue? I'd love to learn more about the strategies you considered.
I haven't written about it, but happy to have a conversation on this. For eg: check how underlay.org is trying to build a really granular graph of claims and assertions.
Me and my girlfriend is building something similar, but targeting a different niche, a personal non-collaborative knowledge tree. Would love to connect and share ideas if you are up for it! https://ember.ly
This taxonomy design is being discussed here: https://github.com/learn-awesome/learn/issues/14
Feel free to suggest better approaches.