背景与目标
传统作业系统只能记录题目和分数,难以解释“为什么推荐这些题”。SmartClass 的目标是把练习流水变成可解释的学情数据,让推荐结果能够回到知识点、正确率和时间衰减三个可验证因素。
16 张表用户、题库、作业、学习与系统数据模型
4 类题型单选、多选、判断、填空自动批改
20+ 页面管理员、教师、学生三级角色
关键做法
01
拉普拉斯平滑
使用 (correct + 1) / (total + 2) 降低小样本波动,避免只做一题就得到极端掌握度。
02
遗忘曲线时间衰减
长期未练习的知识点掌握度按指数衰减,让薄弱度会随时间变化,而不是永久停留在旧结果。
03
薄弱度加权推荐
根据薄弱度和练习量不足因素选 Top-N 知识点,分配题量并输出人类可读的推荐理由。
04
提交即判分与错题回流
客观题提交后自动批改,错误结果进入错题本并参与后续掌握度计算。
系统架构
Vue 3 SPA → Axios / REST → Spring Boot 3
↓
Auth / Admin / Teacher / Student
↓
规则引擎 · Grader · Practice Recorder
↓
MyBatis-Plus → MySQL 8
Java 17Spring Boot 3.2MyBatis-PlusVue 3PiniaElement PlusECharts
结果与验证
- 后端 6 个控制器、70+ REST 接口,统一响应结构与全局异常处理。
- 首次启动可自动灌入 6 学科、62 道题和两周练习流水。
- 推荐过程不依赖外部大模型,结果可回溯到掌握度公式和薄弱度排序。
- 仓库提供可重复执行的建表脚本、演示账号和完整 API 文档。