一、为什么要提倡和鼓励算法多样化
首先是计算教学的目的发生了变化。
过去计算教学的目的是使学生具有整、小、分数四则计算的能力。把公认的规范和有效的算法教给学生并配上大量的计算练习,是达到这个目的的基本途径。为了便于教和练,一般更重视基本算法的掌握。
新课程把计算教学寓于解决实际问题的情境中,为解决问题而研究算法。要求学生在掌握数的基本运算的同时,形成解决问题的一些基本策略,体验解决问题策略的多样性,发展实践能力和创新精神;要求学生通过计算的学习发展推理能力,学会有条理地、清晰地阐述自己的观点;要求学生在计算的学习中获得成功体验,锻炼克服困难的意志,建立自信心。新课程的教学目的不只局限于认知与技能,更关注学生在学习过程中对解决问题、数学思考、情感态度的体验。体验是在实践过程中产生的心理感受。需要学生积极主动的参与。因此,新课程中的计算教学不再是教师讲授算法,而是学生探索算法,课堂上出现多样算法是必然的。
第二是我们对算法的理解变了。
过去,我们把算法看成人类文明的结晶,是祖先创造、总结、遗留的宝贵财富,是数学学科的重要知识,学生必须继承算法。我们把算法看成是数学计算的操作程序,规定学生必须熟背熟记,遵循法则。我们把让学生掌握算法看成计算教学的中心任务,惟有突出算法、讲清算法才能保证教学效果与效率。而学生不同的算法往往会干扰这一进程,因此,主观上我们并不希望学生节外生枝。
新课程认为学习算法是学生经历数学化的活动,是学生经过自己的努力解决以前未曾遇过的新问题,认识未曾接触过的新知识,掌握未曾运用过的新方法。学习算法是一次创新的过程。新课程教学算法不是给学生框框与束缚,而是给予探索空间;不是给学生知识与规定,而是给他们提供展示个人才智、交流各自收获的机会。因此,学生中出现多样算法是必然的。
第三是学生的学习方式变了。
“教材选定算法——教师讲解算法——学生模仿算法——练习强化算法”是过去计算教学的基本模式。这个模式围绕教材中既定的法则运转。教师只讲一种算法,学生只学一种算法,不大可能出现算法多样化的局面。
新课程把学生动手实践、自主探索、合作交流作为学习数学的重要方式,让学生充分利用自己已有的知识、方法、经验,经过有效的学习活动,获得对数学的理解。由于学生自身思维方式以及所处的文化环境、家庭背景不同,导致对情境的感受、对问题的理解以及对思考角度和方法的选择也不可能完全相同。因此,出现多样算法是必然的。
提倡和鼓励算法多样化,不是从一种算法到多种算法“量”的变化,而是尊重每个学生的个性特征,允许不同的学生从不同的角度认识问题,采用不同的方式表达自己的想法,用不同的知识与方法解决问题。提倡和鼓励算法多样化是因材施教、促进每一个学生充分发展的有效途径。
二、教科书中出现的多种算法是不是都要求学生掌握?在课堂教学时出现教科书上没有的算法怎么办?
首先,要明确新课程中的算法多样化不同于以往的一题多解。
在教学中,我们往往就某一道题要求学生用两种甚至多种方法解答,即一题多解。其目的是培养学生思维的灵活性、发散性,训练他们用不同的知识、从不同的角度、以不同的思路和方法解决同一问题。一题多解是对每一名学生提出的学习要求,可以说,对一道题有多种解法是学生个体能力的表现。
算法多样化是每一个学生经过自己独立的思考和探索,各自拿出体现个性的解决问题的办法,从而在群体中出现了许多种算法。因此,算法多样化是群体学习能力的表现,是学生集体的一题多解,而不是学生个体的多种算法。
过去的一题多解主要是对解答应用题的要求,新课程中的算法多样化更多地表现在基本的四则计算的学习中。(1)在探索基本的口算、笔算、估算方法时,鼓励学生算法多样化。如45+30=?可以从45起往后十个十个地数出结果;可以通过操作学具摆小棒、拨算珠、叠木块寻找得数;可以先算40+30=70,再算70+5=75…(2)在解决实际问题时灵活选用口算、笔算与估算。出现算法多样化。如一盒水彩笔有36枝,2盒这样的水彩笔有多少枝?学生可以根据36在30和40之间,估计2盒的枝数在60和80之间;可以列竖式算出2盒一共72枝;可以想30×2=60,6×2-12,60+12=72(枝)等等。
其次,要明确新课程的教科书不是为学生提供现成的知识,而是为学生提供从事数学学习的基本素材,为学生提供数学学习活动的基本线索、基本内容和主要的数学活动的机会。教科书中许多例题呈现的是学生经过独立思考、自主探索后交流算法并积极地表述自己研究成果的场面,而不是对各种算法的逐一介绍。通常情况下,教科书呈现的几种算法在课堂中都有可能出现。但如果某种算法学生并没有想到,这也很正常,一般不要刻意介绍。至于交流时学生说出的算法教科书上没有。只要合理,自然应予鼓励。只要学生经过自己的努力,找到了解决问题的方法。算出了合理的结果就达到了教学要求,实现了学习目标。
特别要注意的是,提倡算法多样化并不要求学生掌握课堂上出现的各种算法,更不能要求学生用教科书中的多种算法去计算同一道题。
三、新课程中,教师不应再把算法直接传授给学生,那么应该怎样进行教学呢?
《数学课程标准》指出,学生是数学学习的主人。教师应激发学生的学习积极性,向学生提供充分从事数学活动的机会,帮助他们在自主探索和合作交流的过程中真正理解和掌握基本的数学知识与技能、数学思想和方法,获得广泛的数学活动经验。下面以苏教版课程标准实验教材中的“口算两位数加整十数”为例,谈谈教师怎样更好地发挥学生数学学习的组织者、引导者与合作者的作用。
1.学生提供现实的、有意义的、富有挑战性的学习内容。
提供给学生的学习材料应该是他们在自己的生活中能够见到的、听到的或感觉到的,应该是他们熟悉的、喜欢的、愿意接受的,同时这些材料应含有合适的数学内容、体现一定的数学价值。这方面教科书在编写时作了许多努力。教师的任务是结合学生的实际,把教科书中的学习材料以合适的、生动有趣的形式呈现给学生,使学生对学习材料感兴趣、想学习、愿探究。这个小节例题的画面有三辆汽车,其中大客车45座,面包车30座。轿车3座。把这些素材提供给学生学习时。要着重做好两点。
(1)引导学生从情境中提出数学问题。在学生看清画面里的三辆汽车以及每辆的座位数后,启发学生思考:根据每种汽车的座位数,你能想到哪些问题?这些问题中哪些要用加法计算?
(2)诱发新的认知冲突。提出的三个用加法计算的问题分别列成算式45+30、45+3、30+3,这三个算式中只有30+3已经学过,由此产生继续学习45+30与45+3的愿望。
2.引导学生自主探索。
面对新的计算问题,教师不再告诉学生应该怎样算,而要让他们主动探索研究,以“做”而非“听”、“看”的方式介入学习活动。在这样的学习活动中,学生不仅能理解所学的知识,掌握正确的方法。而且能提高自己从事数学活动的能力,增强学习数学的信心,促进自身整体发展。怎样引导学生自觉、主动地探究呢?重点应抓住以下两个环节。
(1)酝酿——围绕“你打算怎样计算45+30这道题”让学生酝酿自己的策略与方法。必要时可给学生一些提示:我们以前学习计算时曾经用过哪些方法,这里还能不能再次使用?让学生在数数、摆学具、转化成已会的口算等方法中自主选择。
(2)实践——给学生充分的活动时间,确保每一名学生都有探索的机会。学生间的差异是客观存在的,任何一个班级里总有一些学生想得快、算得快,也有一些学生需要的时间稍长一些,还有一些学生可能存在困难。教学时要面向全体学生。教师以及算得较快的学生要主动参与其他学生的学习活动,鼓励并帮助他们克服困难。
3.组织学生进行交流。
学生通过自己的活动找到了解决问题的方法,得到了问题的答案,就给交流创造了条件。这时学生既有交流的内容,也有交流的需求,算法多样化正是在充分的交流中出现的。在组织学生交流时,要注意两点。
(1)交流应该是广泛的。要吸引全体学生都参与交流。交流的组织形式要灵活多样,可以是同桌两学生之间或学习小组里的交流,因为小范围内交流机会多、频率高、参与面广;也可以是班集体的大交流,这能锻炼学生的胆量。培养勇气,也有利于提高交流的质量。
(2)交流应该是民主的。教师和所有学生都应平等地交流。要教育学生不仅讲述自己的思考与算法,还要关心他人的方法。学生讲自己的算法时,不能仅仅局限在他与教师间的交流,更应是他与全体同伴的交流。因此,要让他讲给全班同学听,也要让全班学生仔细听他的发言,了解他的思考、汲取他的长处、评价他的算法、鼓励他的成功。
教师要帮助学生把自己的算法表述清楚,并把物化的操作活动上升成抽象的数学思考与数学方法。如计算45+30,无论是十个十个地数,还是摆小棒、拨算珠,都是把40与30相加,再把70与5合并。教师要善于引导学生体会不同算法之间内在的一致性。
4.引导学生选用算法。
学生经过动手实践、自主探索找到的算法只要是合理的都是好方法,要允许学生用自己的方法进行计算。因为这些方法是他们的创造,是他们的学习成果,其中既有重要的数学知识,还有成功、自信等宝贵的精神内容。引导学生选用算法要把握好两点。
(1)不要勉强要求甚至硬性规定学生都用某一种方法进行计算。学生用自己的算法最得心应手,最有把握也最具自信。我们允许学生使用自己喜欢的算法,他们能感到受尊重、受鼓舞。因此,让学生自主地选用算法应该是教师实践新的教学理念的自觉行为,是教师发自内心的真实意愿。
(2)教师对学生的各种算法的评价要稳妥一些,不要轻易表态哪种算法最好、哪种算法不好。即使是思维含量较低、计算过程较繁、多数人不常使用的方法,也要允许少数学生选用,并在他们使用自己的方法的过程中,引导他们汲取别人算法的长处,改造自己的方法。如让从45起十个十个地数到75的学生感受自己数的过程,五十五、六十五、七十五,都在十位上逐次加1,实质上仍然在算40+30=70。
5.启发学生反思学习过程,积累学习经验。
学生在探索45+30时所经历的学习活动,不仅是为了解决这道题(这类题)的计算,更重要的是获得一份宝贵的数学活动经验。这些经验可以迁移到其他内容的学习中去,而他们的学习能力就会在这样的迁移中逐步积累、逐渐提高。
(1)要让学生回顾刚才自己使用的学习方法以及同伴的学习活动,感受解决问题策略的多样性,充实自己的经验。
(2)要让学生用这些方法继续研究新的问题。如两位数加一位数又应该怎样计算呢?
四、要不要帮助学生在多种算法中择优?
关于要不要优化算法,目前有两种意见。
一种意见认为,计算教学要让每一位学生都得到充分的发展,不能以学生掌握算法为惟一的(或最重要的)目标,提倡并鼓励算法多样化是为了学生在解决问题的同时获得重要的数学知识以及基本的数学思想方法,在充实的学习过程中发展创新意识、提高数学思考水平与学习的能力,在丰富且具个性的数学活动中逐步形成对数学的积极情感、增强自信心。从这些目标来看,多样化的每一种算法都有利于实现培养目标,因而没有优化算法的必要。
另一种意见认为,学生的算法多样了,把各种算法进行比较,客观存在有些算法比较简便、有些算法稍显麻烦,有些算法的思维含量较小、有些算法的思维容量较大,有些算法与后继学习关系明显、有些算法对后继学习影响不大……既然算法间有差距,就有进一步优化算法的必要。
其实。不要把这两种意见看成是截然对立的。课程不仅是知识,更是学生的活动、体验与发展。教师在教学中只有真诚地尊重学生个性、鼓励学生创新、允许学生有自己的思考与选择,才会在教学中有真实的民主、宽容,才会给学生充分发展的空间。如果我们在新课程理念的指导下,把优化算法变成学生又一次主动建构的学习活动,成为又一次自我发展的自觉追求,那么优化算法同样有利于实现培养目标。
(1)优化算法的主体必须是学生,而且是每一名学生。决不能把教师或少数学生的选择强加给全体学生,因为被动的优化仍然会挫伤学生的学习积极性,动摇学生学习主体的地位。学生是优化算法的主体,要让他们在交流和比较的过程中真切地感受到有些(或某种)算法比较好。愿意并主动地去应用这种方法。
(2)要精心设计引导学生优化算法的教学。选择适当的时机,使用适宜的方法,让多种算法在交流中发生碰撞,在碰撞中呈现联系,在联系中进行比较,在比较中实现优化。 我们以33-8=?的教学为例。
学生初学33-8时可能出现的算法大致有:
①从33起每次减1,从而数出结果。
②10-8=2,23+2=25。
③13-8=5,20+5=25。
④先算33-10=23,再算23+2=25。
比较这四种算法,显然,学生不宜长时间采用第①种方法。再比较另三种算法,尽管它们的思路有所不同,但使用起来也是各有优势,采用其中任何一种方法都是可以的。但是,第③种算法与笔算比较接近,如果掌握得好,可能更有利于向笔算减法迁移,所以不妨设计如下三个层次的练习进行引导。
第一层次:用你喜欢的方法计算62-5。计算后相互说说各人的思考与算法,让学生感受算法是多样的,自己的方法是成功的。
第二层次:依次计算12-5、32-5、62-5、82-5,并想一想这儿道算式之间有什么样的内在联系。让学生感受到计算32-5、62-5和82-5时都可以先算12-5,再分别计算几十加7。
第三层次:现在你打算怎样计算“53-6”?此时,大部分学生就可能在上述学习过程的启发下选择第③种算法了。