摘要:为培养非计算机专业学生的程序设计能力,课程实践中利用翻转课堂的形式,将最基本的语法规则讲解放到了视频中,安排学生课前观看,课堂中,在教师适当的引导下读程序写程序改程序,对于同一个问题讨论、分析、总结、思考,获得了较好的教学效果。
关键词:程序设计;翻转课堂;教学改革
1研究背景
在我国高校中,不管是计算机专业还是非计算机专业的学生都要学习程序设计,程序设计能力就是当我们需要实现某个功能时,会用一种程序设计语言表达出来,就像学外语一样,不是会做选择题,而是当我们面对外国人,想要说什么能表达得出来,这种能力也就是计算思维。而目前的程序设计课程并不能很好地实现这个目标。程序设计语言也是一种语言,语言的学习需要大量的时间去练习。每个学校的课时安排不尽相同,但是通常为理论加实验的组合方式。在课时不断缩减的大背景下,通常只能讲授顺序、选择、循环三大结构以及数组、函数等内容。大部分学生在课程结束时只会编写类似累加、穷举这类简单程序。这其实是远没有达到各专业对于程序设计的需求的,读写文件、读写数据库等内容是学生将来处理专业数据时必然会遇到的,目前程序设计课因为课时不足很少涉及。另外,目前程序设计课上,通常对于一道题目老师就给出一个所谓的正确答案,或者叫参考答案,这种做法其实是不合适的。程序设计没有标准答案,就像同一个题目的作文,不同人可以写出不同的文章。每个人认真设计的程序都值得肯定和尊重,即便存在不恰当的地方,其中也体现了程序设计者的创造性。对于同一题目,可以引导学生各抒己见,讨论不同做法的适用性和优缺点。现在的程序设计课程,大多数的课时被用来讲解语法规定“是什么”,而在传统课堂中,在学生明白了“是什么”之后,最有价值的学生最应该学习的“怎么用”却被省略掉了。在培养学生真正的程序设计能力方面,毫无疑问多读程序多编程序可以起到很好的效果。可是很多老师苦于课时不足无法对学生进行这方面的锻炼。我们在教学实践中,尝试利用翻转课堂的形式,将最基本的语法规则讲解放到了视频中,安排学生课前观看。课堂中,留给学生时间,在教师适当的引导下读程序写程序改程序,对于问题进行讨论、分析、总结、思考。课程结束后,对学生进行了学习效果调查问卷,数据显示获得了较好的教学效果。
2翻转课堂教学实践
2.1翻转课堂教学模式
翻转课堂起源于美国,颠覆了传统的课上讲解课下作业的教学模式,实行课前看视频讲解课上作业讨论,这与混合式学习、探究性学习有相似的地方,都是为了让学习更加灵活、主动,让学生的参与度更强。依据程序设计类课程的特点以及对于非计算机专业程序设计能力的要求,采用如图1所示的教学模式,即课前学生观看教师录制好的视频,并完成相应的练习题。课堂上教师提出具体问题,留出时间让学生寻找思路、编写程序,然后学生讲述自己的方法参与讨论。最后教师点评总结,并布置下次课前需要观看的视频任务。
2.2课前设计模块
课前环节包括观看视频和课前练习两部分。视频录制是件费时费力的事情,教师需要自导自演。为了减少镜头前的紧张,我们选择了录屏软件,只录制老师的声音和屏幕图像,这样既降低了录制成本,也降低了对于录制环境的要求。考虑到学生看视频的注意力问题,所以每个视频都控制在8min左右,以碎片化的微课形式出现,幻灯片与运行环境混合使用。录制中的一大问题就是录制中暴露出教师讲课的很多问题,比如口头语,语速是否合适、语调是否抑扬顿挫吸引学生,所以一遍一遍录,这个过程虽然痛苦,但是使得视频日渐完美。课前练习的主要作用是检验看视频的学习效果。练习题难度较低,重点考查语法知识点的掌握,如IF语句部分,即采用读程序写结果的方式进行练习。为了方便学生观看视频,我们设计开发了翻转课堂网站,提供学生看视频、做练习的功能,提供教师管理视频、查看学生观看视频以及练习完成情况。
2.3课堂设计模块
在翻转课堂中,课前环节起到准备的作用,课堂环节仍然是决定教学效果好坏的关键步骤。讨论部分是翻转课堂的核心环节,设计的讨论问题应该紧扣教学内容,难易适中。教学实践中,讨论问题常用方式有以下三种,要求每个同学都要课上认真写代码,并且积极参与讨论。学生写代码的时间,教师可以观察学生的进度以及编程情况,同时一对一地进行交流。(1)对于一个问题,鼓励学生说出自己的想法,按照自己的想法设计程序。以VisualBasic语言课程为例,学习选择结构时,提出商场消费中消费越多折扣越多的实际问题,引导学生为商场设计一个计算折扣的程序,留出大约15分钟的时间让学生思考、编程。课上的这部分时间虽然不是很长,但是通常学生会有紧迫感积极思考,然后请学生来讲自己的程序。有的学生使用IF语句的单分支,有的学生使用IF语句的双分支或者多分支,还有的同学使用SELECT语句。即便语句相同,有的学生设计的条件也不完全一样,一番各抒己见之后,学生们不光对于选择结构的使用有了较好的掌握,同时深刻认识到只要逻辑结构正确,完全不同的程序可以都是合理的。(2)引导学生深入思考,不断完善。学习Timer控件时,提出设计一个欢迎新同学的滚动字幕,留出大约15分钟思考的时间。大部分学生讨论时都是直接修改标签的位置属性,比如Label1.left=Label1.left+100即字幕自动向右移动,学生没有想到移动到窗体的最右端,标签就消失不回来了。在教师的引导下,鼓励学生继续思考如何解决。学生想到当Label1.left超过窗体边界时就Label1.left=0之后,继续引导学生思考如何实现字幕水平移动左右两边碰壁弹回,如何实现字幕随机移动四面碰壁弹回。这样一个简单的问题就不断深入,程序越写越复杂,功能也越来越丰富,学生的学习兴趣被极大地激发出来。(3)设计“大家一起来改错”环节,展示学生常见的错误程序,留时间让学生阅读思考,然后大家一起来讨论看看错误出在什么地方,需要如何修改。这个环节很好地调动了学生参与的积极性。教师站在学生的角度准备的多种多样的教学素材,使得学生在课堂上能够参与,激发了学生的学习积极性和求知欲,有意识地培养学生的自主学习能力。
3翻转课堂教学效果分析
在教学实践中可以看到,传统课堂与翻转课堂在教师行为、学生行为、教学形式以及课堂内容上都存在着很多不同,如表1所示。为了考察教学效果,我们对2014级的275名同学进行了问卷调查。如表2所示,可以看到对于翻转课堂的总体评价共86%的同学表示满意或基本满意,观看课前视频对基本语法规则掌握情况共68%的同学表示满意或基本满意,对于课堂上写代码并参与讨论的学习效果有89%的同学表示满意或基本满意。这说明翻转课堂的教学实践中,一方面,视频录制的质量有待继续提高,想要在课下吸引学生5分钟的注意力,需要视频更精简、设计更巧妙。另一方面,课堂上写代码并参与讨论总结的方式是受到肯定的,实践中的教学素材需要进一步整理提升,应该更多考虑趣味化、实用性和连续性。在教学的改革和实践中,我们感受到翻转课堂的好处有很多,课堂上有更多时间的思考、分析、动手与互动交流,教师会更了解学生,更好地发现和帮助学习有困难的学生,非常适合在程序设计类课程中推广。
参考文献:
[1]陈后金.转变教育观念造就知而有识学而善用的优秀人才[J].中国大学教学,2013(10):10-11.
[2]张金磊,王颖,张宝辉.翻转课堂教学模式研究[J].远程教育杂志,2011(4):46-51.
作者:孙晋非 张瑾 刘世蕾 单位:中国矿业大学计算机学院