高等數學學情資料分析Skill

👤 daigxok 📦 v1.0.0 ⭐ 4.1 ⬇️ 716 下載
📊 資料分析 免費

📖 技能介紹

calculus-learning-analytics - 高等數學學情資料分析Skill

概述

基於作業批改資料的學情分析系統,構建學生能力畫像、班級整體表現看板、教學建議引擎。實現從資料收集到教學決策的完整閉環。

核心功能

1. 多維度資料看板

  • 班級概覽: 提交率、平均分、知識點掌握熱力圖
  • 學生畫像: 個人能力雷達圖、進步趨勢、薄弱點分析
  • 教學洞察: 錯誤模式聚類、教學效果評估、資源使用分析

2. 智慧分析引擎

  • 能力維度建模: 概念理解、計算能力、邏輯推理三大維度
  • 知識點關聯分析: 發現知識點之間的依賴關係
  • 預測模型: 預測學生未來表現和風險預警
  • 個性化推薦: 基於薄弱點的針對性練習推薦

3. 教學決策支援

  • 課堂重點建議: 基於錯誤集中度推薦講解重點
  • 分層教學方案: 為不同水平學生設計教學策略
  • 資源最佳化分配: 智慧推薦教學資源和輔導時間

工具定義

generate_class_dashboard

生成班級學情資料看板

引數: - class_id (string): 班級ID - time_range (string): 時間範圍,"week"、"month"、"semester" - include_metrics (array): 包含的指標列表 - visualization_type (string): 視覺化型別,"summary"、"detailed"、"export"

返回

{
  "dashboard_id": "db_20260416_001",
  "class_info": {
    "class_id": "math2024-01",
    "student_count": 45,
    "time_range": "2026-04-01 至 2026-04-15"
  },
  "overview_metrics": {
    "submission_rate": 92.3,
    "average_score": 78.5,
    "completion_rate": 85.7,
    "improvement_rate": 12.3
  },
  "knowledge_heatmap": [
    {
      "topic": "導數計算",
      "mastery_rate": 88.2,
      "common_errors": ["鏈式法則", "隱函式求導"]
    },
    {
      "topic": "定積分應用",
      "mastery_rate": 72.5,
      "common_errors": ["積分上下限", "面積計算"]
    }
  ],
  "ability_radar": {
    "concept_understanding": 75.3,
    "computation_ability": 82.1,
    "logical_reasoning": 68.7,
    "problem_solving": 71.2,
    "mathematical_modeling": 65.4
  },
  "visualizations": {
    "heatmap_url": "https://example.com/heatmap.png",
    "radar_chart_url": "https://example.com/radar.png",
    "trend_chart_url": "https://example.com/trend.png"
  }
}

analyze_student_profile

深度分析學生個人學習畫像

引數: - student_id (string): 學生ID - analysis_depth (string): 分析深度,"basic"、"standard"、"deep" - include_comparison (boolean): 是否包含班級對比 - generate_recommendations (boolean): 是否生成學習建議

返回

