intern first project
实习项目报告:AI 交互式网页数据反馈系统原型(天平测量未知质量)
项目背景与问题定义
- 本项目旨在把课堂中的“知识点交互网页”从演示工具升级为学习数据工具,解决:
- 学生在网页中的关键交互行为未被记录,教师无法判断真实理解程度
仅记录“点击次数”缺乏教学意义,需要更关注误区路径、纠错次数、步骤耗时等(手册强调:学习行为 → 理解判断 → 教学决策) - 本原型选择的具体场景为:利用天平测量未知物体质量实验,通过“砝码 + 游码”的操作过程,采集具有教学意义的过程数据,并在教师端形成可读反馈。
项目目标(对照任务手册)
- 记录学生交互行为:拖拽砝码、使用提示、提交答案、工具误用等
生成结构化学习数据:以会话(session)与轮次(round)组织 JSON 数据 - 教师端可视化反馈:提供总览(均值/极值/标准差)与单次实验明细
形成闭环:学生端完成并正确后自动提交数据 → 教师端刷新查看统计与流程
原型总体设计
- 学生端(交互实验页)
- 核心交互:拖拽砝码到右托盘,使天平平衡;支持游码(0–5g,0.1g 精度)微调
- 实验机制:未知质量随机生成(范围 5–98g,部分轮次带 0.1g 小数)
- 工具规则:砝码需用“镊子”,游码需用“手拿”,并记录工具误用
防遗忘上报:学生提交正确时自动把数据写入教师端数据源(localStorage),同时保留手动“提交给教师”按钮 - 教师端(数据反馈页)
- 总览视图:面向“全体学生/全体轮次”的关键指标统计(均值、标准差、最小、最大)
- 明细视图:按会话(学生)查看每轮指标 + 学生操作流程(砝码加/减序列)
- 数据治理能力:支持删除某条会话数据;支持导入学生导出的 JSON 文件
数据结构与采集内容(结构化 JSON)
- 学生端数据按两层组织:
- 会话级(session):session_id、student_name、started_at、rounds[]、tool_errors[]
- 轮次级(round):unknown_mass、behavior(过程)、understanding(理解判断)
- 采集重点(与手册“行为层 + 理解判断层”一致):
- 行为层:拖拽记录、砝码盘状态变化、纠错、提示使用、步骤耗时
- 理解判断层:首次提交是否正确、总提交次数、典型错误提交路径、完成方式(直接命中/试错/使用提示)
教师端指标定义(本期验收重点)
- 教师端展示 5 类指标(每项提供均值、标准差、最小、最大):
- 学生初次提交成功率:understanding.first_try_correct 的比例
- 学生平均提交次数:understanding.total_attempts 的均值
- 学生错误操作次数:behavior.tool_errors.length 的均值(如手拿砝码、镊子夹未知物体等)
- 学生冗余操作次数:
规则:第一次放置砝码不计冗余;之后每次“拿出再放入同一重量”计 1 次冗余 - 实现思路:检测“移除某重量后下一次再次添加该重量”
学生利用提示次数:behavior.hint_used_count 的均值
同时在单轮明细里展示学生操作流程(例如:添加 20g → 添加 10g → 移除 10g → 添加 5g …),用于快速复盘学生策略与可能的误区。
当前实现结果(可交付物)
- 学生端可运行交互网页:完成砝码拖拽、游码微调、随机未知质量、多轮尝试
- 结构化数据采集:支持导出 JSON;正确后自动“传输”到教师端数据源
- 教师端网页:
总览统计(均值/标准差/极值)
单次实验明细(含操作流程)
支持导入 JSON、删除某条数据
工程化准备:提供 .gitignore 便于推送 GitHub 与 mentor 共享进度
如何运行与验证
- 学生端:打开 balance-experiment/index.html
- 教师端:打开 teacher-dashboard/index.html
- 建议用本地静态服务打开(避免 file:// 环境差异):
cd “d:\Intern\data collection project”npx serve . - 验证流程:
- 学生端输入姓名 → 完成一轮并答对
- 教师端点击“刷新数据” → 查看总览指标与该学生会话明细
- 教师端可删除该会话,或导入学生端导出的 JSON
项目思考
- 项目大量依赖于人类设计,可以把选择看到数据的权力交还给教师,引导教师输入想要看到的数据,后台调用ai修改代码展示数据,否则当项目量变大,人力维护成本极大。