任务驱动教学法在《C语言程序设计》中的应用
2011-10-13李彩玲
李彩玲
(临汾职业技术学院,山西 临汾 041000)
任务驱动教学法在《C语言程序设计》中的应用
李彩玲
(临汾职业技术学院,山西 临汾 041000)
高职教育的培养目标是高素质技能型人才,重点是培养学生解决实际问题的能力,增加学生就业机会。因而结合《C语言程序设计》课程教学,采用“任务驱动”教学方式,在教学过程中模拟真实工作环境,以工作任务的方式来整合教材内容,激发学生的求知欲望和创新意识,培养学生分析问题、解决问题的能力和将来在实际工作中的操作能力。
任务驱动;程序设计;教学方法;创新能力培养
目前,《C语言程序设计》已经成为各类高等职业院校计算机专业的入门语言,它具有功能丰富、表达能力强、目标程序效率高、移植性好等特点,而且很多新型的语言都衍生自C语言。通过对C语言课程的学习,可以培养学生分析问题及解决问题的能力,为后续课程及其他程序设计语言的学习和应用打下坚实的基础。为更好地促进对C语言的学习及应用,我们在教学过程中模拟真实工作环境,采用了“任务驱动”教学方式,充分发挥学生在课堂上的自主学习能力,挖掘学生的特长和潜能,培养学生的想象力和创新能力。
一、关于任务驱动教学法
“任务驱动”教学法是以建构主义的认知灵活性理论为基础的一种教学方法,它将教学内容设计成学生感兴趣的、有意义的具体任务。教学中以完成任务为主线,把知识点巧妙隐含在任务中,由教师引导学生,学生借助教师的引导和同学的帮助,利用必要的学习资料,通过意义建构方式获得知识,达到教学目的。
二、任务驱动教学方式在C语言教学中的实际应用
“任务驱动”教学法运用于C语言教学中大致可分为五个阶段:(1)明确目标、设计任务;(2)分析任务、正确引导;(3)领取任务、自主学习;(4)完成任务、归纳总结;(5)再设任务、提升能力。
1.明确目标、设计任务
精心设计任务是实施任务驱动教学的关键所在。在设计任务时,最好遵循以下几点原则:(1)整个任务是一个系统,总体任务的每个子任务之间要保持系统的连贯性;(2)任务的设定以学生为中心,根据学生的实际情况和学生们感兴趣的方向来设计任务;(3)任务要分层次,这样可以根据学生的认知等特点遵循由浅入深、循序渐进的原则让学生来逐渐接受不同难度的任务;(4)任务要体现工作场景中的真实情况和实际操作的合理性。总之,设定任务是整个任务驱动教学法的核心,只有任务设计得合理,学生在完成任务的过程中,才能既巩固旧知识,又能探索新知识、新技能,模拟真实工作环境,逐步提高,通过一个个子任务的完成,最终完成总体任务,提高操作技能。
我们以一个具体的实例来对任务驱动教学法进行说明。例如:笔者某班学生在大二第一学期开始上C语言课。笔者没有按照传统的教学方式,先讲语法、结构,再实践应用,而是一开始就把上一届学生用C语言做好的课程设计“学生成绩管理系统”这样一个任务演示给学生看,让学生看到用C语言开发出来的这样一个综合应用程序的运行结果。学生们看到友好的界面、完善的功能,激发起学习C语言的兴趣,接着告诉学生,我们学完C语言这门课程,也要完成我们班“学生成绩管理系统”这样一个工作任务,这样学生一开始上课就明确了学习目标,知道了工作任务,但是,我们如何去完成这样的工作任务呢?
2.分析任务、正确引导
我们就要根据学生具体的知识结构特点,将任务分层,即把大任务中的各个子任务分解出来,让学生有信心来完成。这里,我们把学生成绩管理系统这个大任务分为六个子任务:(1)数据信息的输入、输出;(2)数据信息的查询;(3)数据信息的修改;(4)数据信息的排序;(5)数据信息的计算;(6)数据信息的删除。先说任务(1):学生数据信息的输入、输出。编写这个C语言程序是后面所有子任务的基础。在分析明确任务后,就要围绕具体任务中涉及到的新的知识点进行适量的概念教学和举例讲解。针对任务(1),主要讲解输入、输出函数的基本概念以及顺序结构中设计的常规算法,为任务(1)的完成提供解决办法。学生带着任务听课,积极性很好,效果也很好。
3.领取任务、自主学习
知识点讲解完,老师先给学生演示任务做完后的效果,学生根据设计的任务经过自主或小组协作的方式,确立程序的实现算法,完成任务。在完成任务的过程中,老师引导学生掌握如何用所学知识来进行算法设计,同时还要注意观察,及时发现学生中有新方法出现,并且推广新思路,鼓励学生创新。
4.完成任务、归纳总结
对学生任务的完成情况进行评价,是“任务驱动“教学的一个主要环节。评价包括:老师的评价和学生相互的评价。老师评价的内容包括:对新知识的理解、掌握和应用能力,自主学习能力,同学间的相互协作能力,解决问题能力和创新能力等。学生评价包括:相互评价和自我评价。
学生在完成任务的过程中总会遇到新的问题,例如:怎样对学生成绩的小数进行处理,如何设置总分与名次之间的关系等等。在归纳总结的时候,老师可选择比较典型的问题,如任务(4)中数据信息的排序,学生有的用的是冒泡排序,有的用的是选择法排序,但是同学们用这两种排序方法都是对总分进行排序,能不能编写程序时既能按照单科成绩排序,也能按照总分进行排序,分别生成不同的文件进行保存。在总结之后,学生对有些平时不注意的知识点又加深了理解,明白了编程要求严谨,算法灵活,同一个问题可以用不同的方法来解决,同时对整个过程中学生的各种编程方法进行比较、评讲、归纳,并对学生有创新的地方进行鼓励和表扬,对不够完善的方面进行纠正和补充。然后提出下一个新任务,整个教学过程自然流畅,有内涵,有延伸。
5.再设任务、提升能力
当学生完成一个小任务后,老师及时进行总结与评价,让学生对自己在完成任务过程中所用到的知识再一次回顾。但是,同一个班级内学生的水平有很大的差距,既要照顾到水平差的,不能让这些学生掉队,还要照顾到水平高的学生,以免这些学生“吃不饱“,这时我们可以再设任务,让差学生再一次巩固原任务,让好学生在原任务的基础上进一步拓展(比如完成了“学生成绩管理系统”可以再来完成“教师工资估计管理系统”这样新任务)这样,就兼顾到了不同水平的学生。
三、教学效果分析
在C语言教学中,笔者把采用“任务驱动”教学法实验的班级和以前采用传统教学法的班级做了个比较,效果很不一样。具体附表说明:
从上表可看出,采用任务驱动教学法,在教学中得到了学生的配合,学生不仅掌握了知识和技能,并能够灵活地运用知识和技能完成实际工作与生活中的各项任务,提高了学生对编程的兴趣。从考试成绩上看,采用任务驱动教学法后,该课程统考及格率由不足80%达到了85%以上,特别是学生的实训效果远远好于传统的教学方法。说明采用任务驱动教学法比较成功,不仅提高了学生的整体学习效果,而且学生通过计算机全国等级考试的人数也有所提高。
总之,实践表明在C语言程序设计课程中使用“任务驱动”法,教学效果明显好于传统教学法。教师与学生围绕“任务”积极互动,学生们在一个个典型的“任务”驱动下,展开协作学习活动,教师引导,帮助学生由简到繁,由易到难,循序渐进地完成一系列任务,学生不仅乐于学习,而且主动学习、创造性地去学习。这样,不仅培养了学生的自主学习能力和解决实际问题的能力,也提升了学生的创新能力。因而说,任务驱动教学方式在当前程序设计教学中确实是一种行之有效的教学方法。
[1]谭浩强.C语言程序设计[M].北京:清华大学出版社,2000,(1).
[2]苏传芳.C语言程序设计基础[M].北京:电子工业出版社,2004,(9).
[3]李军.“教学做”一体化任务驱动型高技能教学模式构建[J].职业技术教育,2009,(8).
F718.5
A
1673-0046(2011)09-0053-02