Python 是近年倍受推崇的语言,这里介绍的是两个与教学相关的开源项目。一个是用于计算机教室管理的电子教室系统,第二个是与之关联的在线考试系统,当然,这个系统也可以单列出来。这两个项目还只是个雏形,只具有最基本的功能,但对于有兴趣开发这类软件的朋友还是极具参考价值的。
这两个系统都是基于 Qt 5.11.1 开发的,Qt 是一个跨平台的 C++ 图形用户界面应用程序框架。它提供给开发者建立图形用户界面所需的功能,广泛用于开发 GUI 程序,也可用于开发非 GUI 程序。Qt 是完全面向对象的,很容易扩展,并且允许真正地组件编程。值得注意的是,Qt 商业应用要授权,也就是说,商业应用是要收费的。
一、电子教室
项目名称:ScreenSharing FileTransfer in LAN
本项目基于 Qt 5.11.1 (MSVC 2015, 32bit)、Python 3.4.3。
程序包括 Master 端和 Slave 端。Slave 端没有界面,启动后会有一个托盘图标。Master 主界面如下图所示:

该电子教室主要功能有:
1、屏幕演示(延迟 1s 以内):采用的是局域网组播 + 分包传输 + 屏幕差异对比等技术。
2、屏幕监控:可同时监控 4 台学生机。
3、文件传输:这一功能是使用 Python 实现的,主要原理是在局域网内搭建 HTTP 服务器,Slave 端通过下载的方式下载,从而完成传输操作。理论上,速度可以达局域网的最大速度。
4、学生签到
5、在线考试:详见下面的介绍。
二、在线考试系统
项目名称:Native Exam Analyse
本项目基于 Qt 5.11.1 (MSVC 2015, 32 bit)。
使用本项目考试流程如下:
添加题型 → 设置考试时间与班级 → 发送试卷 → 开始考试 → 考试结束 → 保存考试结果
程序包括 Teacher 端和 Slave 端。Slave 端没有界面,启动后会有一个托盘图标,考试时会弹出考试界面:

Teacher 端主界面如下:

该考试系统主要功能有:
1、支持多种题型,包括:选择题、填空题、阅读理解、选词填空等。
2、自动阅卷并分析考试结果,如班级平均分、及格率、各题的正确率等。
3、考试结果可手动保存为 EXCEL 格式,同时会自动保存考试源文件到程序目录"考试记录”文件夹下,而且,源文件可拖拽到程序查看学生的详细考试信息。
4、学生端考试结束后,成绩也会自动保存在程序目录下的"考试记录”文件夹下,同样可拖拽到程序内查看。
5、学生考试期间禁止切换窗口。