Learning Graph Quality Metrics Report
Overview
- Total Concepts: 485
- Foundational Concepts (no prerequisites, other concepts depend on them): 1
- Terminal Nodes (nothing depends on them, but have prerequisites): 225
- Orphaned Nodes (completely disconnected, no edges): 0
- Concepts with Dependencies: 484
- Average Dependencies per Concept: 1.89
Graph Structure Validation
- Valid DAG Structure: ✅ Yes
- Self-Dependencies: None detected ✅
- Cycles Detected: 0
Foundational Concepts
These concepts have no prerequisites:
- 1: Computer Program
Dependency Chain Analysis
- Maximum Dependency Chain Length: 15
Longest Learning Path:
- Computer Program (ID: 1)
- Source Code (ID: 2)
- Module Import (ID: 19)
- MicroPython (ID: 31)
- MicroPython Modules (ID: 46)
- machine.Pin Class (ID: 109)
- Pin.OUT Mode (ID: 110)
- Digital Output (ID: 106)
- Pulse-Width Modulation (PWM) (ID: 135)
- PWM Frequency (ID: 136)
- Passive Buzzer (ID: 341)
- Tone Generation (ID: 343)
- Musical Note Frequencies (ID: 344)
- Play a Melody (ID: 346)
- Mario Theme Program (ID: 347)
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: 225 (46.4% of all concepts)
- Healthy Range: 5-40% of total concepts
Concepts at the end of learning paths:
- 11: Tuple
- 13: If-Else Statement
- 18: Return Value
- 21: Indentation in Python
- 22: Comment in Code
- 24: Input Validation
- 28: Comparison Operators
- 29: Logical Operators
- 30: Assignment Operators
- 36: VS Code IDE
- 39: rshell Tool
- 42: Interactive Mode
- 44: Boot.py File
- 45: Main.py File
- 50: sys Module
- 56: ESP8266 Microcontroller
- 60: Raspberry Pi 500 Keyboard
- 61: Micro:bit
- 68: USB Power
- 73: VBUS Pin
...and 205 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 | 46 | MicroPython Modules | 25 |
| 2 | 31 | MicroPython | 24 |
| 3 | 149 | machine.I2C Class | 21 |
| 4 | 153 | SPI Protocol | 21 |
| 5 | 62 | GPIO Pin | 18 |
| 6 | 79 | Voltage | 18 |
| 7 | 80 | Current | 18 |
| 8 | 145 | I2C Protocol | 15 |
| 9 | 106 | Digital Output | 14 |
| 10 | 52 | Raspberry Pi Pico | 13 |
Outdegree Distribution
| Dependencies | Number of Concepts |
|---|---|
| 0 | 1 |
| 1 | 152 |
| 2 | 251 |
| 3 | 68 |
| 4 | 10 |
| 5 | 3 |
Recommendations
- ℹ️ High terminal node percentage (46.4%): Consider if some terminal concepts should be prerequisites for advanced concepts
- ✅ DAG structure verified: Graph supports valid learning progressions
Report generated by learning-graph-reports/analyze_graph.py