Skip to content

Instantly share code, notes, and snippets.

@jianzhongli
Created January 3, 2016 03:12
Show Gist options
  • Save jianzhongli/7cb8a26c36af7f1e0891 to your computer and use it in GitHub Desktop.
Save jianzhongli/7cb8a26c36af7f1e0891 to your computer and use it in GitHub Desktop.

凌晨四点

你见过凌晨四点的校园吗?

作为 Computer Science 的学生,凌晨四点之前睡都应该感到羞耻。

概述

“凌晨四点”是为移动信息工程学院学子量身定制的线上作业提交系统,也欢迎其他支持作业无纸化的学院使用。

功能介绍

账户系统

账户系统分为三类:管理员账户,教师账户,学生账户,以及助教账户(由老师赋予特殊权限的学生账户)。

教师账户可以:

  • 创建/删除 班级(教学班)

  • 指定助教

  • 批量添加学生(支持从教务系统导入)

  • 新增/删除 作业

  • 给学生作业评分(支持导入或导出 excel, csv 等格式化的成绩单文件)

助教账户可以:

  • 新增/删除 作业

  • 给学生作业评分(支持导入或导出 excel, csv 等格式化的成绩单文件)

学生账户可以:

  • 上传作业(旧版本直接被新版本覆盖,强制根据学号和日期重命名,无须手动)

管理员账户可以:

  • 新增/删除 其他账户(支持从教务系统导入资料)

  • 新增/删除 课程(支持从教务系统导入资料)

所有账户均可以:

  • 在已加入的课程讨论区发帖或回帖

  • 给其他账户发送私信

  • 接收系统通知

  • 修改密码

  • 修改通知邮箱(当有人发私信或通知,发邮件提醒)

其他功能:

  • 显示“本周作业”,列出本周未完成的作业清单(参考各种 todo list 应用)
  1. 作业查重(包括代码、论文等)
  2. 显示“本周作业”,列出本周未完成的作业清单(参考各种 todo list 应用)
  3. DDL 提醒(所有作业均可设置 DDL 与备注以及附件,参考各种 todo list 应用)
  4. 课程公告栏
  5. 助教和老师可以向所有同学广播私信发通知
  6. 课程 project 找队友
  7. 作业提交时间等各种排名(第一个提交作业,代码跑得飞快,击败 99%的同学)
  8. 提供 API,方便支持自动化评分的作业自动评分。(如操作系统的pintos项目)

数据库设计

以下的每个部分都是一张表。

账户

username password number realname type
用户名 密码(MD5 Hash) 学号或职工号 姓名 账户类型

关于账户类型:0-管理员账户,1-教师账户,2-学生账户

课程

course_id name class_id ta
课程号 课程名 教学班号 TA学号

教学班

class_id class_name teacher
教学班号 教学班名 教师职工号

教学班与学生的对应

class_id student
教学班号 学生学号

作业

TA 发布的作业

course_id number title description attach_file post_date ddl
课程号 作业号 标题 作业描述 附件 发布时间 DDL

学生提交的作业

course_id number author post_date attach_file score
课程号 作业号 作者学号 最新一次提交时间 附件 作业分数
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment