曾兰星
(东莞市经济贸易学校 广东 东莞 523003)
突出激励机制的VB代码评测系统的开发与应用
曾兰星
(东莞市经济贸易学校 广东 东莞 523003)
通过对中职学校学生特点的分析,提出了突出激励机制的VB代码评测系统的设计方案,该系统实现了对源代码进行及时、客观、公正的评测,能有效应用于教学,在很大程度上提高了学生自主学习的积极性和教师的教学效率。
激励机制;中职;VB教学;评测系统
计算机编程技能是中职学校计算机相关专业学生需要掌握的一门核心技能。但在教学实践中,它却是难教、难学的课程之一。难学主要体现在学生学习计算机编程课程时需要做大量的练习,通过练习获得熟练的编程技巧和调试经验。学生在练习过程中很难得到及时的反馈和教师指导,很容易丧失学习兴趣。难教主要体现在教师在上机实验时真的是很辛苦,因为学生在编程练习过程中会出现各种各样的问题;如果采用传统的人工评阅代码的方式,教师课后就要花费大量时间和精力去批阅学生作业。因此,我们迫切需要改进计算机编程课程的教与学。
近年来,随着普高的扩招,中职学校生源质量越来越差,大多数学生学习基础差,普遍缺乏学习动机,没有良好的学习习惯,厌倦、逃避学习,沉迷于网络游戏的现象十分严重。他们都是传统教育中的失败者,传统的课堂教学已经无法吸引他们的注意力。因此,急需新颖的、更富趣味的教学方式,以此来激发他们的兴趣,增强他们的学习动机。
本文提出了一种突出激励机制的针对中职学校《VB程序设计》教学的代码评测系统。系统通过静态评阅技术对提交的源代码进行自动评阅并给予用户相应的反馈信息,还在系统中加入游戏激励机制增强学生的学习动机和学习兴趣。在教学中,这一代码评测系统的使用,能给教学双方都带来极大的方便,一方面,能充分调动学生的学习自主性;另一方面,亦让教师摆脱了繁重的人工评测程序的工作,从而可将更多精力投入到教学研究中。
(一)设计目标
本系统的设计目标是实现VB程序设计题的自动评阅,而且要实现阅卷的公正性。该系统既能满足程序教学代码评测的需要,也能让学生保持长时间的学习兴趣和学习动机,系统具备如下特点:(1)系统具有源代码评测功能,让学生在课堂上得到及时的反馈和指导,让教师从繁重的重复性评判作业的工作中解脱出来。(2)通过激励机制激发学生的学习兴趣。比如,在系统中增加一些积分排行、游戏奖励等激励元素,让学生长期保持较高的学习兴趣和学习动机。(3)系统有课堂管理功能,如防止学生作弊功能(如防止学生间共享代码、用别人的账户登陆等)。
(二)系统架构和开发工具
考虑到本研究旨在建立一个突出激励机制的代码评测系统,目的是提高学生学习计算机程序设计的兴趣,促进课堂教学效果,涉及课堂教学学生机的管理功能(如学生机共享、校园网的访问权限限制等)以及运行速度要求,所以本文采用C/S模式进行系统开发。
VB是微软公司推出的应用程序开发工具,它具有简单、功能强大和高效率等特点,所以本系统使用VB作为主要的开发工具。数据库采用SQL Server 2003设计。
(三)数据库设计
根据需求分析的结果,本系统构建的主要数据表有用户基本信息表(tb_student)、排行表(tb_top)、练习题目表(tb_questions)、课件表(tb_courseware)、分数表(tb_point)、参数表(tb_parameter)、存储用户提交的源代码(tb_sourcecode)、游戏列表(tb_game)。
也许这样也合理解析了今年WSET的国际化改革,还有众多跨界葡萄酒教育机构的兴起。葡萄酒教育对葡萄酒市场的发展起着重要的推广作用,那未来的葡萄酒教育发展趋势又将如何?
(四)系统主要功能模块
按系统实现的功能来划分可分为三大功能模块,即信息维护模块、代码评测模块及激励机制模块。系统功能划分如图1所示。系统各模块的功能:(1)信息维护模块。如学生信息维护子模块:对学生学号及相关档案进行录入、修改等操作。(2)代码评测模块。如身份验证子模块:该模块主要是判断登录者的身份和密码是否正确。代码评分子模块:对学生提交的代码进行自动评测,给出错误提示信息。(3)激励机制模块。如游戏激励子模块:对完成任务的学生给予游戏奖励,根据完成时间快慢给出不同款式和级别的游戏。
(五)系统核心模块的设计与实现
以下几个功能的实现是本平台开发中具有一定特色和创新之处。
图1 系统的功能模块图
代码评测模块的设计和实现 代码评测一方面可以让学生在课堂上得到及时反馈,提高学生学习的主动性;另一方面,也能减轻教师指导和作业批改的压力,让教师有更多时间去钻研教材和教法。本系统采用静态评阅技术,主要分为以下3个步骤:(1)程序分解。根据VB程序窗体文件(.frm文件)的内容,把源程序分为 “版本号”、“窗体信息”、“控件信息”、“事件代码”、“变量声明”等部分,把“事件代码”与其他部分分离。进行窗体属性、窗体中控件属性与标准答案的匹配,分解后存储。(2)关键词匹配、得分点匹配。关键词匹配计算学生源文件的保留字与标准答案保留字的匹配结果;得分点匹配是检查学生源文件中是否包含关键性的词语(相当于按知识点给分)。(3)按照各个部分不同的权值计算得分。根据“窗体信息”、“控件信息”、关键词匹配和得分点匹配的结果和各自的权值,计算出学生的得分。其中,代码评测功能的部分代码如图2所示。学生把自己的代码填写在指定的区域向系统提交,然后系统进入判题过程。如果提交的源代码被评测是错误的情况,系统会直接给出错误提示。本系统对常见的错误会给出详细的错误信息,这样可以使学生知道自己错在什么地方,迅速找到解决的办法,从失败中总结经验,不断提高自己的能力。这种智能的错误提示设计是建立在后台判题系统的判断结果基础上的,错误的提示信息是我们根据长期积累编程中常见的错误经验得出的,是本系统的设计者长期从事程序设计教学及研究的结果。
激励机制功能的实现 代码评测模块在判题过程中发现学生提交的源代码通过了系统评测,就会以相应的回馈方式给学生积分和经验的奖励。奖励的计算方法分为三种情况:第一次正确提交,除了得到每道题的固定经验和积分外,经验还会得到额外的奖励。完成题目的先后顺序排在前五名的,积分会得到额外的奖励;当前最优解——学生所提交的代码是所有提交中最优秀的代码,积分就能得到额外的奖励;做题的连续性——在指定的时间内学生连续向系统提交了正确的解题代码,积分会得到额外的奖励。通过这种激励式评分标准,能够非常好地调动学生学习的积极性,使学生不断向着更高水平迈进。另外,本系统针对提前完成任务的学生,给予游戏奖励。当然,前提是必须完成了课堂教学任务,如果完成的特别快或特别优秀,提供给他/她的游戏种类也将更多、更丰富,这样就既能够激发学生的学习动机,也能达到寓教于乐的教学境界。
防作弊功能的实现 在传统计算机实训教学中,学生在机房练习的过程中教师很难监控和管理。比如,有些学生通过局域网共享、复制别人的代码,这将影响游戏激励的正面引导作用。为此,本系统采用如下两方面来实现这种功能:(1)学生上机必须对号入座,学号必须和机器号一致;而且本系统提供给学生的账号也是与机器号绑定的,如果学生乱坐座位,本系统将禁止学生登陆。(2)禁止学生机共享,本系统通过在教师端停止所有学生的Server服务和Browser服务,以达到禁止学生机自行共享的目的。禁止学生机共享模块的部分代码如下(XXX代表学生机的机器编号):
图2 评测部分代码示意图
(一)课程笔试成绩的总体情况分析
实验班的笔试成绩实际只占其综合评定成绩的50%,为使其和对照班的成绩有可比性,成绩分析中数据均来源于两个班的期末试卷卷面分。本研究采用T检验来检验两个班级的笔试成绩情况。实验前的情况如表1所示。两个班级的VB程序设计成绩经双侧T检验,显著性概率P=0.655>0.05,说明这两个班级的VB程序设计成绩的均值差异不显著。
表1 行动研究前实验班与对照班VB程序设计成绩的显著性差异分析表
实验后的情况如表2所示。两个班级的VB程序设计成绩经双侧T检验,显著性概率P=0.008<0.05,说明这两个班级的VB程序设计成绩的均值差异非常显著;而且2011级网络(2)班的均值为79.7,比2011级网络(3)班的均值73.2要高。说明运用突出激励机制的代码评测系统进行教学能有效提高学生对 《VB程序设计》课程理论基础知识的学习效果。
表2 行动研究后实验班与对照班VB程序设计成绩的显著性差异分析表
(二)学生对本代码评测系统用于教学的评价
课程评价可以有效帮助学生正确认识自己在学习态度、学习能力和知识获取能力等方面的问题。促进学生改进学习方法,提高学习质量,从而达到使学生全面发展的目的。同时,课程评价也可以帮助教师了解和提高课程教学的效果与质量,为改进课程教学提供反馈信息,促进课程本身的完善。
在本研究中,对突出激励机制的VB代码评测系统应用于中职学校《VB程序设计》课程教学的评价,通过对学生进行问卷调查,有针对性地设计了调查问卷。共发放调查问卷108份,回收104份,其中无效卷4份,有效率96%。通过对问卷进行统计分析,得到本研究的课程评价信息如下。
对“调查以前是否喜欢计算机编程”,选择喜欢的占15%,没感觉的占36%,不喜欢的占49%。可见,在调查者中大多数学生是不喜欢或讨厌计算机编程的(见图3)。
图3 问卷调查“以前是否喜欢计算机编程”统计图
在调查“用完这个基于激励机制的代码评测辅助教学平台,你现在喜欢编程学习吗?”时,选择喜欢的占82%,没感觉的占10%,不喜欢的占8%,可见突出激励机制的代码评测辅助教学系统确实对调查者学习计算机编程有一定的促进作用(见图4)。
图4 问卷调查“现在是否喜欢计算机编程”统计图
在调查“通过使用辅助教学平台,是否加强了你的实践编程能力”时,选择喜欢的占80%,没感觉的占8%,不喜欢的占12%。可见,突出激励机制的代码评测辅助教学系统确实对被调查者的编程技能有一定的提高(见图5)。
图5 问卷调查“是否增强了实践编程能力”统计图
本研究通过分析中职学校学生的特点,引入游戏激励教学模式,设计并完成了突出激励机制的VB代码评测系统主要功能的设计和实现。并依据该系统,设计、实现了中职《VB程序设计》课程教学实施,通过一年的教学实践,初步验证了所研发的系统以及教学设计方案对学生学习动机和教学效果的促进作用,为一线教师使用代码评测系统辅助计算机程序设计教学提供了范例和参照。同时,对代码评测系统教学应用的情况分析和总结也为广大学科教师、教育技术工作者对计算机辅助学科教学提出了进一步的研究方向。
[1]张培颖.多特征融合的语句相似度计算模型[J].计算机工程与应用,2010,46(26):136-137.
[2]马培军,王甜甜,苏小红.基于程序理解的编程题自动评分方法[J].计算机研究与发展,2009,46(7):1136-1142.
[3]张宏伟.基于语义理解的编程题自动评分系统的研究与实现[D].大连:大连海事大学,2010.
[4]Richard Rouse III.游戏设计——原理与实践[M].尤晓东,等,译.北京:电子工业出版社,2003:10.
[5]尚俊杰,李芳乐,李浩文.“轻游戏”:教育游戏的希望和未来[J].电化教育研究,2005(1).
[6]王辉,胡新华,张广泉.集群式程序设计竞赛评测系统设计与开发[J].计算机应用与软件,2009,26(9):119-122.
[7]何克抗.教学系统设计[M].北京:北京师范大学出版社,2002.
[8]尤枫,史晟辉.ACM在线评测在编译原理实践教学中的应用探讨[J].计算机教育,2009(20):113-l15.
(本栏责任编辑:谢良才)
中央财政下拨6.58亿元支持退役士兵培训
近日,中央财政下拨2013年退役士兵职业教育和技能培训补助资金6.58亿元,比2012年增长9.81%,主要用于退役士兵职业教育和技能培训所需的学杂费、住宿费、技能鉴定费、生活补助费以及转业士官待分配期间管理教育(含培训)、医疗补助等。
据统计,2010至2013年,中央财政共安排退役士兵职业教育和技能培训补助资金24.64亿元,年均增长13.06%,有力地支持了各地开展退役士兵职业教育和技能培训工作。
党和政府高度重视退役士兵培训工作,中央财政从2002年起对安置任务重和经济欠发达地区的城镇退役士兵培训给予适当补助。2010年,国务院、中央军委印发了 《关于加强退役士兵职业教育和技能培训工作的通知》(国发〔2010〕42号),中央财政加大了对各地开展退役士兵职业教育和技能培训的支持力度。2011年,中央财政将退役士兵职业教育和技能培训中央财政补助标准由原来的每人1200元提高到每人2000元。同时,按照每人200元的标准对转业士官集中交接和管理给予补助。
(中国新闻网)
G712
A
1672-5727(2013)08-0172-03
曾兰星(1978—),男,广东东莞人,硕士,东莞市经济贸易学校教师,中学一级教师,研究方向为游戏化教学。