(Photo by Luca Bravo on Unsplash)
编者注:自2015年起,ITBegin的云端教学平台陆续接入563所大学,通过老师接入、学院接入、专业共建、教改合作、大赛平台、课题研究等方式开展合作,为大学提供以云编程技术为核心的在线互动式编程教学平台。
近期,ITBegin发布了《国内大学编程教学数据报告》,该报告整理了从2015年7月1日至2017年6月30日的使用数据,包括地域活跃度、课程语言、教学过程、学生学习行为四个方面,反映出国内大学目前编程教学的部分现状,希望能对国内大学编程教学改革提供借鉴和帮助。
一、地域活跃度:浙江、江苏、安徽、山东、黑龙江是云端教学活跃省份
截至2017年6月,在线接入的大学规模达到563所,分布在28个省(含直辖市)。接入规模排名前三位的省份是江苏9.95%、浙江9.41%、安徽7.82%。其次是山东6.57%、黑龙江5.86%、广东5.15%。
大学编程教学在线使用的老师规模达到871位。其中老师使用规模排名前三位的省份是浙江13.5%、黑龙江12.34%、安徽9.43%。其次是山东8.96%、江苏8.84%、重庆4.82%。
二、课程语言:前端课程持续递增,项目课程增涨最快
老师开设的编程语言课程中:
▪ C语言课程占比25%,单门课程占比最高;
▪ JAVA语言开设2类课程:语法基础和面向对象,合计占比26%;
▪ 前端语言开设6类课程:HTML4入门、CSS2入门、HTML5入门、CSS3入门、JavaScript语法基础和JS DOM入门,合计占比24%,其中HTML5占比最高;
▪ C++语言开设2类课程:语言基础和面向对象,合计占比9%;
▪ SQL语言课程占比8%;
▪ 数据结构占比3%;
▪ 网站开发项目课程占比5%。
从2015年下至2017年上,前端语言课程每半年持续递增,截止到2017年上成为使用率最高的课程。网站开发项目课程在2016年上线后经过平稳试用,2017年呈现出快速增长趋势。JAVA、C++、SQL等课程基本保持稳定,值得关注的是:C语言课程在2017年上半年递减接近50%。
三、教学过程:翻转课堂逐步增加
截至2017年6月,在线接入的老师在教学过程的核心环节上课、预习、作业的使用情况如下:
单独使用一项功能:39%的老师只用上课,6%的老师只用作业,1%的老师只用预习;
合用两项功能:18%的老师上课+作业,7%的老师上课+预习,1%的老师预习+作业;
合用三项功能:28%的老师上课+作业+预习。
从按半年教学使用老师数趋势图看,上课+作业+预习三项功能合用的老师数每半年持续增加。我们回访了部分老师,得到的答案是“有了平台的辅助,可以进行翻转课堂的教学”。
从按月使用次数的趋势图看,教学过程使用的高频期为每年3月-6月和9月-12月,这与大学春秋两季的学期规律吻合。
四、学习行为:用敲击+运行次数反应学习行为
按每次课程1.5小时统计,学生上课平均练习题数是2.5题,老师演示题数和学生练习题数比例是2:1。
上课有老师引导的情况下:
67%的学生敲击次数在10-100次和100-500次之间
4%的学生敲击次数超过500次的占4%
29%的学生代码敲击次数在10次以内
上课的运行次数比例分布较为平均,表明有老师指导下,30%的学生可以1次完成代码结果,同时其他学生经过1次以上的代码运行调试后完成结果。
这里说明一下运行的重要性:边写代码边运行既是检查程序结果,也是编程人员需要培养的良好习惯。一切不以运行为导向的代码敲击都是耍流氓,运行次数可以反应出学生编程学习的行为习惯。
相比上课,没有老师引导的预习敲击次数明显变低:
79%的学生代码敲击次数在10次以内;
20%的学生敲击次数在10-100次和100-500次之间;
只有1.17%的学生敲击次数超过500次。
预习的运行次数比例中70%的学生运行1次,也就是运行看一下演示代码的结果就算预习完成。
按每半年为一个学期统计作业数据,平均每个学生收到的作业题数是16题。
作业的敲击次数分布如下:
40%的学生敲击次数在10-100次和100-500次之间;
10%的学生敲击次数超过500次;
50%的学生敲击次数在10次以内。
目前作业编辑器没有禁止拷贝,因此出现50%的学生敲击次数10次以内存在2种可能,一类学生是其他编辑器拷贝过来,另一类学生是抄袭。
作业的运行次数中39%的学生运行2-5次,符合完成一份代码所需的运行次数。也说明从其他编辑器拷贝过来的学生会再次调试代码。26%的学生运行1次,可以判断存在拷贝或抄袭情况。
作业批改功能给老师提供了敲击次数和运行次数的数据,如果敲击和运行次数同时很低的学生,老师可以标注为抄袭。
作业题提交时间集中在课程当天到课程后第7天,课程后1天提交比例最高占27%,到第7天回落。这与大学每周一次课程的教学规律吻合。
分析与讨论
1.云端教学对传统教学方法是个挑战
在网络和数字技术裂变式发展的时代,我们接触到的大学还是处于相对封闭的状态。大学机房是切断外网的,也有大学一年级禁止学生带笔记本电脑,还有大学编程课程以教师“讲授”为中心,理论与实践严重脱节。所以教学方法的改变是思维能力和思想方法问题,也是理念和观念问题。
并且,大学在职称评定、奖金考核、管理政策的导向上没有倾向教学,所以是否也削弱了老师改革教学方法,尝试新工具的积极性?
2.一线编程教学师资力量不足
从老师使用规模与大学使用规模的对比分析,浙江、江苏、安徽、黑龙江、重庆、云南、山东平均每所大学超过2位老师教学使用,其他省份每所大学平均1位老师使用。并且使用老师中有半数集中在C和JAVA的语言级教学上。
大学计算机专业中,有很大部分老师承担算法、相关理论基础等课程教学,可以承担企业级项目开发教学的师资力量不足,掌握互联网、移动互联网新技术的师资就更加少之又少。
3. 编程教学改革开始与时俱进
随着创新创业带来的人才缺口和技术提升,我们接触到已经有高校开始时增加前端工程化开发、移动开发、云计算开发这些课程内容。
并且大学对项目驱动教学的欲望越来越强烈,经过我们多方面测试,即使学生没有学过C语言、JAVA语言,一开始就从做项目开始,也可以依样画葫芦直接实现一个Hello World的网站。在项目驱动模式下,学生直接动手作出一个产品,然后一步步深入使产品更加完善,同时展开学习更多更细节的语法知识。
2016年初,ITBegin推出项目课引擎,其所涉及的技术涵盖前端、j2EE、虚拟化、实时互动等庞大的体系,以服务器集群的方式部署此引擎,可支持几万人同时运行网站项目。项目课程经过2016年试用后在2017年开始大幅递增。
4. 学生主动学习意愿尚未激发
从预习数据反映出学生面对新知识时主动实践和编译代码的比例很少。按每个学期16-18周,每周一次课程1.5-3小时计算,如果一个学生仅仅是被动跟随老师学习,那么学生的编程时间和编程数量是明显不足的。
如何在编程课程中真正实现“翻转课堂”?如何激发学生主动学习的意愿,在没有老师督促的情况下也能积极实践?这将是下一个重要的课题。
本文来自投稿,作者李怡雯。
2、芥末堆不接受通过公关费、车马费等任何形式发布失实文章,只呈现有价值的内容给读者;
3、如果你也从事教育,并希望被芥末堆报道,请您 填写信息告诉我们。