《数据结构》客观题自测平台的设计与实现

    冯丽露 赵慧勤

    

    

    摘要:《数据结构》客观题自测平台是为作者所在学校开设的“数据结构”课程而设计开发的。此平台可以有效提升学生对《数据结构》知识点的掌握,减少教师组织测试的次数与精力,提升了学生对“数据结构”课程学习的效率。

    关键词:Java Web;《数据结构》客观题;自主测试

    中图分类号:G434? 文献标识码:A? 论文编号:1674-2117(2021)06-0097-03

    在现代化教育环境下,纯纸质的习题已经落后于时代的需求,而现有的电子习题、试卷又缺乏对本校生的针对性。《数据结构》客观题自测平台,是针对笔者所在学校的具体学情而设计的自测平台,方便學生利用零散时间进行自主测试,有效地提高了学习效果。

    ● 平台开发技术

    《数据结构》客观题自测平台整体采用Java Web的三层架构,它们分别是表示层、业务逻辑层和数据访问层。[1-2]

    表示层,即Html和Servlet层,用于接受用户发出的请求,通过调用业务逻辑层来处理用户发出的请求信息,然后显示处理结果。业务逻辑层,即Service层,采用了面向接口编程的思想,先定义接口,再创建实现类。数据访问层,即Dao层,这一层是直接对数据库进行操作的,用来对数据库进行增、删、改、查操作。如果把Web应用比作一家餐厅,那么Servlet就是服务员,负责接待顾客、上菜;Service就是厨师,负责按照菜单,利用采购员提供的原材料将其进行加工整合,制作出佳肴;Dao就是采购员,负责采购蔬菜,为厨师提供原材料。[3]

    ● 平台需求分析

    本平台是基于笔者所在学校师生的需求而设计的,适用于“数据结构”这门课程的客观题的自测,因此,根据对实际情况的分析与调查,本平台需要具有以下功能。

    1.功能性需求分析

    (1)学生端

    能够满足学生答题以及查阅分数等需求。具体包括:登录功能,实现学生不需要注册,根据学号和初始密码就可以直接登录使用平台;强化练习功能,满足学生能够自主选择知识点和题型进行针对性练习,各个击破;错题记录功能,学生可以查看自己的错题历史记录,方便后期复习,减少手工记录错题的时间;专家试卷功能,要求学生可以完成教师指定的试卷,具有权威性的导向,学生可以了解学科考试的侧重点;模拟试卷功能,要求系统可以自动生成模拟试卷,增加学生测试的灵活性。

    (2)教师端

    能提供题库管理、分析统计和批量导入等功能。题库管理功能,满足教师可以查看、搜索、新增和修改试题;试卷管理功能,支持教师手动组卷,进行试卷的查看;分析统计功能,可以对学生的做题情况进行统计,方便教师的教学安排;批量导入功能,方便教师实现学生信息的批量录入以及相关《数据结构》客观题的录入。

    (3)超级管理员端

    超级管理员除了拥有教师的所有功能外,还包括功能管理,能够对功能进行增、删、改、查操作;角色管理功能,要求对平台中所有用户角色进行查找、新增、修改和权限设置。

    2.非功能性需求分析

    除了上述提到的功能性需求之外,该平台还需满足以下非功能性需求:界面简洁、美观,符合大众的审美;数据安全性高,不会导致数据的异常丢失;易于扩展,无论学生还是教师的需求都可能会增加,在设计之初要考虑好平台在后期的扩展性;易用性,尽量设计统一的界面,可以实现多个功能,操作简便灵活易上手,以便于提高用户使用的效率和易用性能。

    ● 《数据结构》客观题自测平台的设计

    本平台的设计从总体框架、基本功能、数据库三方面来设计。总体框架设计是对平台整体功能的逻辑规划;基本功能设计是对详细功能的设计;数据库设计根据所需数据表建立。

    1.平台总体框架

    平台的总体功能模块图如图1所示。

    2.基本功能设计

    除了基本的用户登录功能,本文主要介绍该平台的几项核心功能:强化练习、自动组卷、错题记录、题库管理、数据分析。

    (1)强化练习。使学生有针对性地自我检测,学生根据教学的进度或者自己的薄弱知识点及时进行检测,平台对知识点和题型进行分类,为学生提供更加精准的选择。

    (2)自动组卷。作为面向学生的自主测试平台,应该具有随机自动组题的功能,否则将无法提高平台的使用性能。学生在选择模拟试卷后启动自动组卷功能,根据已经设置好的试题数量,从数据库中随机抽取试题组成模拟试卷。

    (3)错题记录。可以为学生实时记录做错的试题,学生可以查看自己的详细错题、错题数量、得分情况等。此功能省去了学生自己手动记录的时间,方便随时回看错误点,提高了学习效率。

    (4)题库管理。此功能属于后台管理,教师可以对试题进行查找、修改与新增。同时,为了方便教师手动组题和查看试题并对试题进行编辑,设计了可以按知识点或题型进行试题管理。

    (5)数据分析。教师可以通过统计数据,直观地看到每个知识点学生的错题数量、比例,以便及时调整教学进度、教学内容,针对学生不熟悉的知识点做进一步的讲解,从而提高整体的教学质量。

    3.平台数据库设计

    本平台设计有用户数据库、角色数据库、权限数据库、试题库数据库、功能管理数据库、试卷数据库等。[4]用户数据库用于支持用户登录功能和后台信息管理;角色数据库用于分配、管理用户角色;权限数据库用于为不同用户角色分配不同的访问权限;试题库数据库用于试题管理,支持自动组卷;功能管理数据库用于支持系统后台管理和平台功能设定、维护等;试卷数据库用于记录和维护已创建的试卷,并提供数据统计信息。

    ●《数据结构》客观题自测平台的实现

    本文只介绍《数据结构》客观题自测平台中的部分核心功能,包括:强化练习、自动组卷、错题记录、题库管理、数据分析。

    1.强化练习

    强化练习即章节测试,包含题库的所有试题和类型。学生可以根据目前所学内容进行针对性的训练,不仅可以选择知识点,还可以选择题型。此模块有助于学生进行“对症下药”,对自己的薄弱处进行“一对一”训练。

    2.自动组卷

    学生选择模拟试卷启动自动组卷功能,根据学生的选择调用不同的接口,从數据库中查询相对应的试题,以列表的形式返回保存到域中。JSP从域中取数据,通过循环操作,根据试题的类型在答题页面进行分类显示,呈现出学生答题页面。

    3.错题记录

    学生点击错题记录列表,可以查看自己以往的错题记录。根据学生的ID从学生做题列表查询学生做错的题目和试卷名称,分组返回错题列表,查看试卷详情。

    4.题库管理

    题库列表包括知识点类型、题型、题干、选项、正确答案、解析以及可用状态,支持将陈旧的题目和怪僻的题目状态改为不可用。此外,还提供了可以对题库按照知识点和题型进行分类的功能,教师可以根据需求只查看一部分题目,增加了题库管理的灵活性和可用性,题库管理关键代码如图2所示。

    5.数据分析

    数据分析功能可以让教师了解学生对哪一部分知识点掌握得不好,并参考作为教学重、难点内容。利用学生做题情况表,查找所有的试题ID,以列表的形式储存,根据获得的试题ID在试题表中查找对应的知识内容。利用Stream的Collector方法,得到以知识点内容为Key、以知识点内容的数量为value的Map,循环遍历整个Map。

    ● 结束语

    “数据结构”作为计算机及相关专业的专业基础课程,对学生深入理解、掌握编程技术至关重要。对数据结构知识的掌握及灵活应用,必经的学习途径之一就是习题练习。《数据结构》客观题自测平台不但减轻了教师反复出题、手工批阅的负担,而且方便了学生随时根据个人情况加强练习,有效地提高了学生利用碎片化学习时间的效率,同时为同类型课程的教学改革提供了一定的技术借鉴。

    参考文献:

    [1]郭立文.基于Web的考试系统设计与实现[D].西安:陕西科技大学,2006.

    [2]冯丽露,高晓晶,康耀龙.大数据分析下大学生行为记录和分析系统的设计与实现[J].中国教育信息化,2019(09):73-76.

    [3]贺玲玲.基于Php MySQL的在线考试系统设计的开发与实现[D].长沙:湖南大学,2012:10-11.

    [4]康耀龙,冯丽露,张景安.路况大数据分析平台的设计与实现[J].电子技术与软件工程,2020(06):200-201.

    第一作者简介:冯丽露(1980.9—),女,汉族,山西省大同市人,讲师,硕士研究生,研究方向为计算机教育应用、数字化学习资源建设。

    基金项目:山西大同大学教学改革创新项目“新工科建设下数媒专业‘数据结构课程PBL教学模式的研究”阶段性成果(项目编号:XJG2019202);山西省教育科学“十三五”规划课题“基于互动体验的博物馆学习活动设计及其应用研究”(项目编号:GH-18043);大同市科技局平台基地计划项目“大同市北魏平城文化数字化传承创新服务平台”(项目编号:2018185)。