Skip to content

bookbut/homework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📚 智能作业检查系统

专为计算机教师设计的电子作业管理神器
自动化收缴 · 精准查重 · 一键整理 · 多班级支持


✨ 核心亮点

痛点问题 系统解决方案
收缴困难 → 需手动核对名单 自动匹配:智能识别学生与文件关联,实时统计提交情况
抄袭泛滥 → 肉眼难辨雷同 精准查重:双重检测(MD5+文本相似度),可自定义阈值(50%-100%)
文件混乱 → 收集后需手工整理 一键迁移:自动按学生归类作业,支持批量归档
多班级管理 → 切换配置繁琐 多班级独立配置:班级间数据隔离,配置一键切换
机房考试抄袭 → 难以实时监控 考场模式:结合座位号名单,快速定位雷同答卷

📸 系统界面

系统主界面
主界面采用左右分栏设计,左侧配置、右侧结果,直观清晰


🚀 主要功能

📁 智能作业检查

  • 双模式适配
    • 文件夹模式:每个学生一个独立文件夹
    • 文件模式:所有作业文件在同一目录下
  • 模糊匹配:支持“学号+姓名”多种命名格式,智能识别学生身份
  • 实时统计:自动生成提交率、抄袭情况等统计信息

🔍 多层次抄袭检测

  1. 快速比对层:MD5哈希比对,秒级识别完全相同的文件
  2. 深度分析层:文本相似度计算(基于difflib算法)
  3. 智能判定层:教师可自定义相似度阈值(50%-100%),灵活应对不同作业类型

🗂️ 班级与文件管理

  • 多班级独立管理:创建、切换、导入/导出班级配置
  • 学生名单灵活配置:支持带座位号的名单,适用于机房考试
  • 文件类型自定义:可添加/删除支持的文件扩展名(.py、.txt、.docx、.pdf等)

⚡ 效率工具集

  • 一键迁移:将散乱作业按名单自动整理到目标文件夹
  • 自动刷新:设定间隔时间,实时监控作业提交动态
  • 快速定位:双击结果项,直接在文件资源管理器中打开对应文件夹

📊 实际效果(来自真实教学案例)

应用班级:雷州职高高三计算机网络大专班(38人)
使用前

  • 作业收缴率 ≈ 65%(约24-25份/次)
  • 抄袭情况:每轮约8-10份明显雷同
  • 教师统计耗时:15-20分钟/次

使用后

  • 作业收缴率 ↑ 95%+(36+份/次)
  • 抄袭情况 ↓ 1-3份/次(系统精准标记)
  • 教师统计耗时 ↓ 1-2分钟/次
  • 延伸应用:成功用于机房考试,快速识别相邻座位抄袭行为

🛠️ 快速开始

环境要求

  • 操作系统:Windows 7+/macOS 10.12+/Linux
  • Python版本:Python 3.7+
  • 依赖包:仅需pypinyin(用于中文排序)

安装步骤

# 1. 克隆仓库
git clone https://github.com/bookbut/homework.git
cd homework

# 2. 安装依赖(可选,系统首次运行会自动提示)
pip install pypinyin

# 3. 运行系统
python homework_check_system.py

首次使用配置

  1. 创建班级:“班级管理” → “新建班级” → 输入班级名称
  2. 导入名单:在“学生名单”框中粘贴学生名单(每行一个)
  3. 设置目录:点击“浏览”选择作业根目录
  4. 开始检查:点击“立即检查”按钮,系统自动分析

📖 使用示例

示例1:日常作业检查

步骤:
1. 选择班级 → 2. 设置模式(文件夹/文件)→ 3. 点击“立即检查”
结果:
- 绿色行:已提交 √
- 红色行:疑似抄袭 ⚠️(显示相似度%及雷同对象)
- 灰色行:未提交 ✗

示例2:设定抄袭阈值

情景:基础练习(容忍借鉴)vs 期末项目(严格独立)
操作:在“相似度阈值”框中调整数值
- 基础练习:设为 90%(相似度≥90%才标记)
- 期末项目:设为 70%(相似度≥70%即标记)

示例3:作业归档

步骤:
1. 完成作业检查 → 2. 点击“作业迁移” → 3. 选择目标文件夹
效果:
目标文件夹/
├── 学生A/
│   └── homework.py
├── 学生B/
│   └── assignment.docx
└── (自动按名单整理)

❓ 常见问题

Q:如何添加新的文件类型?
A:在“系统设置” → “文件扩展名”区域点击“添加”,输入如“.cpp”即可。

Q:相似度阈值设为多少合适?
A:建议:基础作业 85-90%,项目作业 70-80%,考试答卷 95%+。可根据实际情况调整。

Q:学生名单支持哪些格式?
A:支持纯姓名、“学号 姓名”、“座位号-姓名”等多种格式,系统会自动解析。

Q:检查速度如何?
A:38人班级的作业检查(含查重)约需5-10秒,支持后台自动刷新。


📄 文件结构

homework/
├── main.py  # 主程序文件
├── screenshot.jpg            # 系统截图
└── README.md                # 本文件

👨‍🏫 适用场景

  • 计算机编程课程(Python、Java、C++等代码作业)
  • 文档类作业收集(报告、设计文档、PDF等)
  • 机房实训课实时监控提交情况
  • 电子化考试答卷收集与抄袭筛查
  • 多班级/多课程作业统一管理

📞 反馈与支持

  • 问题反馈:欢迎在GitHub Issues中提交问题或建议
  • 功能请求:如有特定教学场景需求,可联系讨论定制
  • 教学交流:本系统由一线计算机教师开发,欢迎同行交流使用经验

📜 许可证

本项目采用 MIT 许可证,教育用途免费使用,保留出处,作者雷州市职业高级中学-林老师。


让技术赋能教学,把时间还给教育
—— 由一线教师为一线教学而设计

About

机房作业管理系统

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages