可视分析辅助的程序设计语言教学

2016-01-15 07:05李昕张学辉李传秀
教育教学论坛 2016年4期
关键词:影响因子程序设计

李昕 张学辉 李传秀

摘要:随着信息化时代的到来,程序设计语言课程已经进入到在线教育的时代。大量教育信息的电子化给教育工作者更多的参考依据,但是庞大的数据量给分析和总结工作带来了巨大的难度。本文针对程序设计课程的特点,将课程信息进行可视化,通过总结得到的规律进一步促进教学,提升了程序设计课程的教学质量。

关键词:可视分析;程序设计;教育分析;影响因子

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)04-0064-03

程序设计是计算机基础教育的核心课程。它覆盖面广、影响大,是大学生参加课程设计、毕业设计、创新实验、科技制作、学科竞赛等活动的重要基础。同时,它也是一门非常注重实践的课程,与一些传统的理论课程不同,学生日常编程练习的完成情况对最终的掌握程度影响很大。

斯隆联盟连续十一年发布美国在线教育调查报告显示,高校在线教育保持稳定发展的态势[1]。中国在线教育发展如火如荼,各种新产品不断涌现[2]。中国石油大学(华东)从2010年开始引入程序设计的在线测试平台,学生日常编程都提交到该平台上,因此积累了大量的数据。在线测试平台对程序设计语言教学的辅助作用非常巨大。目前平台的平均日访问量在2000人次以上,最高访问量达到8000人次。某教师在一个学期的学生人数为92人,一学期接收学生提交的程序超过1万。庞大的数据量使教学工作者很难对教学情况做出有效的分析。

教育分析是对教育过程中所获得的各种信息进行定性定量分析,为教学内容、教育方式、教育手段的选择提供依据,为教育决策提供信息[3]。本文将教学与可视化技术[4]相融合,利用新的技术、新的理念和新的学习理论尝试构建新的教学模式。课程组将在线测试平台上学生的日常完成状况进行了可视分析,总结出了做题数量、一次性提交成功率、重复率等多个影响因子,将这些影响因子与学生的考试成绩做了综合分析,并利用分析得到的结论,辅助于程序设计语言的教学。

一、做题数量与学生的学习成绩成正比

将学生的做题数量和成绩进行了关联分析,如图1所示,每个点代表一个班级,横轴表示平均做题数量,纵轴表示该班学生的平均成绩。对该图做了一个线性回归后,得到的回归线为y=0.3136x+45.025,斜率0.3136表明做题数量和成绩成正比。将图1中代码重复率高于40%的班级剔除掉,斜率进一步得到提升,正比关系更加明显。也就是说,在学生独立完成的情况下,做题数量是影响学生对程序设计语言掌握程度的一个重要因素。

进一步分析,圖1中的右上角圈选部分明显离群,该班平均做题76道,平均分82分。该班为我校的理科实验班,成绩明显高于其他班级,而较高的做题数量保障了该班取得良好的成绩。图1中的左侧圈选部分也离群较远,做题数量明显偏少,成绩整体偏低。

从图1的左、中、右位置上各选取一个班级,深入分析三个班级的做题数量和学生成绩的关联状况。首先,无论成绩状况,每个班级的绝大部分学生的习题总量接近该班教师布置的数量;其次,三个班级平均做题数量依次上升,平均分也依次上升;最后,做题少的同学很难得高分。通过这三个发现,一方面再次证明了做题数量对学生成绩的影响较大,另一方面也说明了大多数学生都能尽量去完成布置的作业,教师应该根据学生的承受能力,尽量多布置习题的数量。

二、平均提交次数、一次性提交成功率和抄袭的可能性

学生编程时,都是在本地编译运行通过后,提交到在线测试平台上。因为一方面本地编译器与在线编译器略有区别,另一方面学生做题时考虑问题不够全面,较难一次性通过该问题对应的所有测试用例,所以学生的平均提交次数很难接近1。将全校学生根据平均提交次数进行人数统计,其中平均提交次数对应人数最多的位置为1.58,全校学生的平均提交次数为2.02,平均提交次数非常接近于1的学生数量较少,把这些学生称为E类学生。本文针对E类学生进行了深入的研究。将平均提交次数对应的学生成绩做了一个加权平均,得到图2。从图2中可以看出,E类学生的平均成绩比较低。平均提交次数接近1的学生平均成绩仅为30分。随着平均提交次数的增加,成绩逐步提高。在平均提交次数大于2之后,平均成绩开始趋于稳定。较低的成绩说明绝大多数E类学生不是因为对课程内容掌握的非常好才形成较低的平均提交次数,从而推断这部分学生具有较大的抄袭可能性。

