掌桥专利:专业的专利平台
掌桥专利
首页

一种基于 Django 和 LaTeX 的数学试题组卷系统及方法

文献发布时间:2023-06-19 09:24:30


一种基于 Django 和 LaTeX 的数学试题组卷系统及方法

技术领域

本发明涉及一种试题组卷系统及方法,特别涉及一种基于 Django 和 LaTeX 的数学试题组卷系统及方法。

背景技术

Django 是基于Python 开发的一个开放源码的 Web 应用框架,采用 MTV 框架模式,可以快速开发出安全、可维护的网站。LaTeX是一种基于 TeX 开发的排版系统,不仅可以在短时间内生成诸多具有书籍质量的印刷品或排版规范文章,而且在数学公式的生成方面具有显著的优势。

随着大数据技术和人工智能算法的发展与应用,高新技术在教育领域不断深入,并在一定程度上可以有效辅助任课老师的教学,而且个性化教育或自适应教育对学生进行精准辅助,可以有效帮助学生提高成绩。现阶段,随着互联网技术的不断发展,不同领域都呈现一种海量信息的现象,教育领域也不例外,数学作为重要的文化课程之一,不同年级、不同省份或地区的数学题量也逐年递增。

目前,互联网上的数学试题存在大量的重复现象,不仅存在一定比例的劣质试题,而且数学试题的呈现形式非常不规范。如何在短时间内检索到需要的数学试题,并以一种规范的形式进行下载或存储,进而协助任课老师教学,或帮助学生针对性的学习数学知识,目前还没有较为合适的组卷软件实现上述功能。即使目前虽然存在一些数学组卷软件,但是缺少一定规范性,并且其技术实现也较为繁琐。因此,研究开发一种简易高效的组合性信息技术方案,对数学试题进行科学化存储、规范化显示和智能化组卷,对于本领域的发展具有重要意义。

发明内容

本发明的目的在于提供一种简易高效的基于 Django 和 LaTeX 的数学试题组卷系统,解决背景技术中所述的问题。

本发明的另一目的在于提供一种基于 Django 和 LaTeX 的数学试题组卷方法。

本发明解决其技术问题所采用的技术方案是:

一种基于 Django 和 LaTeX 的数学试题组卷系统,包括相互连接的数据中心和输出平台,所述数据中心包括存储模块、管理模块、组卷模块、后台模块和访问接口模块,所述输出平台包括教师端输出模块和学生端输出模块;

所述存储模块用于将接收到的LaTeX格式数据存入内置的MySQL数据库,并根据用户请求访问LaTeX格式数据;

所述管理模块用于连接存储模块并新增、修改、删除或查询存储模块内的数据;

所述组卷模块用于连接存储模块和输出平台,并通过Python脚本程序将存储模块内置的MySQL数据库与LaTeX排版系统环境连接;

所述后台模块用于管理数据管理人员、教师和认证专家的操作权限并管理数学试题;

所述访问接口模块用于向输出平台提供通信接口,并传送LaTeX格式数据;

所述教师端输出模块用于接收教师指定的约束条件并传送到组卷模块,并接收组卷模块生成的数学试题组卷文件;

所述学生端输出模块用于接收学生的注册及登录信息并将学生个人信息传送到数据中心,并接收组卷模块生成的数学试题组卷文件。

作为优选,所述后台模块包括权限管理模块、专家认证模块和试题管理模块,所述权限管理模块用于管理数据管理人员、教师和认证专家的操作权限,所述专家认证模块用于对录入、创建与审核数学试题的专家进行认证管理,所述试题管理模块用于对数学试题进行新增、修改、分类、设定难易度操作。

作为优选,所述访问接口模块包括Web数据接口模块,所述Web数据接口模块用于以Web Service消息协议传送LaTeX格式数据。

一种基于 Django 和 LaTeX 的数学试题组卷方法,该方法具体包括以下步骤:

(1)使用 Django 框架创建一个数学试题组卷项目,搭建MySQL数据库链接,并根据数学试题的形式设计数据库表,数据库表的属性值包括年级、知识点、试题内容、试题等级、试题答案、试题类型和试题解析;

(2)使用LaTeX开发数学试题模板,并与 Python 脚本程序连接,通过Python 脚本程序操作LaTeX格式数据中的任意字段并调动LaTeX命令;

