One can think of the body of knowledge one can learn as a big tree, or more generally a graph. That is, let each little node represent a piece of ‘knowledge’, an ‘idea’, a ‘meme’, and the connections between them, called edges, represent the connections between different concepts. Loosely speaking, they can represent which ideas are necessary to learn new ones (in a directed graph, with connections having arrows, or directions), and/or can also represent the strength between connections (how deeply one understands the connection).
Now, a hard concept to learn may be one that is a set of many nodes, or one that requires many pre-ideas already learnt. But to learn something complex, most often one has to start with simpler sub-parts. Or else, one has to find the nodes that connect to the highest number of others, and try to learn those first.
So, when a learner is trying to understand a hard concept, she can ask questions. A question is good if it simplifies a larger concept as much as possible, but not more than that. It reproduces all necessary elements of the sub-problem, and makes the thinking about it clearer. It allows the learner to concretely build new edges between sub-ideas, gradually completing the necessary base for understanding the more complex subject. Sometimes a toy-example is already enough.
This system of learning may work only for some types of knowledge, in particular those in which questions can be meaningfully broken down into smaller partitions. It’s no surprise it has been most fruitful in fields like Coding, Computer Science and Mathematics. Digital forums like StackOverflow impose strict guidelines of what is considered a ‘good question’, and have reputation systems built for specifically enforcing those guidelines. Their instruction goes as ‘How to Ask a Question‘.
If not the perfect system to optimize learning speed, this at least helps us clarify the bits of knowledge we possess. And, most importantly, the other (many) parts we don’t.