{
  "student_id": "stu001",
  "basic_info": {
    "name": "張三",
    "class": "math2024-01",
    "total_assignments": 24,
    "average_score": 81.5
  },
  "learning_trend": {
    "score_trend": [75, 78, 82, 85, 81, 83, 86],
    "submission_trend": [1, 1, 1, 1, 0, 1, 1],  # 1=提交,0=未提交
    "time_spent_trend": [45, 50, 48, 52, 0, 55, 53]  # 分鐘
  },
  "knowledge_mastery": {
    "strong_topics": [
      {"topic": "導數計算", "mastery": 92, "rank": "top10%"},
      {"topic": "函式極限", "mastery": 88, "rank": "top20%"}
    ],
    "weak_topics": [
      {"topic": "微分中值定理", "mastery": 62, "rank": "bottom30%"},
      {"topic": "泰勒公式", "mastery": 58, "rank": "bottom25%"}
    ],
    "improving_topics": [
      {"topic": "不定積分", "from": 65, "to": 78, "improvement": 13}
    ]
  },
  "error_patterns": {
    "most_common": "計算粗心錯誤",
    "frequency": 8,
    "contexts": ["積分計算", "導數運算"],
    "time_pattern": "作業後半段出現較多"
  },
  "personalized_recommendations": {
    "immediate": [
      "重點複習微分中值定理的應用場景",
      "完成泰勒公式專項練習5題"
    ],
    "short_term": [
      "每週增加30分鐘證明題練習",
      "建立錯題本,記錄計算粗心錯誤"
    ],
    "long_term": [
      "參加數學建模興趣小組",
      "閱讀《微積分的歷程》拓展視野"
    ]
  },
  "comparison_with_class": {
    "score_percentile": 75.3,
    "submission_rank": "前30%",
    "improvement_rank": "前20%"
  }
}

generate_teaching_recommendations

生成教學建議和課堂最佳化方案

引數: - class_id (string): 班級ID - focus_topics (array): 重點關注知識點 - time_constraint (number): 課堂時間約束(分鐘) - teaching_style (string): 教學風格,"traditional"、"interactive"、"flipped"

返回

{
  "recommendation_id": "rec_001",
  "class_analysis": {
    "overall_level": "中等偏上",
    "main_challenges": ["抽象概念理解", "證明題邏輯"],
    "learning_characteristics": "計算能力強,邏輯推理需加強"
  },
  "next_class_focus": {
    "primary_topic": "微分中值定理應用",
    "time_allocation": {
      "concept_explanation": 20,
      "example_demonstration": 15,
      "student_practice": 25,
      "qna_discussion": 10
    },
    "key_points": [
      "羅爾定理與拉格朗日定理的聯絡",
      "中值定理的幾何解釋",
      "典型應用場景分析"
    ]
  },
  "differentiated_instruction": {
    "advanced_students": [
      "挑戰題:中值定理的推廣形式",
      "閱讀材料:《微積分發展史》相關章節"
    ],
    "average_students": [
      "鞏固練習:標準題型訓練",
      "小組討論:定理應用例項"
    ],
    "struggling_students": [
      "基礎回顧:定理條件理解",
      "一對一輔導:具體問題解答"
    ]
  },
  "resource_recommendations": {
    "videos": [
      {
        "title": "微分中值定理直觀解釋",
        "url": "https://example.com/video1",
        "duration": 8,
        "suitable_for": "all"
      }
    ],
    "interactive_tools": [
      {
        "name": "GeoGebra中值定理演示",
        "url": "https://geogebra.org/...",
        "activity": "拖動觀察定理條件變化"
      }
    ],
    "practice_sets": [
      {
        "name": "中值定理基礎練習",
        "difficulty": "基礎",
        "count": 6,
        "estimated_time": 30
      }
    ]
  },
  "assessment_suggestions": {
    "formative": [
      "課堂小測:定理條件判斷",
      "小組展示:應用例項分享"
    ],
    "summative": [
      "單元測試:包含證明和應用題",
      "專案作業:實際問題建模"
    ]
  }
}

小蔥技能站7w4.net發現了升級外掛。

使用示例

示例1:生成班級資料看板

# 生成月度班級學情看板
openclaw skill calculus-learning-analytics generate_class_dashboard \
  --class-id "math2024-01" \
  --time-range "month" \
  --include-metrics "['submission_rate','average_score','knowledge_mastery']" \
  --visualization-type "detailed"

示例2:深度分析學生畫像

# 深度分析學生學習情況
openclaw skill calculus-learning-analytics analyze_student_profile \
  --student-id "stu001" \
  --analysis-depth "deep" \
  --include-comparison true \
  --generate-recommendations true

示例3:生成教學建議