(3)采集或创建不同类型的数学试题,对数学试题进行筛选或再编辑后进行分类并以符合LaTeX的规范格式录入MySQL数据库中;

(4)通过后台模块赋予教师和认证专家的操作权限,使教师和认证专家通过后台模块对数学试题进行新增、修改、分类、设定难易度操作;

(5)教师端输出模块接收教师提供的约束条件,通过组卷模块的Python 脚本程序根据约束条件执行组卷算法筛选MySQL数据库,提取筛选出的数学试题组注入数学试题模板中,同时调动LaTeX命令生成数学试题试卷;

(6)学生端输出模块接收学生的注册及登录信息和练习指令条件,通过Python 脚本程序将符合练习指令的MySQL数据库中数学试题提取注入数学试题模板中,同时调动LaTeX命令生成数学试题试卷。

作为优选,所述步骤(5)中,Python 脚本程序根据约束条件执行组卷算法的执行策略为:当约束条件的属性值为年级、知识点、试题等级和试题类型时,执行基于物品的协同过滤算法筛选MySQL数据库,得到筛选出的单元知识点数学试题组;当约束条件的属性值为年级和试题等级时,执行基于物品的协同过滤算法筛选MySQL数据库,并引入人工干预筛选,得到筛选出的期(中)末数学试题组;当约束条件的属性值为试题类型时,执行基于用户的协同过滤算法筛选MySQL数据库,得到筛选出的中(高)考数学试题组。

作为优选,所述步骤(6)中,练习指令条件包括知识点练习和模拟套题练习。

本发明的有益效果是:

本发明的一种基于 Django 和 LaTeX 的数学试题组卷系统及方法,充分利用 Django框架的优势,结合Python 脚本程序将 Django与LaTeX联接起来,构建了一套合理性、规范性和科学性的数学试题组卷系统,实现对数学试题进行科学化存储、规范化显示、智能化组卷,使数学试题组卷实现过程更加简易,实现效果更加规范,并且本发明不局限于应用于数学试题组卷,也可以处理物理试题、化学试题等类似试题的组卷。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本发明实施例的系统框架图;

图2是本发明实施例的方法流程图;

图3是本发明教师端输出模块工作流程图;

图4是本发明学生端输出模块工作流程图。

图中:1、数据中心,2、输出平台,3、存储模块,4、管理模块,5、组卷模块,6、后台模块,7、访问接口模块,8、教师端输出模块,9、学生端输出模块。

具体实施方式

下面通过具体实施例,并结合附图,对本发明的技术方案作进一步的具体说明。应当理解,本发明的实施并不局限于下面的实施例,对本发明所做的任何形式上的变通和/或改变都将落入本发明保护范围。

在本发明中,若非特指,所有的份、百分比均为重量单位,所采用的设备和原料等均可从市场购得或是本领域常用的。下述实施例中的方法,如无特别说明,均为本领域的常规方法。下述实施例中的部件或设备如无特别说明,均为通用标准件或本领域技术人员知晓的部件,其结构和原理都为本技术人员均可通过技术手册得知或通过常规实验方法获知。

实施例:

如图1所示的一种基于 Django 和 LaTeX 的数学试题组卷系统,包括相互连接的数据中心1和输出平台2,数据中心包括存储模块3、管理模块4、组卷模块5、后台模块6和访问接口模块7,输出平台包括教师端输出模块8和学生端输出模块9。

存储模块用于将接收到的LaTeX格式数据存入内置的MySQL数据库,并根据用户请求访问LaTeX格式数据。

管理模块用于连接存储模块并新增、修改、删除或查询存储模块内的数据。

组卷模块用于连接存储模块和输出平台,并通过Python脚本程序将存储模块内置的MySQL数据库与LaTeX排版系统环境连接。

后台模块用于管理数据管理人员、教师和认证专家的操作权限并管理数学试题。后台模块包括权限管理模块10、专家认证模块11和试题管理模块12,权限管理模块用于管理数据管理人员、教师和认证专家的操作权限,专家认证模块用于对录入、创建与审核数学试题的专家进行认证管理,试题管理模块用于对数学试题进行新增、修改、分类、设定难易度操作。

