写给儿子的错题本:第二个学习小工具

Written by

in

听写助手之后,我又给儿子做了第二个学习工具——错题本。如果说听写助手是”输入型”工具(念单词→写单词),那错题本就是”输出型”——把做错的题拍下来、整理好、反复练。

缘起

儿子上初中后,作业量和考试频率明显上来了。数学、物理的错题如果不好好整理,隔几天就忘了当时为什么错。传统的错题本靠手抄——抄题、抄答案、抄思路——一道题下来三五分钟没了,抄完也不一定再看。

作为一个程序员爸爸,我看到的是另一个问题:错题的价值不在抄写,在于回顾。能不能拍个照、标个科目、存起来,想练的时候随机抽几道出来做?能不能自动统计哪些题错得最多,哪些知识点是薄弱环节?

于是,错题本应运而生。前后端分离、支持图片+PDF上传、带计时做题模式和错题统计——一个周末搭好框架,后面陆陆续续打磨了细节。

主要功能

📸 拍照录入,告别手抄

核心痛点的解决方案:拍一张试卷或作业的照片(支持 JPG/PNG/PDF),在图片上框选出每一道错题,系统自动裁剪、归类。一本练习册几十道错题,五分钟搞定。

  • 支持 PDF:直接上传 PDF 试卷,逐页框选题目,自动分割
  • 批量框选:一张图上可以框多道题,一次性保存
  • 科目归类:数学、物理、化学……按科目分开管理
  • 书本+单元:支持二级分类(如”八年级数学上册 → 第三章”),方便按进度复习
  • 答案录入:可以上传答案图片,也可以输入文字答案

⏱️ 限时做题,模拟考试

选几道错题,开启做题模式。页面上方显示计时器,支持暂停/继续,模拟考试的时间压力。做完后进入批改模式——逐题对比自己的作答和正确答案,自己标记对错

为什么是”自己批改”而不是自动判?和听写助手的思路一样:批改本身就是一次深度复习。看着正确答案反思自己为什么错,比系统直接告诉你”答错了”要有用得多。

📊 错题本:统计+回顾

所有做错的题自动汇总到错题本页面,每道题记录:

  • 错误次数 / 正确次数
  • 最近错误日期
  • 所属书本和单元

支持按书本、单元筛选,按”正确次数最少优先”排序——最薄弱的题目排在最前面,专治”钉子户”错题。

还有一个实用功能:一键导出 PDF。把所有错题排版导出成 A4 纸张的 PDF 文件,打印出来带到学校随时翻看。

📋 做题记录,追踪进步

每次做题的记录永久保存:日期、科目、书本、单元、用时、正确/错误题数。点击任意一条记录,可以看到每道题的详细对错情况和当时的答案。

技术栈

和听写助手跑在同一台 2 核 2G 的腾讯云轻量应用服务器上,这次技术选型升级了一下:

技术用途
Vue 3 + Vite前端框架(Composition API)
Element PlusUI 组件库
Pinia状态管理
Node.js + Express后端 API
SequelizeORM(数据库操作)
MariaDB数据存储
Caddy反向代理 + 自动 HTTPS
PM2进程守护
jsPDF + html2canvasPDF 导出
PDF.jsPDF 预览和解析

这次用了 Vue 3 而不是原生 JS,主要原因是错题本的交互比听写助手复杂很多——图片框选裁剪、PDF 逐页预览、多步骤表单——用框架管理状态会干净很多。Element Plus 的组件也省了大量 UI 开发时间。

写在最后

听写助手做的是”输入”——帮儿子把英语单词听写流程自动化。错题本做的是”输出”——帮儿子把做错的题整理、回顾、再练。两个工具配合起来,基本覆盖了他日常学习中最花时间的两个环节。

做这些工具的初衷很简单:用自己会的方式帮儿子。我不会辅导他的数学压轴题,但我可以写个程序让他的错题不再零散地丢在书包里。每次看到他打开错题本,选几道题开始计时练习的时候,就觉得键盘没白敲。

如果你家也有上学的孩子,或者你自己就是学生,欢迎参考这个思路。代码暂不开源(写得比较随性 😅),但技术栈和功能设计都在上面了,给有类似需求的朋友一个参考。

P.S. 域名 correction.sfumes.cloud 可以直接访问体验。

Comments

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

皖ICP备2026020134号-1