马 君
(西北民族大学 数学与计算机科学学院,甘肃 兰州 730124)
微信已逐渐成为整个移动互联网的基础设施,到2018微信活跃账户高达10亿,并且一直维持稳定增长态势.微信小程序是基于微信开发的新兴软件模式,是一种不需要下载安装即可使用的,能够实现触手可及的便捷,能避免多余APP占用手机内存.对于开发者而言,微信小程序开发门槛低,难度小,可以实现消息通知、线下扫码、公众号关联等功能.公众号关联更能实现微信小程序与微信公众号的跳转[1-3].
在这个时代手机基本上是大学生必备的,学校的很多工作任务都是通过手机通知的,所以微信小程序在线的教育方式是十分容易普及的.微课的使用是一种有效而简单的学习方式,不需要教师辛苦地制作完整的教学体系,而只需要根据知识点去完成模块化的教学课程就能制作成微课的学习资料,然后学生学习的时候也可以根据自身的需求去针对性地获得学习资源,即省力又省钱,还能很快地获取到自身需要的知识[4-6].
现在小程序十分火爆,更多的人喜欢这种快捷的方式.越来越多的传统APP被小程序所取代,使用微信的人基本上都用过微信小程序,微信小程序每天被访问的次数接近两亿.微信的庞大用户量成就了微信小程序的成功.
基于微信小程序的微课堂设计可以使学生把零散的时间用来学习,可以提高学生的学习效率,便捷地掌握课堂知识,使老师的教学变得简单化,便捷化.此系统存在的意义就是把微课堂普及化以及方便化,使学生更加容易地接触到这种学习方法.新颖的教学方式必定能提高学生学习的积极性,提高教学水平,降低教育难度[7].
开发出可供老师和学生使用的微信小程序,完成微课堂的应用,提高学生的学习效率,降低老师的教学难度.
微信小程序开发,是基于微信小程序云开发服务器提供的数据库,使用云函数对数据库进行的操作.
本系统为了给学生提供微课堂的学习方式,实现在微信小程序中轻松获取课堂知识,有助于学生学习水平的提高,老师能够在线为学生提供学习上的帮助,学生完成自我测评.
本系统具备如图1功能:
图1 系统模块结构图
1.2.1 对教师信息进行添加
教师的身份属于权限较大的角色,所以教师的账号不能通过用户自身去注册使用,所以就有了管理员的身份.管理员可以对教师的基本信息进行添加,给教师分配登录使用的账号密码.
1.2.2 教师、学生用户基础数据的维护管理
考虑到关于用户关键信息丢失的问题,比如学生和教师的登录密码忘记,为了系统的安全性,修改密码的功能赋予管理员.
管理员应当管理学生及老师的信息,可以根据登录使用的用户名重置学生和老师的登录密码.
1.2.3 学生、教师、管理员的登录
因为微信小程序需要在app.json配置文件中设置初始打开的页面,不能通过输入网址改变页面显示,所以需要把三种用户类型的登录页面写在一起.使用下拉框选择登录的角色,form表单提交时需要在js中判断用户类型,然后根据角色的不同可以连接不同的数据库,在对应用户类型的数据库中查询出对应的值,然后进行判断是否成功,再根据不同的用户类型决定跳转到对应的页面中.
1.2.4 微课视频的上传与删除
老师登录进入小程序可以选择上传视频,小程序调用手机的组件,可以选择打开手机摄像头录制视频,也可以选择已经录制好的视频进行上传,老师可以删除自己上传过的视频.
图2 数据库E-R 图
1.2.5 操作题库中的题目
适用角色:教师
教师登录成功后可以选择操作题库功能,然后需要在js数据中读取关于软件工程的所有试题,再把这些试题显示在页面上.可以添加试题,试题包括题目、选项、正确答案等,教师还可以对这些试题进行修改.修改内容包括题目、选项、正确答案等.
1.2.6 微课视频被访问次数
在数据库中给wkvideo表中添加一个字段来记录视频被点击的次数,教师可以查看每条视频被点击的次数.教师登录系统可以看到自己上传的微课被访问的次数.
1.2.7 学生在线测评成绩的统计与分析
教师可以查看学生测试的成绩,然后还可以看到每道试题学生的答题情况.每道试题被作答以后会在数据库中保存答题的总人数以及正确的次数,显示给教师的情况是回答正确数/回答总人数.
1.2.8 微信群组功能
教师与学生需要沟通,可通过微信群组的功能实现.教师可以先去创建微信群组,然后上传该群组的群二维码,把二维码保存在云开发数据库中,学生可以根据教师获得的微信群组的二维码,去微信中扫描二维码加入群聊.
1.2.9 学生注册
学生在使用该小程序时需要去创建登录所需的用户名密码,然后把学生的用户名密码保存在云开发的数据库中.
1.2.10 学生在线观看微视频
学生登录进系统最主要的功能就是对微课视频进行学习.学生可以根据对应教师获得教师上传的视频,然后可以在小程序中在线观看视频进行学习.
1.2.11 学生修改个人信息
学生可以在小程序中修改云数据库中的个人信息.
使用微信云开发的云数据库.云数据库是微信官方针对微信小程序开发的专门制定的数据库,可以在数据库中添加集合,相当于MySQL数据中的表结构,把数据以json格式保存在集合中[8-10].
根据微课小程序的需求分析,数据表功能如下:
1)学生信息表:存放学生的基本信息.
2)教师信息表:存放教师的基本信息.
3)管理员信息表:存放管理员信息.
4)课程信息表:存放课程的相关信息.
5)题库表:存放相关课程的题库内容.
6)微课视频表:存放老师上传的微信联系信息.
微信小程序的开发,完全基于微信官方api进行.使用小程序云开发的云数据库与云函数完成数据存储与查询,使用js控制逻辑运行.
系统主要服务于教师与学生,开发时应考虑合理性与实用性.针对学生对微课视频的学习与自我测评,教师可以检查学生的学习情况以及对学生的学习提供的帮助.提供一个微课小程序以便帮助学生和教师完成学习中存在困难的问题.
微信小程序可以通过wx.getuserinfo来获得微信用户的头像、昵称信息.可以直接把微信用户的信息显示在页面中,不需要用户自己再把这些数据添加进数据库中,获取信息方便快捷.
Openid是微信用户唯一标识,进入小程序前必须先获得Openid,小程序云开发使用云函数简化了获取Openid的难度.
图3 教师上传视频
在微信小程序中想要访问页面必须把页面路径配置到app.json文件中,pages中第一行的路径是小程序启动时访问的路径.小程序简化了原本需要web.xml文件中配置页面的问题,只需要在配置文件中添加页面的访问路径就能配置进去实现页面的访问.
登录页面通过选择角色进行登录,然后js可以通过页面传过来的usertype判断需要连接的集合进行访问.再根据用户名去对应角色的集合中查询数据,把查询数据中的密码与填写的密码进行对比.如果相同登录成功,跳转到对应角色的页面.
选择教师的角色进行登录时,如果判断成功便会进入到对应的教师主页,可以点击上传视频,如图3.
上传视频首先需要调用wx.chooseVideo方法来触发手机选择本地视频,通过设置sourceType使用拍摄和本地视频都能选择.选择视频成功后调用success方法,res.tempFilePath获得文件的临时路径,使用wx.cloud.uploadFile上传视频到云文件.上传成功返回云文件ID,把云文件ID保存在全局变量app.globalData中,然后把云文件ID与教师ID保存在数据库中.学生可以根据教师ID获取云文件ID,从而可以从云开发的文件管理中获得视频文件.
教师可以上传班级群的二维码,然后学生可以根据对应班级选择下载二维码.通过微信小程序的wx.chooseImage()方法进行图片的选择,然后把图片上传云开发的文件管理中.学生可以通过访问教师学生的联系表获得教师上传图片的路径,然后就可以使用图片预览的方式显示图片,可以调用微信的长按保存图片方法,把图片保存到本地,再在微信中扫一扫使用本地图片实现扫描加入群聊.
教师可以读取题库中的题目列表,根据单元进行分类查看,设置题目,四个选项并且标注出正确答案.教师还可以添加试题,连接题库表,实现对表中数据的添加,也可以选择已经存在的题目进行编辑,可以修改题目、选项、答案;也可以删除不需要的题目.
学生在线答题的试卷生成策略是通过课程的名字获取每个学习单元的所有题库,然后在每个单元内随机获取一道题目.获得题目与四个选项答案,并且记录学生选择的答案与正确答案进行对比.如果答案等于正确答案,则正确题目数加一,最后把学生的测试的答对题目的总数与学生答题总数存储在数据库中,把学生的成绩以答对题目数/答题总数显示给教师.
教师点击上传视频,可以查看本地视频,也可以选择使用手机拍摄,同时也可以预览要上传的视频,如图4.
图4 教师发布视频浏览
学习方法会对学生的学习成绩产生巨大的影响,好的学习方法可以使学习事半功倍.而基于微信小程序微课堂的设计是最近比较火热的教学方式,取得了相当好的成绩.微课堂是一种对学生课后辅导特别有效的教学方法,可以通过微课的方式将书面的知识模块化,把繁杂的学习内容拆分成小的知识碎片,可以让学生在空闲的时间能轻松地接受到课堂上的重难点.把这种学习方式放在网络以供学生使用,会更有效地帮助学生完成学业.