访问接口模块用于向输出平台提供通信接口,并传送LaTeX格式数据。访问接口模块包括Web数据接口模块13,Web数据接口模块用于以Web Service消息协议传送LaTeX格式数据。

教师端输出模块用于接收教师指定的约束条件并传送到组卷模块,并接收组卷模块生成的数学试题组卷文件。

学生端输出模块用于接收学生的注册及登录信息并将学生个人信息传送到数据中心,并接收组卷模块生成的数学试题组卷文件。

如图2所示的一种基于 Django 和 LaTeX 的数学试题组卷方法,该方法具体包括以下步骤:

(1)部署一台或多台云服务器作为数据中心,云服务器的操作系统为 Linux,在云服务器搭建开发环境,安装 Python编程语言、MySQL 数据库以及 LaTeX 排版系统,并使用Python的pip模块管理器安装Django开发框架以及相关依赖模块django-mathjax、pylatex、pymysql;

(2)使用 Django 框架创建一个数学试题组卷项目,搭建MySQL数据库链接,并根据数学试题的形式设计数据库表,数据库表的属性值包括年级、知识点、试题内容、试题等级、试题答案、试题类型和试题解析;

(3)使用LaTeX开发数学试题模板,并与 Python 脚本程序连接,通过Python 脚本程序操作LaTeX格式数据中的任意字段并调动LaTeX命令;

(4)采集或创建不同类型的数学试题,对数学试题进行筛选或再编辑后进行分类并以符合LaTeX的规范格式录入MySQL数据库中;

(5)通过后台模块赋予教师和认证专家的操作权限,使教师和认证专家通过后台模块对数学试题进行新增、修改、分类、设定难易度操作;

(6)教师端输出模块接收教师提供的约束条件,通过组卷模块的Python 脚本程序根据约束条件执行组卷算法筛选MySQL数据库,提取筛选出的数学试题组注入数学试题模板中,同时调动LaTeX命令生成数学试题试卷;教师端输出模块的工作流程图如图3所示;

(7)学生端输出模块接收学生的注册及登录信息和练习指令条件,通过Python 脚本程序将符合练习指令的MySQL数据库中数学试题提取注入数学试题模板中,同时调动LaTeX命令生成数学试题试卷。学生端输出模块的工作流程图如图4所示。

上述步骤(2)中,选用 Django 框架创建数学试题组卷项目的原因是,相比于其他同类开发框架,Django采用MVC 模式,拥有强大的数据库功能、功能完善且强大的后台功能,以及模板系统设计简约且易拓展。Django 基于 Python 开发,其代码、样式分开设计,使其维护更加容易。在 Django 的项目 settings.py 文件中可以轻松搭建MySQL数据库链接。

上述步骤(6)中, Python 脚本程序根据约束条件执行组卷算法的执行策略为:当约束条件的属性值为年级、知识点、试题等级和试题类型时,执行基于物品的协同过滤算法筛选MySQL数据库,得到筛选出的单元知识点数学试题组;当约束条件的属性值为年级和试题等级时,执行基于物品的协同过滤算法筛选MySQL数据库,并引入人工干预筛选,得到筛选出的期(中)末数学试题组;当约束条件的属性值为试题类型时,执行基于用户的协同过滤算法筛选MySQL数据库,得到筛选出的中(高)考数学试题组。

基于物品的协同过滤算法为现有技术,算法基本步骤为,首先计算试题之间的相似度,建立相似度矩阵;然后根据试题的相似度和用户的历史行为筛选出试题组。

基于用户的协同过滤算法为现有技术,算法基本步骤为,首先找到与用户兴趣相似的用户集合,然后筛选出这个集合中符合用户约束条件并且目标用户未接收过的试题组。

上述步骤(7)中,练习指令条件包括知识点练习和模拟套题练习。

上述步骤(6)中,通过 Python 的 os 模块调动 LaTeX文件进行编译,生成 pdf文件,输出 pdf 的文件链接给教师以及存入数据库表中,教师点击链接进行下载或在线打印。

以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。

相关技术
  • 一种基于Django和LaTeX的数学试题组卷系统及方法
  • 一种稳定表达荧光素酶及人CD20敲除鼠CD20的小鼠B细胞淋巴瘤细胞系构建方法
技术分类

06120112153001