您好, 访客   登录/注册

任务驱动法在算法语言模块教学中的实践与思考

来源:用户上传      作者: 陈良

  摘 要: 在目前的信息技术教学中,新的教学模式不断出现,教学方法多样化。作者根据自己的教学经验,发现任务驱动法很适合算法程序方面的教学,有利于培养学生分析问题、解决问题的能力。
  关键词: 信息技术 任务驱动法 算法语言模块
  
  算法语言模块在信息技术选修模块中内容最抽象,学习比较单调乏味,采用任务驱动法可以充分调动学生的学习积极性。它可以使学习由表及里逐层深入、逐步提高,教学中设计一些有意义的任务,引导学生思考,通过学和做,培养分析问题和解决问题的能力,在完成任务的过程中,增长知识,学会技能,积累成就感,使他们不断体会到使用计算机编写程序解决问题的乐趣。
  任务驱动教学过程:兴趣导入―交流讨论、提出任务―尝试练习、找出方法和不足―学习提高、交流体会―评价小结。在学习过程中,任务下达后,教师及时巡视指导、实践总结。下面我以“数的比较”为例,简述任务驱动教学过程。
  一、任务驱动教学案例描述
  (一)兴趣导入
  教学演示一个“数的比较”的例子,从键盘输入任意两个数,点“执行”,最大的数就显示出来了。
  “同学们想一想,它用算法是怎么实现的?大家用流程图来画出它的算法。”
  “有了流程图,我们再看它的源程序。”学生有所领悟。“原来是这样实现的,大家会做吗?”引出任务。
  (二)任务设置
  根据学生知识掌握的现状,我把任务设计成几个有一定联系的环节,按学生完成的进度依次给出:①两个数中求最大数,并从小到大打印最大数,编写程序;②三个数中求最大数,并打印最大数,编写程序;③把无序数字4、6、7、5、3、2从大到小打印,编写程序。
  任务分析:任务是按照易到难出现的,第一个任务最简单、最简单并不意味很容易就可以实现,编程语言在学习的过程中,实现算法容易,真正完成编程,没有一定的语法基础、编程基础,还是很难完成的;第二个任务,相对于第一个任务,难度增加一点,但通过第一个任务的完成,熟练编写程序,只要知道解决第二个任务的算法,就可以很快完成;第三个任务,应该是比较难的,其实这是一个典型的“排序”问题,它是通过最初的一步一步比较,最后得到结果的,学生在没有指导的情况下,很难完成任务。
  (三)尝试练习
  在尝试过程中,采用了分组讨论,选择四人一组,通过协作,解决任务。在这一过程中,要求每组必须先画出流程图,然后进行编程,这样有利于小组成员共同学习,编好的程序要求记录,分享成果,也有利于组员分机练习,消化成果。
  在学生尝试编写第一个任务程序时,我下机巡视参与探索和指导,引导学生参考老师刚才导入的演示例题和书上的类似例题分析模仿。查看学生在电脑上的执行情况,或参与一些学生的讨论或探讨,发现问题,如果是个别问题,则作个别回答,如果是带有普遍性的问题,则在全班回答讲解。
  在完成第一个任务后,让完成情况较好的小组讲解完成任务过程中遇到的问题和问题是怎样解决的,并演示作品。通过这种方式总结,既激发了学生的表现欲,又顺水推舟过渡到了第二个任务。学生编程的积极性顿时高涨起来,感觉到编程是一件实用且能展示自己智慧的事。
  第二个任务下达后,每个小组迅速行动起来,查资料、画流程图,由于教材上有这方面相关的例题,只不过是求最小的数,机灵的同学很快就找到了捷径,把教材上的源程序代码,经过分析,改了几个代码符号,就变成了求最大数的程序代码。
  (四)学习提高
  通过两个任务的完成,有的同学以为编程太容易了。这时,过渡到第三个任务,跟第二个任务一样,同学们马上投入“战斗”。第三个任务看似简单,没学过排序算法的同学们,很难做出来。当然,这个难度我是知道的。果然,只见同学们一个个愁眉苦脸,做不出来。这时我出来解围,既然数的大小是通过比较得出来的,那么首先要把解决这个问题的算法想出来。让学生思考,有的同学想出算法,但不知如何用代码来实现,我把大家解决问题的算法提炼后,在黑板上书写出解决问题的流程图,怎样实现呢?用条件语句书写,显然最终能够做出来,但是语句很多,结构不清晰,难以看懂,这时引出使用数组与循环结构来解决这个算法,就简单多了,把数字的值赋给数组变量,使用内外循环,外循环每循环一次取出一个剩下的数字最大的数,内循环进行循环比较,取大的数。这样就完成数字的排序,最后打印排好序的数组。给出数组定义和赋值语法,板书给出内外循环语法结构,剩下时间由学生来完成这个编程。
  这里的提高之处,就在于理解数组和循环结构的涵义和用法,来帮助开发较复杂的编程问题。
  (五)小结
  对学生在教学中遇到的一些困惑进行总结回答,并引导学生对编程解决一般问题的思路、步骤进行总结,并为下节课内容开展做铺垫。
  二、任务驱动教学法在教学中的实践总结
  (一)在任务驱动教学过程中,“任务”的设置是很重要的,它将决定这节课学生是主动地学习还是被动地学习。任务的提出首先要具有实践性,尽量避免抽象和完全理论化的任务出现;其次,必须让学生感兴趣,必须有吸引力;最后,要有拓展性,任务要有代表性和通用性,可以拓展到其他任务。
  (二)教师在任务驱动教学过程中,要注重教学策略。如在合适的时机激发学生学习动机,使学生对学习产生兴趣和求知欲,在学生完成任务的过程中,应走到学生中间,参与学生的讨论,控制好集体讨论的节奏和深度和广度,对突然出现的问题要引导学生思考,并适时解决和归纳。
  (三)教学中需注意的问题。(1)教师要进行方法上的引导,让学生有更多时间自主学习、思考,完成“任务”;(2)学生的学习能力是不同的,容易造成学生成绩两极分化,教师需加强课堂交流与小结,使得学习能力差的或操作有疏漏的学生能够全面掌握知识点,完成任务,达到教学目标。
  总的来说,在算法语言模块教学中,采用任务驱动法,其优势是明显的,有利于培养学生自主学习、合作精神和探究能力,有利于提高学生的信息素养水平和解决问题的能力。
  
  参考文献:
  [1]梁红.计算机“任务驱动”教学法的运用原则[J].广西教育,2007,(Z5).
  [2]杨万河.浅议计算机“任务”驱动教学法[J].琼州学院学报,2008,(1).


转载注明来源:https://www.xzbu.com/9/view-921176.htm