# 為下週課堂生成教學方案
openclaw skill calculus-learning-analytics generate_teaching_recommendations \
  --class-id "math2024-01" \
  --focus-topics "['微分中值定理','泰勒公式']" \
  --time-constraint 90 \
  --teaching-style "interactive"

資料分析模型

能力維度建模

class AbilityModel:
    """學生能力多維度建模"""

    def __init__(self):
        self.dimensions = {
            'concept_understanding': {
                'indicators': ['定義記憶', '定理理解', '概念應用'],
                'weight': 0.3
            },
            'computation_ability': {
                'indicators': ['計算速度', '計算準確率', '複雜計算'],
                'weight': 0.25
            },
            'logical_reasoning': {
                'indicators': ['證明邏輯', '問題分析', '推理能力'],
                'weight': 0.25
            },
            'problem_solving': {
                'indicators': ['策略選擇', '方法創新', '結果驗證'],
                'weight': 0.2
            }
        }

    def calculate_ability_scores(self, student_data):
        """計算各維度能力分數"""
        scores = {}

        for dim_name, dim_config in self.dimensions.items():
            dimension_score = 0
            total_weight = 0

            for indicator in dim_config['indicators']:
                # 從學生資料中提取指標分數
                indicator_score = self.extract_indicator_score(
                    student_data, dim_name, indicator
                )
                dimension_score += indicator_score
                total_weight += 1

            scores[dim_name] = dimension_score / total_weight

        return scores

知識點關聯分析

class KnowledgeGraphAnalyzer:
    """知識點關聯關係分析"""

    def __init__(self):
        self.graph = KnowledgeGraph()

    def analyze_prerequisites(self, weak_topic):
        """分析薄弱知識點的前置依賴"""
        prerequisites = self.graph.get_prerequisites(weak_topic)

        # 檢查學生是否掌握前置知識點
        missing_prereqs = []
        for prereq in prerequisites:
            if not self.check_mastery(prereq):
                missing_prereqs.append({
                    'topic': prereq,
                    'mastery_level': self.get_mastery_level(prereq),
                    'recommendation': f'先複習{prereq}'
                })

        return missing_prereqs

    def find_related_errors(self, error_type):
        """發現關聯錯誤模式"""
        related_errors = []

        # 基於知識圖譜查詢關聯錯誤
        for topic in self.graph.get_related_topics(error_type):
            similar_errors = self.find_similar_errors(topic, error_type)
            if similar_errors:
                related_errors.append({
                    'topic': topic,
                    'error_count': len(similar_errors),
                    'common_pattern': self.extract_pattern(similar_errors)
                })

        return related_errors

預測模型

class PerformancePredictor:
    """學生表現預測模型"""

    def __init__(self):
        self.model = self.load_prediction_model()

    def predict_future_score(self, student_history, upcoming_topic):
        """預測學生在未來知識點上的表現"""
        # 特徵工程
        features = self.extract_features(student_history)

        # 新增知識點特徵
        topic_features = self.get_topic_features(upcoming_topic)
        features.update(topic_features)

        # 模型預測
        predicted_score = self.model.predict(features)
        confidence = self.model.predict_proba(features)

        return {
            'predicted_score': predicted_score,
            'confidence': confidence,
            'key_factors': self.explain_prediction(features)
        }

    def identify_at_risk_students(self, class_data, threshold=60):
        """識別風險學生"""
        at_risk = []

        for student in class_data:
            # 預測未來表現
            prediction = self.predict_future_score(
                student['history'], 
                student['next_topic']
            )

            if prediction['predicted_score'] < threshold:
                at_risk.append({
                    'student_id': student['id'],
                    'predicted_score': prediction['predicted_score'],
                    'risk_factors': prediction['key_factors'],
                    'intervention_suggested': self.suggest_intervention(student)
                })

        return at_risk

與現有Skill整合

整合calculus-error-analyzer

# 獲取深度錯誤分析
from calculus_error_analyzer import get_error_insights

