探究式学习在算法设计中的应用
2009-03-06刘金玲唐棣
刘金玲 唐 棣
文章编号:1672-5913(2009)01-0069-02
摘要:本文通过对探究式学习方式的研究,提出了将之应用于算法程序设计课程中,实践表明探究式学习可以提高学习效率,培养学生探究、思考问题的学习习惯,使学生乐于去学习知识,掌握算法设计的技巧,并能将抽象的算法灵活应用到实际的问题中。
关键词:探究学习;建构主义;算法设计;猜单词;学习兴趣
中图分类号:G642
文献标识码:B
1 探究学习方式的优点
探究式学习作为一种积极的学习方式,能促进学生思维能力的最佳发展,使学生在学习中探索问题,使得学生自主、独立地发现问题,并通过思考、观察、讨论、调查、搜集与处理信息等一系列活动,获得知识与技能,从中培养分析问题、解决问题的能力和创造能力。其核心是改变学生的学习方式,使学生在情感、态度与价值观等方面得到发展,特别强调对学生探索精神和创新能力的培养。
问题是学生探究的载体,好的问题能引起学生争论,激发学生探究的欲望。只有通过分析问题、解决问题才能充分调动学生的主观能动性,所以探究最好从一个能引起学生争论的问题或是一个两难的选择开始。如何设计一个情景,从一个极具思辨性的问题材料出发是开展探究学习的前提条件,否则可能会适得其反。在任务的设计时应注意:(1)所设计的问题必须能蕴涵或体现学科相关的概念、原理和方法。(2)问题应该是开放的、真实的或接近真实的,越接近生活就越具有调动力。
2 算法程序设计的课程特点
算法程序设计是一门晦涩难懂的课程,很多同学在学习初期就被抽象的概念和流程图搞得晕头转向,从而失去学习这门课的兴趣,使得整个课程的学习变得枯燥乏味,在学完这门课程之后根本不知道如何编程的情况比比皆是。然而算法却是一门很重要的学科,涉及的范畴很广,包括数学、工程学、心理学、生物学和管理学等许多学科,因此采用什么样的方式学好这门课程变得非常重要。算法作为一门计算机课程,上机实践是必不可少的过程,程序设计的前提是设计出好的算法,学会如何将现实的问题用正确、高效的算法来实现,才是这门课程要达到的目标。
在算法课程中采用探究式学习方式,强调以学生为主体,学生的思维活动被充分调动,在探究过程中教师以学生的问题为导向,采取双向互动的原则。教师启发学生的发散思维和聚合思维,使学生处于一种不断发散与聚合的创造性思维状态,以此顺利推进学习进程。
3 探究学习在算法程序设计的应用
这里我们选取了一个猜单词的探究实例,设置了两种情况,一种是人与人的组合方式,也就是一个人给出单词,告诉单词的字母总数,另外一个人猜;第二种是人机方式,这种方式事先把单词存储到一个文件中,计算机随机取出一个单词,显示单词中字母的总数,然后猜单词。这里我们设置猜的次数在4~10次之间,可以由猜词一方设置。图1和图2列出了猜词的几个截图。
下面给出教学的设计过程:
(1) 教学目标
知识与技能:了解算法设计的过程,能读懂流程图;理解编程的含义,培养学生用计算机解决现实问题的能力。
过程与方法:通过猜单词的过程,归纳利用计算机解决问题的基本思想方法。
情感态度与价值观:通过游戏方式激发学生学习程序设计的兴趣和热情,体验程序设计的强大魅力。
(2) 内容分析
本节课的学习任务是:从简单问题出发,设计解决问题的算法,初步体验用计算机解决实际问题的过程。
教学重点:算法的实现及程序解决问题的方法。
教学难点:对算法的设计和编程的实现。
探究的过程:给出题目,让学生探究在这个游戏中需要用到哪些算法知识点,该如何实现相应的内容。
(3) 教学策略设计
同时让学生参与提出问题,通过探究激发兴趣。在学生讨论后,引导学生回答所提出的各种问题,产生理性认识。教—学活动的设计如图3所示。
(4) 探究教学实践的效果
通过探究学习方式突出了教师的主导作用和学生的主体地位,符合了新课程改革的要求,在整个教学过程中学生成为了学习的“主角”,他们主动地学习,积极参与问题的分析、讨论、交流、体验,在自主学习的氛围中主动学习知识,增强了自主学习的意识,不仅掌握了应学的知识,而且在实践中体会到了学习的乐趣。这种自主学习的过程提高了学生发现问题、思考问题、解决问题的能力,提高了学生的自身素质。
在探究教学过程中也还存在一些问题。由于学生知识掌握的程度不同,有些同学不能充分理解算法过程,但经过大家的讨论和交流使他们对知识有了一定的理解,为了进一步掌握知识,可以给学生留下更多的探究空间,使他们通过自己的探究把问题解决,从而增强他们把课程学好的信心。
4 探究教学实践的体会
算法程序设计是一门要求综合运用所学知识,强调动脑、动手的课程。在教学过程中采用探究式学习可以充分调动学生的主动性,使学习活动的强制性变得弱一点,把学习内容变得生动而有趣,如红绿灯的设计、五子棋等问题都可以作为探究实例。通过这些适宜探究的生活实例,激发他们的学习兴趣,而问题的最终解决可以增强他们学习的自信心,从而使学生喜欢算法的设计过程。在教学过程中抓住学生知识的自主建构这一核心,对探究式学习进行更加深入的理论层面思考,从而为实践者提供一个更加深刻的思维框架。但探究式学习方法不是一把万能钥匙,不能一味地追求新颖而忽略课程特点和实际情况,在教学中要根据内容掌握合适的度,否则可能会适得其反。
正如皮亚杰在评论教学方法时所说的皮亚杰在《教育往何处去》一文中所说,“所提倡的教学方法越好,教师的任务就越艰难,好的方法要求教师既要对他的学科和学生有高度专门化的知识,同时又要对他所从事的职业有真正的爱好”。好的总是难的,在算法与程序设计的探究式学习过程中还有很多问题需要我们在实际的课堂上进行适度把握和适当的安排,从而使同学们真正掌握这门实用学科,将来可以应用到其他学科的实际需要中。
参考文献:
[1] 罗星凯. 探究式学习:含义、特征及核心要素[J]. 教育研究,2002,(1).
[2] 徐学福. 摘自探究问题的内涵及其形成[J]. 教育科学研究,2004,(11).
[3] 王晓东. 算法设计与分析[M]. 北京:清华大学出版社,2003.
[4] 陈清华,朱红. C语言课程设计—案例精选与编程指导[M]. 南京:东南大学出版社,2003.