APP下载

辅助学习APP的设计与实现

2021-09-10邱红丽张舒雅

客联 2021年6期

邱红丽 张舒雅

摘 要:随着信息技术的普及,教育行业也逐渐走向了智能化、科技化。所以,在高校也出现了越来越多的新技术来辅助传统的课堂教学,这其中,尤其以APP居多。本文介绍了基于Python的Django框架的辅助学习APP系统的设计与实现,该系统界面简单、去繁就简,满足学生常用的一些基本功能,具有更好的合理性和实用性。

关键词:Python;排考场;APP

一、引言

随着科技水平的提高,智能手机已经广泛应用到了生活的方方面面,当然,这对教育行业的影响也非同小可。在高校众多的辅助教学的新技术中,少不了APP的身影,学生可以使用手机利用碎片化的时间,随时随地学习。所以,近年来,用手机APP来辅助传统教学的案例也越来越多。在高校APP市场中,由大型教育机构研发的如云端课堂、网易云课堂、中国大学MOOC、学习通等,得到了广泛的应用。

本系统是在其他辅助教学技术的基础上,主要针对学生在平时学习中出现的常见问题而开发的。

二、需求分析

本项目以我校学生作为研究对象,针对学生在平时学习中出现的常见问题而开发的。并且最终将学习成果计入课程平时成绩的一部分。要解决的问题如下:

(一)章节测试及综合测试

学生根据课程进度,选择章节进行练习,题目根据难易程度随机抽取,主要考察学生的理论知识的掌握程度。如果学生答错,会有答案提示和试题解析。测试完成后,会自动批改本次成绩,并提示是否计入本次成绩,不过系统只计入学生的最高成绩。最后会显示所有参与本章节测试的成绩分布图。章节测试题目少,综合测试试题题目相对较多。

(二)加入收藏夹或错题库

在测试过程中,学生可以把试题加入收藏夹或错题库,方便以后查看。学生也可以删除收藏夹或错题库里面的试题,也可以查看试题的详细信息,包含答案、解析、难易程度等。

(三)查看资源

主要是解决学生放学之后能够方便学习的问题,提供的资源包含了与课程相关的ppt、教案、素材、作业、其他5个部分的内容,学生可以查看或者下载相关的资源。

(四)招聘信息

招聘信息的提供主要包括两类:网络招聘信息和线下招聘信息,这些招聘信息由教师提供,并且不定时更新。临近毕业的学生可以查看一些招聘信息,没有毕业的学生可以通过查看,了解公司都需要什么样的人才。

(五)我的

这个界面主要包含了学生的一些主要信息、退出系统的功能。

(六)统计功能

学生测试完后,可以通过图表看到所有学生的成绩分布,以及自己的成绩所处的分数段。

三、系统设计与实现

(一)开发工具及语言

开发平台:PyCharm、HbuliderX

PyCharm是一种Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制。

HBuilderX是DCloud(数字天堂)全新推出的一款支持HTML5的Web开发工具,是一款编辑器和IDE的完美结合,体积小巧,启动秒开,包含了优秀的字处理能力。

后台开发语言:Python

Python是目前“最受欢迎的编码语言”之一,它采用极简主义设计思想,语法简单优雅,学习简单、上手快!Django框架是Python有三大主流Web框架之一,几乎囊括了Web应用的方方面面,并且还提供了许多网站后台开发经常用到的模块。

前端开发语言:

前端使用了HTML5、CSS、JavaScipt进行开发,可以开发一次,针对Android和IOS分别打包。

(二)功能实现

根据需求,本系统主界面设计了“测试”、“资源”、“招聘”、“我的”四个子界面,共包含了用户登录、测试、答案提示、统计成绩、资料列表、查看招聘信息、添加删除收藏夹和试题库等功能。

1、测试功能

学生进入主界面时,会显示他所在专业的所有课程,学生可以选择自己学习的课程以及现在学习的章节来进行测试。测试试题包含了10道单选题和5道判断题,这些试题是根据中、易、难三个级别的不同比例动态抽取,考试结束之后,自动批改分数,学生可以选择是否计入平时成绩。在考试的过程中,可以把试题加入错误库或收藏夹或从中删除。

# 抽取试题

# 单选,容易,1條

querySet1=models.Question.objects.filter(SNO=sno, cno=cno, qtype=1, level=0).order_by('?')[:1]

# 单选,难,1条

querySet2=models.Question.objects.filter(SNO=sno, cno=cno,qtype=1,qlevel=1).order_by('?')[:1]

# 单选,中等,3条

querySet3=models.Question.objects.filter(SNO=sno,cno=cno,qtype=1,qlevel=2).order_by('?')[:3]

# 判断,容易,2条

querySet4=models.Question.objects.filter(SNO=sno,cno=cno,qtype=2, qlevel=0).order_by('?')[:1]

# 单选,难,1条

querySet5=models.Question.objects.filter(SNO=sno,cno=cno,qtype=2, qlevel=1).order_by('?')[:1]

# 判断,中等,2条

querySet6=models.Question.objects.filter(SNO=sno,cno=cno,qtype=2, qlevel=2).order_by('?')[:3]

测试完之后,会显示成绩对应的饼图,如图1所示。点击“返回”,就会返回到主界面;点击“再测试一次”,就会回到正在测试的章节,继续测试:

2、资料列表

资源包含了与课程相关的ppt、教案、素材、作业、其他5个部分的内容,学生可以查看或者下载相关的资源。学生通过选择课程的不同资料来进行学习,并且也可以下载这些资源。

3、招聘信息

招聘里面包含了网络招聘信息和线下招聘信息,临近毕业的学生可以查看一些招聘信息,没有毕业的学生可以通过查看,来了解公司都需要什么样的技术人才。招聘信息由教师根据招聘信息不断的更新。

def getJob(request):

queryset = models.Job.objects.all()

4、“我的”功能

這个界面主要包含了学生的收藏夹和试题库,学生可以通过左滑删除里面的试题,也可以查看试题的详细信息,包含答案、解析、难易程度。错题库界面如下图所示:

5、后台管理

Django提供的Admin管理后台,是一套用于管理用户和数据的是Web系统,通过它可以很方便的实现数据的增、删、改、查功能,实现对用户的管理。在这个系统中,使用了django-import-export插件实现了用户的批量导入导出功能。其中管理员具有所有的权限,会在学期前把某个专业的所有课程和学生导入后台,学期末会清空本学期学生的所有测试成绩,还可以添加后台的教师管理员;教师管理员拥有部分权限,可以导出所教授班级的平时成绩。

四、总结

本系统是针对我院学生的学习特点而设计的,不能代表其他高校学生的特点,但是,这些功能具有普适性。为了更好的提高学生的学习效率和知识掌握程度,需要进一步进行需求分析,在功能和细节方面上进一步完善。但是,总体设计目标是就简避繁,保证学生的使用舒适性。

参考文献:

1、李荣杰. 辅助教学APP对课堂学生参与度及学习绩效的影响[J].创新教育研究,2018(6):268-278

2、徐勇. 《数据结构》辅助教学软件设计与实现[J]. 长春师范学院学报(自然科学版), 2010, 29(1):53-53

3、李军豪. 辅助教学APP的设计与实现[J].福建电脑,2016, 32(9):111-11