基于微信公众平台的“最受欢迎十大教师评选系统”的开发与实现
2022-07-08汤滢
汤 滢
惠州工程职业学院 广东惠州 516000
众所周知,教师教学质量是学校生存与发展之根本,是学校高质量办学的基础。因而,对教师教学质量的评价成为学校的一项日常重要工作。而在整个教学质量评价体系中,学生评教又是其中一个重要的组成部分。本校开展的“最受欢迎十大教师”的评教活动就是在此基础上衍生出来的。在教学质量评价的手段上,传统的做法是在学期快要结束时,由各个班主任或教务处相关负责人,统一安排时间发放纸质的评价表给学生,学生根据黑板上列出的每位授课教师的姓名以及担任的课程,打完分后统一回收并由教务人员手工统计得到结果。这种手工操作的方式,既耗费较多的人力物力和时间,又不容易采集到足够多的样本;同时人工进行数据统计、处理,可能存在一些人为因素,容易造成较大误差,使评价结果的真实性受到质疑。虽然也有不少学校利用光电阅读机来取代传统的手工评价,此方式虽快捷、便利,但仍有一定的局限性,如要把评价指标转化成标准的光标阅读卡(评价表),再集中组织、分发、回收评价表等,每学期仍要花费大量的经费和时间。
近几年,随着智能手机的应用,移动互联网呈现迅猛的发展趋势,移动互联网在各行各业快速发展。据统计,2014年我国智能手机用户首次超过5亿人,成为智能手机用户最多的国家。移动互联网的发展,使传统的网络应用和网络办公模式慢慢地被新兴的网络办公模式替代。
近年来,随着微信软件的迅猛发展,基于微信平台的各种校园应用软件也如火如荼。本课题利用了开放的微信公众平台,成熟的网站设计技术和高效的页面代码方案,结合云空间、云服务的优势,设计开发出科学、高效的基于微信公众平台的“最受欢迎十大教师”评选系统。下面就本系统的开发和设计过程做一个简要说明。
一、对系统进行需求分析及概要设计,制定各项评教指标、对应分值以及评价等级
评教指标的设定是利用AHP层次分析法对现有的教学评价指标进行了修正和改进,并用科学计算的方法构建出符合现行高职院校教学评价体系的评价指标。然后用调查问卷的形式向学生征集对教师评价的意见,再结合学校的实际情况制定出最终的学生评教指标。学生评价时,通过手机微信平台注册登录后,根据所在班级本班的授课教师进行评分。学生评价的总分最后根据公式折算为对应的“小星星”,“星星”越多的老师代表在学生的印象中是越受欢迎的。
二、制定教师注册登录模块与学生注册登录模块的各项功能,并对各模块内的功能和接口进行定义
教师注册登录模块包括:教师注册登录模块和教师查询信息模块等。系统初始可由管理员统一导入教师基本信息,如:编号、所在系部、姓名、性别等。之后教师用户可登录并自行完善和修改个人信息。在该模块中还可以查询到所有教师的星级排名、某学期任课课程、任课班级的课室、学生人数等。还可以把相关课程的教学资源或网课视频放入其中,方便学生查看。
与此同时,我们进行了微信公众号的申请和接口定向:包括微信公众号的申请,接口定向,云空间的申请以及配置等。(1)我们使用的是阿里云服务器。在注册阿里云账号后,购买了云服务器ECS。(2)在ECS上安装Django。Django是高水准的Python编程语言驱动的一个开源模型,视图,控制器风格的Web应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便地以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,甚至可以很方便地开发出自己的工具包。这使得Django具有很强的可扩展性。Django可以运行在Apache,Nginx上,也可以运行在支持WSGI,FastCGI的服务器上。支持多种数据库,已经支持Postgresql,MySql,Sqlite3,Oracle。Google App Engine也支持Django的某些部分,国内支持的平台有(SAE)Sina App Engine,(BAE)百度应用引擎等。(3)开通微信公众号。在微信公众平台注册,登录mp.weixin.qq.com后点击左边的“设置”—“公众号设置”,填写对应信息。点击“开发”—“基本配置”—“服务器配置”,URL前面部分为服务器公网IP。然后启用配置就完成了。
三、进行模块功能的设计与实现
根据系统功能及用户属性分类,设置了以下几个模块:学生注册登录模块,给教师评分模块,任课教师信息查询模块,教学资源管理模块,教师注册登录模块,教师查询信息模块等。各模块的主要实现代码(部分)如下所示。
【学生登录注册模块】:
def signup(request):
print request.POST
user.first_name = request.POST["firstname"]
user.last_name = request.POST["lastname"]
……
【教师评分模块】
def rating(request,id=0):
user = request.user.username
email = request.user.email
# user = "test"
# email = "test@test.com"
if request.POST:
print "here is rating post %s" %request.POST
……
【任课教师信息查询模块】
def teacher_detail(request,id):
try:
teacher = Teacher2.objects.get(id=id)
except Exception as e:
print lineno(),"Failed Reason,",e
HttpResponse("不存在该资源")
template = "profile.html"
try:
profile = Profile.objects.get(work_id=teacher.work_id)
email = profile.user.email
except Exception as e:
print lineno(),"Get Teacher Profile failed,Reason:",e
email = "教师未完善该信息"
……
【教学资源管理模块】
def video(request):
# user = request.user.username
# email = request.user.email
# user = "test"
# email = "test@test.com"
for f in settings.STATICFILES_DIRS:
print "f:%s" %f
……
【教师注册登录模块】
def signup(request):
print request.POST
……
【教师信息查询模块】
def teacher_info(request,page=0):
teacher_init()
teachers = Teacher2.objects.all()
teachers_major1 = list()
teachers_major2 = list()
teachers_major3 = list()
for t in teachers:
if t.major == u"计算机":
# print "here is teacher %s,name %s,major %s" %(t.tid,t.name,t.major)
teachers_major1.append(t)
elif t.major == u"人文系":
……
具体的操作场景如下:
进入微信公众号后的主界面,包括学生注册,教师注册,教师评分,教学资源等模块。在该主界面的右上角点击进入注册信息界面,注册完成后进行用户登录。
进入教师评分界面后,先选择系部,然后找到要评价的教师姓名,在下方的评价指标中,用滑动手指的方式点亮“小星星”,完成后提交,系统会自动计算机出总得分,并以“小星星”的方式显示出来。
对教师评完分后,还能查看到该教师的一些基本信息、担任课程,以及星级程度。同时可以根据自身需求到教学资源中观看网课视频等。在教师注册模块中,教师可以完善自己的个人信息、任课班级、科目、管理本课程的教学资源等。
至此,基于微信平台的教师评价系统就基本完成了,主要的功能模块也能正常使用。但是由于时间、资金和技术等各方面原因,有些模块的功能没有完全实现,这需要后续的研究和设计工作。同时我们也希望,能够通过数据挖掘等技术,从学生评价教师的结果中总结出学生对“好”老师的要求和标准,今后教师要加强哪方面的自身修养和改进教学方法,以提高教学质量等。因为教学质量的好坏才是一个学校生存和发展之本,对学校的可持续发展具有深远的意义。