在此基础上,一次性提交成功率也能说明相同的问题。这个参数是指学生仅需一次提交就能编译成功,并通过所有测试用例的题目数量占总做题数量的比例。经过回归分析证实了一次性提交成功率和平均提交次数成反比。也就是说在一般情况下,学生在需要多次提交才能通过所有测试用例的题目越多,其他题目能够一次性提交成功的概率就越低。图3将全校学生的平均提交次数(横轴)、平均成绩(纵轴)和一次性提交成功率(不同颜色)进行了综合分析和数据统计,每一个点代表一个学生。其中的颜色能够大体上沿横轴依次变化,也同样说明了两个对应的参数存在着比例关系。黄色和青色部分的学生占总人数的80%,代表了学生的整体状况,他们的平均提交次数在1.5~3.5,一次性提交成功率在60%~80%。因为代码是在本地系统上编译运行通过后才提交到平台,所以这个范围的提交成功率比较正常。而对于前文提到的E类学生,在图中显示为粉色和红色,他们一次性提交成功率大于90%,平均提交次数小于1.2,从较低的平均成绩上推断,这些学生复制他人代码的可能性较高。E类学生只占学生总数的4%,说明绝大多数学生能够独立完成题目。

图4中展示了三名学生在不同日期(横轴)的提交状况(纵轴)。其中绿线表示题目的完成数量,黄线表示尝试的提交次数。左图中两条线保持比较均匀并相对较短的距离,平均提交2次可以成功完成一道题目。这是一个比较正常的学生,他在图3中显示为青色。图4中图的两条线基本重合,平均提交次数为1.01,一次性提交成功率大于97%,也就是说几乎所有题目都是一次性提交成功。考虑到编译器的不同和初学者的能力状况,推断出该学生抄袭的可能性非常高。29分的考试成绩说明该生对课程掌握程度较差。他在图3中显示为红色。

图1中右下角圈选部分的两个班级,相对做题较多,但班级平均分较低,这不符合做题多则成绩相对好的规律,可以认为是一种异常状况。通过分析发现,两个班级的平均提交次数分别为1.48和1.33,一次性提交成功率分别为0.79和0.82,与全体学生的平均提交次数2.02和一次性提交成功率0.61相比,有较大差距。因此推断两个班级的整体抄袭状况比较严重,从而较好地解释了这种异常状况的出现。

三、坚持不懈地给予学生更多的关注

在图3左图中的绿色点所对应的学生,平均提交次数都比较高,这说明他们在做题时多需要花费较大的精力。图4右图显示了一个平均提交次数为5.08的学生,做题数量和提交次数两条线之间距离较远。以4月1日为例,该生完成4道题目,却提交了30次,这说明他们在做题时遇到了问题,是靠坚持不懈的努力来学习这门课程的。图2中横轴大于3.5的部分对应着这部分学生,折线的震荡状况说明这部分学生分为两种:一种是已经掌握的相对较好,通过不断提交努力寻找更好的方法;另一种是没有掌握程序设计语言的核心,但他们一直保持着较大的学习热情。在圖3右图中显示该部分学生的平均成绩高达72.40,说明他们的努力得到了回报。占总人数5%的比例说明一个人数为30人的班级,平均只有1~2个同学会出现这样的状况。如果任课教师能在教学过程中尽早发现这些学生,给予足够的帮助并帮助他们突破瓶颈,那么这些学生依靠自己的努力应该可以取得更好的成绩。

四、结论

本文将学生在程序设计课程中提交的数据与学生的成绩进行了关联分析,提取出了做题数量、平均提交次数和一次性提交成功率等影响因子,发现学生的掌握程度与做题数量成正比,当平均提交次数接近1,且一次性提交成功率很高时,学生有很大的抄袭可能,而平均提交次数很高的学生非常努力,但付出的代价很大,需要更多的教师辅导。教师可以把这些结论当作程序设计课程的指导标准,改善教学环节,提高教育质量。

参考文献:

[1]朱永海,韩锡斌,杨娟,程建钢.高等教育借助在线发展已成不可逆转的趋势——美国在线教育11年系列报告的综合分析及启示[J].清华大学教育研究,2014,(04):92-100.

[2]管佳,李奇涛.中国在线教育发展现状、趋势及经验借鉴[J].中国电化教育,2014,(08):62-66.

[3]薛琴娣.教育分析及其在思想教育管理中的运用[J].无锡教育学院学报,1995,(01):52-54.

[4]叶新东.未来课堂环境下的可视化教学研究[D].上海:华东师范大学,2014.

猜你喜欢
影响因子程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
基于个性化的协同过滤图书推荐算法研究
高职高专院校C语言程序设计教学改革探索
目的论视角下旅游英语的语言特色对汉译旅游文本的启示
云雾物理生长过程及其影响因子的虚拟仿真实验
“影响因子”是用来赚大钱的
OBE理念下基于Greenfoot的Java程序设计课程教学改革
PLC梯形图程序设计技巧及应用
三级甲等公立医院绩效考核程序设计