其他
涉及教育技术、LMS 或在线学习平台开发时:用领域建模…
当用户提到 edtech、lms、e-learning、assessment,或任务涉及教育技术、教育标准、LMS、评估与学习分析时适用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 48/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 56/100 ×0.15
适用场景
涉及教育技术、LMS 或在线学习平台开发通用
解决思路
- 确认任务属于教育技术领域,围绕 LMS、SIS、评估与评价工具、自适应学习平台、虚拟课堂、内容管理进行设计。
- 支持教育标准:SCORM、xAPI(Experience API/Tin Can API)、LTI、QTI、无障碍标准 WCAG 与 Section 508。
- 实现关键功能:课程管理、成绩跟踪、学生分析、内容交付、协作工具、评估引擎。
- LMS 核心实现:定义 EnrollmentStatus 枚举,包含 ACTIVE、COMPLETED、DROPPED、PENDING。
- 定义 Course dataclass,字段包括 course_id、title、description、instructor_id、start_date、end_date、credits、capacity、syllabus_url、prerequisites。
- 定义 Student dataclass,字段包括 student_id、first_name、last_name、email、enrolled_date、grade_level、gpa。
- 定义 Enrollment dataclass,字段包括 enrollment_id、student_id、course_id、enrollment_date、status、final_grade。
- 实现 LMSPlatform,初始化时保存 db。
- 实现 enroll_student(student_id, course_id):获取课程并统计当前注册人数;若 current_enrollment >= course.capacity,抛出 Exception("Course is full")。
- 继续 enroll_student:若课程有 prerequisites,先获取学生已完成课程,若并非所有先修课都在已完成列表中,抛出 Exception("Prerequisites not met")。
- 继续 enroll_student:创建 Enrollment,使用 generate_id()、datetime.now()、EnrollmentStatus.ACTIVE、final_grade=None,并保存到 db。
- 实现 get_student_transcript(student_id):读取学生注册记录,仅处理 EnrollmentStatus.COMPLETED,生成包含 course_code、course_name、credits、grade、term 的成绩单记录;term 通过 get_term(enrollment.enrollment_date) 获取。
- 实现 calculate_gpa(student_id):基于成绩单,对 grade 非空的记录累加 grade * credits 和 credits,返回 total_points / total_credits;若 total_credits 为 0,返回 0.0。
- 评估引擎:定义抽象 Question 类,包含 question_id、text、points 和抽象方法 check_answer(student_answer)。
- 实现 MultipleChoiceQuestion:继承 Question,增加 choices、correct_answer;check_answer 返回 student_answer == correct_answer。
- 实现 Essay Question:继承 Question,增加 rubric;check_answer 返回 None,表示需要人工评分。
- 实现 AssessmentEngine.grade_assessment(assessment, student_answers):遍历 assessment.questions,累计 total_points;对选择题自动判分,答对得 question.points,答错得 0,并生成 feedback;对问答题写入 status='pending_review' 和 answer;最后计算 score_percentage = earned_points / total_points * 100,无总分时为 0。
- 实现 analyze_assessment_statistics(assessment_id, all_submissions):从所有提交的 percentage 计算 mean、median、min、max、std_dev。
- 学习分析:实现 get_student_engagement(student_id, course_id),计算 login_frequency、content_completion_rate、assessment_participation、forum_posts、time_on_platform。
- 实现 predict_student_risk(student_id, course_id):获取参与度和近期成绩;当 login_frequency < 2 加 25 分,content_completion_rate < 0.5 加 25 分,assessment_participation < 0.7 加 25 分,平均成绩 < 60 加 25 分;risk_level 按 >=75 为 high、>=50 为 medium、否则 low;返回 risk_score、risk_level 和干预建议。
- 实现 generate_learning_path(student_id, learning_goals):评估当前技能,识别与学习目标的技能差距,匹配课程与资源,返回 current_level、target_level、skill_gaps、recommended_path、estimated_duration。
- xAPI 集成:实现 xAPIStatement.create_statement(actor, verb, object_data, result=None),构建 statement。
- create_statement 中 actor 为 Agent,包含 objectType='Agent'、name=actor['name']、mbox=f"mailto:{actor['email']}"。
- create_statement 中 verb 包含 id=verb['id']、display={'en-US': verb['display']}。
- create_statement 中 object 包含 id=object_data['id']、definition.name={'en-US': object_data['name']}、definition.description={'en-US': object_data.get('description', '')}。
- create_statement 中 timestamp 使用 datetime.utcnow().isoformat()。
- create_statement 中若传入 result,则设置 statement['result']=result。
- 实现 xAPIStatement.completed_course(student, course, score):使用 verb id http://adlnet.gov/expapi/verbs/completed 创建完成课程 statement;object id 使用 http://lms.example.com/course/{course['id']};result 包含 score.scaled=score/100、score.raw=score、score.min=0、score.max=100、completion=True、success=score>=70。
- 最佳实践:实施无障碍标准 WCAG。
- 最佳实践:支持移动学习。
- 最佳实践:启用离线访问。
- 最佳实践:提供实时反馈。
- 最佳实践:使用自适应学习算法。
- 最佳实践:保护学生数据隐私 FERPA。
- 最佳实践:支持协作学习。
- 最佳实践:提供详细分析。
- 最佳实践:支持多种内容格式。
- 最佳实践:实现抄袭检测。
- 最佳实践:允许家长/监护人访问。
- 最佳实践:支持多语言内容。
- 避免反模式:移动体验差。
- 避免反模式:没有无障碍功能。
- 避免反模式:忽略数据隐私。
- 避免反模式:没有分析或报告。
- 避免反模式:评估工具不灵活。
- 避免反模式:没有离线能力。
- 避免反模式:用户体验差。
- 需要标准资料时查阅 SCORM:https://scorm.com/。
- 需要标准资料时查阅 xAPI:https://xapi.com/。
- 需要标准资料时查阅 LTI:https://www.imsglobal.org/activity/learning-tools-interoperability。
- 需要平台资料时查阅 Moodle:https://moodle.org/。
- 需要平台资料时查阅 Canvas LMS:https://www.instructure.com/canvas。
- 需要合规资料时查阅 FERPA:https://www2.ed.gov/policy/gen/guid/fpco/ferpa/。
适用边界 · 注意事项
- 任务与教育技术、LMS、e-learning、assessment 或教育标准无关时,不要套用本经验。
- 只需要简单课程内容展示,不涉及注册、成绩、评估、分析或标准互操作时,不要引入完整 LMS、分析或风险预测实现。
- 没有学生数据隐私与合规治理能力(如 FERPA)时,不要实现成绩单、学习分析、风险预测等涉及学生数据的敏感功能。