周成
摘 要:传统的《算法与程序设计》教学忽略新一代学生生活的年代及学生极富个性的特点,传统的作业设计也忽视学生的情感与态度价值观等因素,学生对这门课学习和完成作业的积极性都不高。针对这个问题,在《算法与程序设计》这门选修课教学中引入“基于项目学习”教学理念和个性化作业的设计思想。通过“联系生活,激发兴趣,合理设置项目主题”、“ 布置开放性作业,让学生自创作品”、“让学习贴近生活,使学生能学以致用”、“合理的评价与激励,让学生更认真完成作业”、“做好学生作业完成中的辅导工作”等方面的措施进行教学改革。
关键词:算法与程序设计教学;基于项目学习;个性化作业的设计;教学模式;研究
引言
从2006年我省进入新课程改革以来,考虑到:我校是福建省一所省级示范性高中,学生的基本素质比较高;新一代学生需要培养他们一定计算思维能力等因素,所以我们高一的第三、四学段,给学生选择了《算法与程序设计》这门选修课程。
刚开始几年,我们严格按教材中内容进行教学。每节课我们先讲解课本中相应的知识,如语句格式功能等,然后布置全班统一的作业进行知识的巩固,提高知识综合应用能力。大部分同学匆忙完成作业,开始做自己的事情(如上网、玩些小游戏、偷看电视剧),少部分同学根本就不做作业,等快下课时匆匆从别的同学那里拷贝已经做好的作业交差了事。
那么,为什么学生对上课的内容不感兴趣,消极被动完成教师布置的作业?我们教师要如何改变这种不良的状况呢?从2012年开始,我校对《算法与程序设计》选修课教学进行了改革,在教学中引入“基于项目学习”教学理念和个性化作业的设计思想。
1 如何进行教学改革、引导学生进行个性化作业设计
经过认真调查分析,我觉得造成以上问题的原因有两方面:一是所教内容与学生实际生活联系不紧密;二是由教师布置、全班统一的作业没有很好地激发学生完成的欲望。针对以上问题,我们在《算法与程序设计》选修模块的教学中进行了下面几项的改革。
1.1 联系生活,激发兴趣,合理设置项目主题
首先我们根据每节课的知识点,在学生学习与生活中寻找素材,设置合适的项目主题。从学生兴趣的内容出发引入所学知识,使同学们一下子就被项目中的范例深深地吸引住,并能认真听教师讲解范例的实现过程,进而达到学习知识的目标。例如在第一节《VB可视化程序设计基础》的学习中,我们介绍一个类似QQ登录程序的“登录小程序”和一个名为“四季歌”的图片切换小程序。由于学生几乎都有使用QQ的经历,他们一看到登录小程序就会联想到QQ登录程序,就会很想知道这个程序是如何编制的。那么接下来他们就很认真地听教师讲解如何使用VB可视化环境快速简单地制作出这个学生第一个windows界面下的应用小程序。而在范例二“四季歌”程序中,主要通过不同按钮点击实现不同图片显示的视觉效果来吸引学生的眼球。
1.2 布置开放性作业,让学生自创作品
在讲解完两个范例之后,学生都迫不及待要自己试一试老师讲过的范例。这时,我们再抛出一个“史无前例”的作业,让学生在理解两个范例设计过程后,用本节课两个范例中涉及的知识,自己设计一个作品,这对学生来讲更有挑战性。但他们要做些什么作品呢?我们可以向他们展示一些前几届同学好的作品,开阔他们的思路,并利用“同学们,这些作品是上一届的优秀作品,你们可以做得比他们更好吗?”这样激励语言进一步激励学生认真学习范例中知识点,体验从作品创意,到进行设计、到完成自创作品的乐趣。
在一小时后,大部分学生能认真理解范例中的知识,积极开动脑筋进行创意,高效完美地完成一份史无前例的“自己的作业”。有学生喜爱的“汽车世界”、“电影欣赏”、“ 植物知识”、“ 《爸爸去哪儿》剧照”,……等等作品。
这种“要求自拟主题,用所学知识编写自己喜爱的程序”的个性化作业设计,使得学生有做自己作业的乐趣。虽然只是这么小小的改变,却有完全不同效果。以前的作业是教师统一布置的,学生不一定对所涉及内容都感兴趣,主观上学生是被动的,而现在是学生要做自己的作品(作业),变被动为主动。另外步调一致的作业,必然做成作业的答案可能比较唯一,这样某种程度上也为想偷懒的学生抄袭他人作业提供了方便。而教学改革后,每一个学生都有自己的创意的作业,每一个作品都是独一无二的,学生也不好再抄别人的作品。
1.3 让学习贴近生活,使学生能学以致用
如果我们的作品只是停留在好看,学生有兴趣上,那还是不够的。我们要引导学生观察生活,发现身边的应用,使得学生体会到自己的编写程序是有用的。例如:在《顺序结构程序设计一》的课时中,主要学习的内容是输入语句,赋值语句、输出语句、顺序结构程序等知识点。这节课,我们不直接讲这些语句,而是通过范例“点餐程序”的设计,让学生回忆在吃快餐时点餐的界面情况,进而激发学生为某餐厅设计“点餐程序”的兴趣。通过分析,我们发现点餐程序一般界面要友好直观,使用方便,而本质上它是一个顺序结构程序,通过界面物品选择来确定数量,进而计算并输出总价。
当然,这个程序对刚上二节课的同学来说还是有一些困难的。我们要将理解变量、事件过程运行机制、文本框输入、输出等知识进行难点分散,各个击破。在逐步解决以上难点后,我们就开始让学生自行创意并设计顺序结构程序,并要求联系生活实际编写有意义的程序。有旅游订票系统、购书系统等。通过这节课学习,学生就了解生活中许多订票系统、网络上订单计算等程序是如何实现的,他们的程序是有实际应用价值。
1.4 合理的评价与激励,让学生更认真完成作业
进行以上改革后,学生完成作业的热情很高。有些同学还会利用课余时间继续完成没有完成的作业,有的同学则会对以前的作业进行进一步的完善,再次提交。这些都是前几年传统教学中没有出现的。除了由于作业的内容更实用化、生活化、趣味化这些原因外,我们及时的评价与激励是一个很重要的原因。开展此项实验与研究以来,我们首先在课上公布作业评分标准,教师基本能在下一节上课前按规则评出成绩,并予以公布,评选出上榜作品在全班甚至全年段展示。这对于表现欲极强的高一学生来说,无疑是一种极大的激励。每节课我们都要展示一下几个特别好作品,并加以评点。这样,对于作业完成好的同学来说,获得极大的自豪感与成就感。而对于作业完成没那么好的同学,他们也会学习别同学的好的创意,激励自己在后面的作业中做得更好。我们还会对有明显进步的同学的作品进行展示,以激励他们继续做好作业。
1.5 做好学生作业完成中的辅导工作
由于学生是自己创意作业,然后完成作业。他们在完成作业过程中肯定会遇到一些困难,如果我们不能及时帮助他们解决问题,那么慢慢地也会影响他们的积极性。
例如有个同学在学习分支结构程序设计时,创意设计一个BMI体质测试程序,但他无从下手。于是我就引导他先查找有关BMI体质测试的有关资料,同他一起设计出算法。最后我们还讨论该程序的界面元素(如测试简介、输入数据提示)。没有想到的是该同学最终完成一个功能完整、美观大方的体质测试程序。我们推荐他在一些自由软件网站中发布他的作品。通过这个任务,学生就了解如何进行创意、设计、完善程序等过程,不仅掌握了课本中要求掌握的所有内容,而且大大激发了学习程序设计的兴趣。
2 教学实验的结果分析
在《算法与程序设计》的教学中,我们采用两节连排形式。在展示上榜作品、讲解范例的实现过程,学生都能听得认真;在作业完成过程中更是积极思考、踊跃探讨,高效地完成作品。通过一个一个项目的学习,学生不仅掌握课本中的知识,达到课标中要求。更重要的是他们体验了编程解决问题的意义与快乐,为他们将来继续学习更多的程序设计知识打下了很好基础。两年的实验教学后,学生会考成绩不但没有因为我们严格按课本上内容进行教学而受到影响,相反会考成绩却还有较大的提高。这种基于项目学习、个性化作业设计教学模式受到学生的喜爱。
这两年的个性化作业中,最好的作品应该评给2014届一班4号江同学的“俄罗斯方块”。这是他亲手完成的一个游戏,花费了他好几个晚上的时间。这个作品在班上男生中疯狂地流传,它的意义不在于这个游戏,因为同样的游戏早就有了、甚至有更好的,但这是他们身边同学自己做的游戏作品,这还是少有的。这个作品虽然只是个例,很少有学生能完成这么高难度的作品。但我想一定是我们这种基于项目的学习与人性化作业设计这种教学模式激发了他创作这个作品的兴趣。