Skip to content

Learning Graph Quality Metrics Report

Overview

  • Total Concepts: 485
  • Foundational Concepts (no prerequisites, other concepts depend on them): 14
  • Terminal Nodes (nothing depends on them, but have prerequisites): 208
  • Orphaned Nodes (completely disconnected, no edges): 0
  • Concepts with Dependencies: 471
  • Average Dependencies per Concept: 1.81

Graph Structure Validation

  • Valid DAG Structure: ✅ Yes
  • Self-Dependencies: None detected ✅
  • Cycles Detected: 0

Foundational Concepts

These concepts have no prerequisites:

  • 1: Python Programming Language
  • 57: Raspberry Pi Pico
  • 101: NeoPixel LED
  • 141: RGB Color Model
  • 246: Voltage
  • 247: Electrical Current
  • 248: Resistance
  • 256: Breadboard
  • 316: Decomposition
  • 317: Pattern Recognition
  • 318: Abstraction
  • 319: Algorithm Design
  • 390: Git Version Control
  • 411: Project Ideation

Dependency Chain Analysis

  • Maximum Dependency Chain Length: 18

Longest Learning Path:

  1. Python Programming Language (ID: 1)
  2. Variable (ID: 2)
  3. Variable Assignment (ID: 3)
  4. Integer Data Type (ID: 4)
  5. List Data Type (ID: 8)
  6. Tuple Data Type (ID: 9)
  7. RGB Tuple Format (ID: 120)
  8. Color Value Range (ID: 121)
  9. Normalization (0.0 to 1.0) (ID: 452)
  10. Normalized Color Values (ID: 173)
  11. Brightness Scaling Factor (ID: 207)
  12. Fade In and Out (ID: 182)
  13. Pattern Composition (ID: 220)
  14. Multi-Pattern Program (ID: 221)
  15. Pattern Switching Logic (ID: 222)
  16. Mode-Based Animation (ID: 240)
  17. Interactive Mode Controller (ID: 374)
  18. Input Abstraction Layer (ID: 380)

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: 208 (42.9% of all concepts)
  • Healthy Range: 5-40% of total concepts

Concepts at the end of learning paths:

  • 10: None Value
  • 19: Nested Conditionals
  • 23: break Statement
  • 24: continue Statement
  • 25: Loop Counter Variable
  • 27: len() Function
  • 28: int() Function
  • 29: float() Function
  • 33: Function Return Value
  • 36: Local Variable
  • 37: Global Variable
  • 42: String Concatenation
  • 44: List Iteration
  • 45: Tuple Immutability
  • 47: Integer Division
  • 48: SyntaxError
  • 49: NameError
  • 50: IndentationError
  • 51: TypeError
  • 52: IndexError

...and 188 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 4 Integer Data Type 25
2 141 RGB Color Model 19
3 127 Setting Individual Pixels 18
4 246 Voltage 15
5 20 for Loop 14
6 31 Function Definition 14
7 56 MicroPython 13
8 101 NeoPixel LED 13
9 1 Python Programming Language 12
10 3 Variable Assignment 11

Outdegree Distribution

Dependencies Number of Concepts
0 14
1 143
2 278
3 48
4 2

Recommendations

  • ℹ️ High terminal node percentage (42.9%): Consider if some terminal concepts should be prerequisites for advanced concepts
  • DAG structure verified: Graph supports valid learning progressions
  • ℹ️ Long dependency chains (18): Ensure students can follow extended learning paths

Report generated by learning-graph-reports/analyze_graph.py