Skip to content

FFT Benchmarking Learning Graph

Overview

This directory contains a complete learning graph for the FFT Benchmarking course, generated using the Learning Graph Generator methodology. The graph represents 200 interconnected concepts organized into a pedagogically sound structure.

Generated Files

Core Outputs

  1. course-concepts-v1.md - List of 200 concept labels
  2. Organized by taxonomy category
  3. Title Case format (max 32 characters)
  4. Covers mathematical foundations through practical implementation

  5. concept-dependencies.csv - Dependency graph in CSV format

  6. Columns: ConceptID, ConceptLabel, Dependencies, TaxonomyID
  7. Dependencies use pipe-delimited format (e.g., "1|4|5")
  8. Valid DAG structure (no cycles)
  9. Ready for import into spreadsheet tools

  10. learning-graph.json - JSON format for visualization tools

  11. Nodes: 200 concepts with ID, label, and taxonomy
  12. Links: 229 directed edges representing prerequisites
  13. Metadata: Course title, description, taxonomy definitions
  14. Compatible with D3.js, vis.js, and other graph visualization libraries

Analysis & Documentation

  1. quality-assessment.md - Course content depth analysis
  2. Validates course has sufficient depth for 200 concepts
  3. Compares against similar courses
  4. Identifies content gaps and strengths

  5. quality-metrics.md - Graph structure validation

  6. ✓ DAG validation (no cycles detected)
  7. Foundational concepts: 10 entry points
  8. Indegree distribution analysis
  9. Longest dependency chains: 7 levels
  10. Connectivity: 94% in main component

  11. concept-taxonomy.md - Category organization

  12. 9 balanced categories (3.5% - 15% each)
  13. All categories under 30% threshold ✓
  14. Pedagogical flow recommendations
  15. Clear 3-5 letter abbreviations

  16. taxonomy-distribution.md - Statistical breakdown

  17. Detailed concept listing by category
  18. Visual distribution table
  19. Balance verification

Taxonomy Categories

Code Name Concepts %
MATH Mathematical Foundations 20 10.0%
FFT FFT Algorithm & Implementation 25 12.5%
SIG Signal Processing 25 12.5%
ARM ARM Architecture & DSP Hardware 30 15.0%
MEM Memory Management & Optimization 25 12.5%
FXP Fixed-Point Arithmetic 18 9.0%
BENCH Benchmarking & Testing 30 15.0%
LIB FFT Libraries & Integration 20 10.0%
OPT Optimization Techniques 7 3.5%

Quality Metrics Summary

DAG Structure: Valid - no cycles ✓ Balanced Distribution: All categories < 30% ✓ Foundational Base: 10 entry-point concepts ✓ Manageable Complexity: Avg 1.15 dependencies per concept ✓ Clear Progression: Max chain length of 7 levels ✓ High Connectivity: 94% in main component

Usage

For Course Development

  1. Use concept-dependencies.csv to plan weekly modules
  2. Follow dependency chains to order lessons
  3. Start with foundational concepts (zero dependencies)
  4. Build assessments based on taxonomy categories

For Visualization

  1. Load learning-graph.json into visualization tools:
  2. D3.js force-directed graph
  3. vis.js network diagram
  4. Graphviz DOT format
  5. Neo4j graph database

For Analysis

  1. Run analyze-graph.py to validate structure
  2. Run taxonomy-distribution.py for category stats
  3. Run convert-to-json.py to regenerate JSON

Python Utilities

Three Python scripts are provided in the repository root:

1
2
3
4
5
6
7
8
# Validate graph structure
python3 analyze-graph.py

# Generate taxonomy distribution report
python3 taxonomy-distribution.py > docs/taxonomy-distribution.md

# Convert CSV to JSON
python3 convert-to-json.py

Pedagogical Recommendations

10-Week Course Structure

Weeks 1-2: MATH foundations (20 concepts) Weeks 3-4: FFT + SIG (50 concepts) Weeks 5-6: ARM + MEM (55 concepts) Week 7: FXP + BENCH part 1 (33 concepts) Week 8: BENCH part 2 + LIB (27 concepts) Weeks 9-10: OPT + Capstone project (15 concepts)

Learning Paths

Mathematics-First Path: MATH → FFT → SIG → BENCH Hardware-First Path: ARM → MEM → FXP → BENCH Practical-First Path: LIB → SIG → BENCH → FFT

Visualization Ideas

  1. Interactive Network Graph
  2. Color-code by taxonomy
  3. Show dependencies on hover
  4. Filter by category
  5. Highlight learning paths

  6. Dependency Matrix

  7. Heatmap showing concept relationships
  8. Identify prerequisite clusters
  9. Spot isolated concepts

  10. Learning Path Timeline

  11. Linear visualization by dependency level
  12. Show parallel learning opportunities
  13. Estimate time per concept

  14. Category Distribution Sunburst

  15. Hierarchical view
  16. Show proportions visually
  17. Drill down into categories

Next Steps

  1. ✓ Generate learning graph (complete)
  2. ☐ Create interactive visualization
  3. ☐ Develop detailed lesson plans per concept
  4. ☐ Design assessments aligned with Bloom's taxonomy
  5. ☐ Build capstone project integrating concepts
  6. ☐ Create MkDocs pages for each concept

References

  • Learning Graph Generator: https://github.com/dmccreary/learning-graphs/tree/main/skills/learning-graph-generator
  • Graph Visualization: D3.js, vis.js, Cytoscape.js
  • Bloom's Taxonomy: Knowledge → Comprehension → Application → Analysis → Synthesis → Evaluation

License

Same as parent repository: Creative Commons ShareAlike Attribution Noncommercial