Learning Graph Quality Metrics Report¶
Overview¶
- Total Concepts: 269
- Foundational Concepts (no prerequisites, other concepts depend on them): 6
- Terminal Nodes (nothing depends on them, but have prerequisites): 78
- Orphaned Nodes (completely disconnected, no edges): 0
- Concepts with Dependencies: 263
- Average Dependencies per Concept: 1.76
Graph Structure Validation¶
- Valid DAG Structure: ✅ Yes
- Self-Dependencies: None detected ✅
- Cycles Detected: 0
Foundational Concepts¶
These concepts have no prerequisites:
- 1: Environmental Monitoring
- 2: Physical Property
- 39: Atmosphere
- 110: Electromagnetic Spectrum
- 148: Fault
- 181: Single Board Computer
Dependency Chain Analysis¶
- Maximum Dependency Chain Length: 14
Longest Learning Path:¶
- Physical Property (ID: 2)
- Measurement (ID: 3)
- Unit Of Measure (ID: 6)
- Standardization (ID: 21)
- Coordinate System (ID: 165)
- Longitude (ID: 163)
- Prime Meridian (ID: 169)
- Coordinated Universal Time (ID: 177)
- Timestamp (ID: 179)
- Time Series (ID: 218)
- Moving Average (ID: 230)
- Trend (ID: 231)
- Sensor Drift (ID: 235)
- Data Validation (ID: 236)
Terminal Nodes Analysis¶
Terminal nodes are concepts that nothing else depends on but have prerequisites. They represent natural endpoints of learning paths — culminating or specialized concepts.
- Total Terminal Nodes: 78 (29.0% of all concepts)
- Healthy Range: 5-40% of total concepts
Concepts at the end of learning paths:
- 26: Analog To Digital Conversion
- 37: BME280 Sensor
- 38: Sensor Datasheet
- 41: Atmospheric Layer
- 45: Climatologist
- 49: Convection
- 56: Seasonal Variation
- 67: Freezing Point Of Water
- 68: Boiling Point Of Water
- 69: Thermocouple
- 71: Thermistor
- 75: Temperature Conversion
- 86: Pascal Unit
- 87: One Atmosphere
- 93: Hydrostatic Pressure
- 95: Absolute Humidity
- 100: Hair Hygrometer
- 101: Psychrometer
- 103: Chilled Mirror Hygrometer
- 104: Capacitive Humidity Sensor
...and 58 more
Orphaned Nodes Analysis¶
Orphaned nodes are completely disconnected concepts with no inbound AND no outbound edges. These indicate a quality problem — every concept should connect to the graph.
- Total Orphaned Nodes: 0
✅ No orphaned nodes detected. All concepts are connected to the graph.
Connected Components¶
- Number of Connected Components: 1
✅ All concepts are connected in a single graph.
Indegree Analysis¶
Top 10 concepts that are prerequisites for the most other concepts:
| Rank | Concept ID | Concept Label | Indegree |
|---|---|---|---|
| 1 | 3 | Measurement | 16 |
| 2 | 22 | Sensor | 16 |
| 3 | 6 | Unit Of Measure | 11 |
| 4 | 128 | Wind Speed | 11 |
| 5 | 39 | Atmosphere | 10 |
| 6 | 218 | Time Series | 10 |
| 7 | 13 | Measurement Scale | 9 |
| 8 | 57 | Temperature | 8 |
| 9 | 185 | Voltage | 8 |
| 10 | 2 | Physical Property | 7 |
Outdegree Distribution¶
| Dependencies | Number of Concepts |
|---|---|
| 0 | 6 |
| 1 | 75 |
| 2 | 177 |
| 3 | 10 |
| 4 | 1 |
Recommendations¶
- ✅ Terminal node percentage (29.0%): Within healthy range (5-40%)
- ✅ DAG structure verified: Graph supports valid learning progressions
Report generated by learning-graph-reports/analyze_graph.py
Learning Graph Quality Score¶
Score: 89/100 — Good. Ready for chapter generation.
| Criterion | Weight | Earned | Comment |
|---|---|---|---|
| Valid DAG, no cycles, no self-dependencies | 20 | 20 | Verified above |
| Single connected component | 15 | 15 | One component; no isolated clusters |
| No orphaned nodes | 10 | 10 | All 269 concepts have at least one edge |
| Terminal node percentage in range | 10 | 10 | 29.0%, inside the 5–40% healthy band |
| Foundational concepts appropriate | 10 | 8 | Six roots, all genuinely primitive; a graph this wide would tolerate 8–12 |
| Branching rather than linear chains | 15 | 12 | Avg 1.76 prerequisites; 75 concepts (28%) have a single prerequisite, which is slightly chain-heavy |
| Dependency chain depth reasonable | 10 | 9 | Max depth 14 across 269 concepts is healthy for a 19-chapter book |
| Hub concepts are genuinely foundational | 10 | 5 | See finding below |
| Total | 100 | 89 |
Findings¶
Hub analysis is mostly correct but has one anomaly (-5). The highest-indegree concepts — Measurement (16), Sensor (16), Unit Of Measure (11), Atmosphere (10), Time Series (10) — are exactly the concepts a book like this should be built on. The anomaly is Wind Speed at indegree 11, tied for fourth. That is an artifact of the wind cluster being modeled as a hub-and-spoke (every unit, scale, and derived measure hangs directly off Wind Speed) rather than as a layered structure like the pressure and humidity clusters. It is not a correctness problem — the orderings it produces are valid — but the wind chapter will read as a flat list of eleven things rather than a progression. Worth restructuring if the wind chapter feels thin when it is written.
Slightly chain-heavy (-3). 75 concepts have exactly one prerequisite. Most are legitimate specializations (Cup Anemometer → Anemometer, P Wave → Seismic Wave), but they reduce the number of alternative learning paths through the graph.
Root count is on the low side (-2). Six roots for 269 concepts is defensible — each is genuinely primitive and unreachable from the others — but it means most paths pass through Physical Property or Measurement early.
Structural Notes¶
- The seven measurement clusters (TEMP, PRESS, HUMID, SOLAR, WIND, SEIS, GEO) are deliberately cross-linked rather than parallel silos. Dew Point depends on Condensation; Wind depends on Pressure Gradient, which depends on the pressure systems; Diurnal Cycle depends on Solar Radiation; Puy De Dome Experiment depends on Elevation. This encodes the course's primary goal — that measurements drive one another — directly into the graph.
- The IMPACT cluster is intentionally almost entirely terminal. Every concept in it (Building Code, Tsunami Warning, Urban Heat Island, Aviation Safety) sits at the end of a path from a measurement, which is the structure the book's stated primary goal requires.