error_insights = get_error_insights(
    class_id="math2024-01",
    time_range="month",
    analysis_depth="deep"
)

# 整合到學情報告
dashboard_data['error_analysis'] = error_insights

呼叫question-type-generator

# 基於薄弱點生成練習
from question_type_generator import generate_targeted_practice

practice_set = generate_targeted_practice(
    weak_topics=student_profile['weak_topics'],
    difficulty="adaptive",
    count=10
)

資料視覺化

熱力圖生成

def generate_knowledge_heatmap(self, class_data):
    """生成知識點掌握熱力圖"""
    heatmap_data = []

    for topic in self.knowledge_topics:
        # 計算班級平均掌握率
        mastery_rates = [
            student['knowledge_mastery'].get(topic, 0)
            for student in class_data
        ]
        avg_mastery = sum(mastery_rates) / len(mastery_rates)

        # 識別常見錯誤
        common_errors = self.identify_common_errors(topic, class_data)

        heatmap_data.append({
            'topic': topic,
            'mastery_rate': avg_mastery,
            'common_errors': common_errors,
            'color_intensity': self.calculate_color(avg_mastery)
        })

    return heatmap_data

雷達圖生成

def generate_ability_radar(self, student_scores, class_average):
    """生成能力維度雷達圖"""
    radar_data = {
        'dimensions': list(student_scores.keys()),
        'student_scores': list(student_scores.values()),
        'class_average': list(class_average.values()),
        'max_score': 100
    }

    # 計算相對優勢
    relative_strengths = []
    for dim in student_scores:
        relative = student_scores[dim] - class_average[dim]
        relative_strengths.append({
            'dimension': dim,
            'difference': relative,
            'strength': '優勢' if relative > 5 else '劣勢' if relative < -5 else '平均'
        })

    radar_data['relative_analysis'] = relative_strengths
    return radar_data

配置說明

分析引數配置

analytics_settings:
  scoring_weights:
    concept_understanding: 0.30
    computation_ability: 0.25
    logical_reasoning: 0.25
    problem_solving: 0.20

  prediction_settings:
    model: "xgboost"
    features: ["historical_scores", "submission_pattern", "error_types"]
    horizon: 7  # 預測未來7天

  visualization:
    color_scheme: "viridis"
    chart_types: ["heatmap", "radar", "line", "bar"]
    export_formats: ["png", "pdf", "html"]

告警閾值配置

alert_thresholds:
  performance:
    at_risk: 60      # 低於60分預警
    significant_drop: 15  # 分數下降15分以上

  engagement:
    missing_submissions: 3  # 連續3次未提交
    late_submissions: 5     # 5次以上遲交

  progress:
    stagnation: 7    # 7天無進步
    regression: 10   # 退步10分以上

效能最佳化

資料快取策略

```python class AnalyticsCache: """學情資料快取管理"""

def __init__(self):
    self.cache_ttl = {
        'dashboard': 300,      # 5分鐘
        'student_profile': 600, # 10分鐘
        'predictions': 1800,    # 30分鐘
        'recommendations': 3600 # 1小時
    }

async def get_cached_analysis(self, cache_key, analysis_type):
    """獲取快取的分析結果"""
    ttl = self.cache_ttl.get(analysis_type, 300)

🤖 AI 評測

這個 Skill 質量中等偏上。優點是文件寫得很詳細,中文說明清晰易懂,工具功能劃分合理(看板、分析、建議),示例豐富,容易上手。不足是隻有使用說明,沒有實際的程式程式碼可用;很多功能依賴外部模型,但沒說怎麼獲取;如果想真正用起來,還需要自己補充不少東西。文件完整性不錯,但實用性還需要加強。

📊 多維度評分

適應性3.7
規範性4
有效性4.4
可靠性3.7
可信度5

📁 包含檔案 (2 個)

📄 SKILL.md 15.3 KB
📄 _meta.json 146 B