Idea: Tree of knowledge
Ever been interested in a topic that once you google you end up with explanations(quite often on wikipedia) that rely on foundational knowledge you didn't even know you should have? And then you started working your way back by googling things you didn't know until you hit something you do know and from that point you try to inch your way forward to the original topic just to get discouraged a few hours in? I know I have and it's a pain!
A well built knowledge map that would graph the relationships between different topics in a field would help alleviate this problem. Take for example linear algebra. You've heard about this fancy thing called singular value decomposition but barely know what a matrix is. You type SVD into a search box, and it generates a breadth first tree with all the topics you need to know to be able to understand SVD up to a certain depth. And then you just work from the leafs that you do understand up to the topic you are interested. This saves hours or sometimes days of just trying to understand the ordering in which you should be learning things. It essentially builds a curriculum for the user on the fly for a topic they are interested.
I would propose this as a community wiki so knowledge maps could be crowdsourced and curated as they would be time consuming and difficult to build for a single person. Would also suggest adding the ability to let users create accounts and mark off topics they feel confident they know.
Potential problems: The two big problems with this idea are
1) generating a proper knowledge map: There will be ambiguities in the edges and even the nodes of a map. Sometimes (often) you will need to be clever how you organize the information. For example, your have a dependency listing like: Matrix 2) a topics can be studied in different frameworks: E.g. linear algebra can be studied with or without using vector spaces. Once again, deciding how to create the knowledge graph will be difficult.
Solution: Have multiple types of edges. You can have edges to signify hard dependencies, soft dependencies, generalizations, and extensions. Maybe other types of edges. You will still need to be clever, but having a way to signify the relationship between topics will help resolve the problem.