Difference between revisions of "Concept dependency tracking"

From Learning
Jump to: navigation, search
Line 11: Line 11:
  
 
Several books have a graph near the beginning of the book describing the order in which chapters may be read.
 
Several books have a graph near the beginning of the book describing the order in which chapters may be read.
 +
 +
==Types of dependencies==
 +
 +
There are different "strengths" of dependencies. For example not understanding high school algebra makes it very difficult to understand calculus, so this might be a "hard" dependency. On the other hand, knowing the construction of the real number system helps to make one's understanding of real analysis solid, but is often considered nonessential during a first pass with the subject, so this might be more of a "soft" dependency.
 +
 +
Some subjects have feedback loops, where subject X helps shed light on subject Y, and conversely, subject Y cements one's understanding of subject X. For this kind of dependency, a DAG is insufficient. (see data structures section)
  
 
==Data structures==
 
==Data structures==

Revision as of 01:01, 3 November 2018

Concept dependency tracking (there might be a more standard term) refers to the tracking of conceptual dependencies (e.g. using a dependency DAG) when learning a subject.

When trying to learn a concept, there might be several conceptual dependencies (i.e. other concepts you must learn first before learning the desired concept). The nature and structure of dependencies can be simple or elaborate depending on what one is trying to learn:

  • If one tries to do a "deep dive" into a subject by first picking some advanced concept (e.g. "I want to learn about Godel's incompleteness theorems") there might be multiple specific (propositional logic, first-order logic, computability) and general dependencies ("mathematical sophistication") that have some complicated structure.
  • If one is following a textbook linearly or has already covered the surrounding material, then the marginal concept won't typically have elaborate dependencies.

"Every time you encounter a concept you don’t recognize, you need to go back and learn it first. Pretty soon you’re deep in dependency hell, switching between twenty tabs, trying to juggle all the prerequisites of prerequisites, wondering if any of this will actually help you towards your original goal." [1]

The paper "Retain: Building a Concept Recommendation System that Leverages Spaced Repetition to Improve Retention in Educational Settings" by Shilpa Subrahmanyam also talks about this.

Several books have a graph near the beginning of the book describing the order in which chapters may be read.

Types of dependencies

There are different "strengths" of dependencies. For example not understanding high school algebra makes it very difficult to understand calculus, so this might be a "hard" dependency. On the other hand, knowing the construction of the real number system helps to make one's understanding of real analysis solid, but is often considered nonessential during a first pass with the subject, so this might be more of a "soft" dependency.

Some subjects have feedback loops, where subject X helps shed light on subject Y, and conversely, subject Y cements one's understanding of subject X. For this kind of dependency, a DAG is insufficient. (see data structures section)

Data structures

  • DAGs seem like the natural way to represent dependencies
  • [2] uses a "current list" to track the current concept plus its dependencies.

Related ideas

In software engineering, the idea of dependencies is used frequently, e.g.