《算法初步》教学的几点体会及建议
沙纪忠
《算法初步》是新课标教材新增内容,客观地说,这部分内容对学生来说是陌生的,对数学老师来说也是新生事物,即使以前接触过,但也没有系统研究过,所以容易形成新的教学难 点.教师如何准确地理解教学内容、如何对学生提出恰如其分的要求、如何对一些技术性的 细节加以处理,都值得关注和研究.本文根据笔者自己在一轮教学中的体会和研究提出几点 粗浅的看法,供同行参考.
一、教师需要做好充分的准备,积极应对
对于算法,产生恐惧心理教师甚于学生,学生是初生牛犊不怕虎,对新鲜的事物充满好奇,所以对学习算法倒是充满了期待,但是教师就不一样了,今年暑假听到很多数学老师,特别是老教师,就担心高三回到高一后遇到算法等教学内容.有这种想法虽属正常,但面对新课程和新教材,我们别无道路,不能逃避,只能迎难而上.所以要做好充分的准备,积极应对新内容的挑战.
1.要研究教材.就算法而言,要在通读课本的基础上,从整体上理解什么是算 法、为什么要学习算法、算法的教育意义和价值是什么?从细节上,把握好教材中涉及了哪些内容、广度和难度如何、习题配备是否完善等.熟悉了教材,做到心中有数,就会拉近自己和算法内容的距离,消除畏惧心理,为进一步的深入研究做好准备.
2.要收集查阅相关资料.通过自己研读教材,可产生一定的感性认识,这种 认识是正确的还是有偏差的、甚至是错误的,自己并不知道,需要看看其他人(如新课标的制定者、教材的编写者和有相关研究的专家等)对算法是怎么理解的.市面上常见的这类书籍有:王林全教授的《高中必修课教与学?数学》,徐嫁红教授的《Excel、Word与数学教学》等.还有一些杂志,如《中学数学月刊》06年第5、6期刊载的卢钦和教授的《我对算法的理解》等.通过文 献资料研究,可以加深对算法的理解、了解新课标对算法的要求,把握好教学的方向.
3.尽可能地参加培训.每当新教材投入使用时,各级教研部门都会组织教师 参加培训,能够到会上做报告的人都是这方面的专家,在此方面肯定有很深的造诣,所以只要有机会,千万不能错过.另外,参加培训不仅要听专家讲,还可以适时提问,或在报告结束后提出自己在研究过程中遇到的问题,专家毕竟站得高、看得远,他们的指点会使我们对教材的理解提升 一个或几个层次.
二、理解学生学习的困难,确定恰当的教学目标和方法
尽管实际教学中,对算法提出的要求不高,但由于算法是全新的内容,在学生的认识结构中找不到相应的知识来同化新知识,思维也找不到着力点,再加上算法是计算机语言的前身,要遵循计算机的运算规则,所以有着较大的人为规定性,即很多时候解释不清“为什么要这样”、“怎样想到要这样”等一些学生常问的问题,因此学生的学习存在一定的困难,在教学中要关注容易产生困难的内容,找到形成难点的原因,并予以解决.
1.注重情境创设,防止降落伞式教学.新课标强调问题情境,让学生在问题 的情境中探索新知,至于创设情境的功能,许多文章给予了详尽地阐述,对于算法来说 ,情境创设还在于让学生自然而然地接受新的规定性知识,避免知识从天而降,强迫其接受的功能.如在流程图的教学中,讲述三种逻辑结构,为了避免生硬地灌输,可以创设汽车在高速公路行驶的情境,引导学生从汽车可能行进的不同路线特征来比喻算法的这三种结构:汽车一直行,对应着顺序结构;汽车遇到分支,对应着选择结构;汽车绕了一个圈回到原地,对应着循环结构.同时汽车有了这三种行驶路线,足够用了,相似地,有了这三种结构也能描述任何复杂的算法.
2.注意实际操作和算法思想,对概念少作纠缠.概念虽然是学习数学的基础 ,但是,过多地纠缠于概念不利于对算法思想实质的理解,有碍于学习的深入进行.如:算法是不是一定要解决一类问题?如果不能解决一类问题的步骤就不是算法?也就是说我们编写的伪代码一定要通用?卢钦和教授在他的文章里给予了否定的回答.又如流程图的顺序结构中能不能含有循环 结构,或者说含有循环结构的还叫顺序结构吗?再如选择结构到底有几个出口?有的人认为是两个,有的人认为是一个.其实这些问题只是参照的标准不同,有不同的答案,对后续的学习没有任何影响.总之,在教学中应突出算法的思想,少做概念上的纠缠,让学生多操作,在操作中理解和掌握.
3.控制好进度和难度,做好情感沟通.必修教材只是学习算法初步,所以要 注意控制好教学的难度,只要能够读得懂流程和算法语句、会计算循环次数、会计算输出的结果、掌握最基本的流程图和语句的设计书写等,就够了.对于复杂的算法设计,如for-for、while-if等语句嵌套或者多重嵌套,不一定要求每个学生都理解.对于课后的习题,能够独立完成“感受?理解”部分即可,对“思考?应用”和“探究?拓展”部分可分层要求.在进度上刚开始要慢,然后保持中速,让学生有个逐渐适应的过程.另外,要时刻关心学生情绪的变化,如在学习循环结构时,有的学生会产生消极情绪,这是由内容难度突然增加造成的,教师要做好鼓励和辅导工作.
三、对算法教学的几点建议
通过一轮的教学,笔者深刻地认识到算法难教和难学,教学的度也很难把握,要想处理好这部分内容确实不易,在此提出几点建议,希望大家一起探讨.
1.尽可能利用多媒体、实现上机操作.随着计算机的发展和广泛应用,计算 机已经改变了世界,算法是计算机的生命,不断变革的算法技术领导着世界潮流,新教材加 入算法内容,是培养学生思维的需要也是社会发展的需要.通过实际语言的学习及上机操作可以更亲近地感受算法、更真切地理解数学与算法、计算机与算法,增添对学习算法的兴趣和必要性的认识.如果没有上机条件,也可以采用多媒体教学,弥补不能上机操作的缺憾.
2.重视模仿与创新相结合.由于学生学习的零基础,在教学过程中,应以模 仿为主,循序渐进.例如在循环语句的教学中为了分散难度,变量的个数要逐渐增加,循环变量的设定由易到难,循环体由简单到复杂,终止条件由少到多,判断的条件由小到大,让学生多做模仿.在学生对这部分内容熟悉以后,可以再给出一些新的问题,开拓他们的思路,从而培养创造能力和创新精神.
3.突出思想方法、重视教育意义、少设置人为障碍.研究算法的主要目的是 解决问题,学习算法主要是培养学生解决问题的程序化思想.即:通过学习要让学生在今后的学习和工作中面对较为复杂的问题时,保持清醒的头脑,把复杂的问题分解成一系列可以分别完成的小问题,从而解决整个问题.在教学时,要少 设置人为的一些障碍,如条件语句中,通常都是If-Then_Else结构,但在课本P19页的“思考”里提出“条件语句也可以没有Else分支,你能举个例子说明吗?”,有的教师根据这一思考,又提出了“有的条件语句甚至不含有Then,你能举例说明吗?”这类的问题,无疑给学生制造了相当大的障碍,他们是人脑而非电脑,刚刚学了完整的条件语句,哪里会列举这些特殊的例子,这些人为障碍,不仅不会促进学生的学习,相反还会起到阻碍作用.
4.注意与其它知识综合、时常巩固.由于算法具有一定的独立性,而且内容 不多,所以学生可能刚刚入手,就结束了,又开始新的内容学习.在以后的教学中应尽可能采取滚动练习,经常回顾.另外,还可以在下面教学中结合新内容把算法结合起来,起到复习巩固的作用.如在统计的系统抽样中设计按一定规则抽取所需号码的算法;在线性回归中,设计给出若干个点的坐标后自动产生线性回归方程的算法;在概率中写出撒豆试验求π或求不规则图形面积的算法语句.通过知识的综合应用,一方面可以使学生经常用算法起到巩固作用,另一方面还可以让学生体会学习算法的重大意义,促进对算法的掌握.
四、关于本章节的评价
不容回避,无论是学生的学习还是教师的教学都离不开评价,对于本章内容如何评价,笔者曾有幸与参加本书编写和设计的几位老师作过交流,也和能够经常接触高考命题组的专家作过深入的探讨,大家的看法基本趋于一致.
1.课标评价要求.本章内容逻辑性强、概念抽象,包括算法的含义、三种基 本的逻辑结构、赋值语句、选择语句、循环语句及算法案例等.在知识层面,评价时要抓住对基本逻辑结构和基本语句的评价,重点考查对逻辑结构和语法规则的识记、理解和应用;在技能层面,由于算法的算理分析和运用流程图表示算法是重点内容,评价时要注意考查学生在设计一些简单问题的算法时,对算理是否理解,对算法的表述是否正确、符合逻辑,以及是否简洁清楚;在情感态度和价值观层面,让学生通过具体的案例介绍,提高逻辑思维能力,学会分析问题和思考问题,尤其是通过我国古代算法案例的介绍,提高对古代数学取得辉煌成就的认识,了解中国对世界数学所做出的巨大贡献,培养民族自豪感.
2.高考评价要求.高考数学由于各方面原因限制了其试卷的长度,近年江苏 省的数学高考试卷稳定在五个大题,相比其它部分经典内容(如函数、解几、立几、数列、三角等)来说,算法还是属于小弟级别,找不到自己的位置.所以高考对算法的考查基本出现在小题中,考查的着眼点无外乎计算程序输出的结果、运算的次数、流程图缺省关键词的填空等.
同样地,我们对算法教学的目的不能仅仅为了高考,要充分体现新课标的理念,实现算法的 教育意义和教学价值,所以平时的测试也可以考查对三种基本结构的理解、流程图的画法、稍复杂问题的算法设计等.
当然,新课标教材还处于试验之中,有些内容编排还不尽合理,如在课本的习题中出现了int,mod,rand等计算机内函数,但是课本没有系统地介绍,而是用到一个拿出一个,给学生从天而降的感觉;再如,在算法案例中选取了“韩信点兵”、“辗转相除”、“二分法求方程根”三个案例,其中“辗转相除”是很多年前人教版甲种本的内容,后来出现在大学数学的《高等代数》中,这样深奥的知识,让一个中学生来理解,显得太难了;在“二分法求方程的根”中,不是利用前面所介绍的for和while两种循环表达方式,而是采用了goto型的结构,对前面所学的内容造成了相当大的负面影响,这些不足都需要我们在教学中加以克服和解决.
参考文献
[1]单土尊.普通高中课程标准实验教科书?数学3[M].南京:江苏教育出版社,2005.
[2]王林全.高中新课程必修课教与学?数学[M].北京:北京大学出版社,2006-10-21.
[3]卢钦和.我对算法的理解.中学数学月刊[J](苏州).2006,5.
《算法初步》是新课标教材新增内容,客观地说,这部分内容对学生来说是陌生的,对数学老师来说也是新生事物,即使以前接触过,但也没有系统研究过,所以容易形成新的教学难 点.教师如何准确地理解教学内容、如何对学生提出恰如其分的要求、如何对一些技术性的 细节加以处理,都值得关注和研究.本文根据笔者自己在一轮教学中的体会和研究提出几点 粗浅的看法,供同行参考.
一、教师需要做好充分的准备,积极应对
对于算法,产生恐惧心理教师甚于学生,学生是初生牛犊不怕虎,对新鲜的事物充满好奇,所以对学习算法倒是充满了期待,但是教师就不一样了,今年暑假听到很多数学老师,特别是老教师,就担心高三回到高一后遇到算法等教学内容.有这种想法虽属正常,但面对新课程和新教材,我们别无道路,不能逃避,只能迎难而上.所以要做好充分的准备,积极应对新内容的挑战.
1.要研究教材.就算法而言,要在通读课本的基础上,从整体上理解什么是算 法、为什么要学习算法、算法的教育意义和价值是什么?从细节上,把握好教材中涉及了哪些内容、广度和难度如何、习题配备是否完善等.熟悉了教材,做到心中有数,就会拉近自己和算法内容的距离,消除畏惧心理,为进一步的深入研究做好准备.
2.要收集查阅相关资料.通过自己研读教材,可产生一定的感性认识,这种 认识是正确的还是有偏差的、甚至是错误的,自己并不知道,需要看看其他人(如新课标的制定者、教材的编写者和有相关研究的专家等)对算法是怎么理解的.市面上常见的这类书籍有:王林全教授的《高中必修课教与学?数学》,徐嫁红教授的《Excel、Word与数学教学》等.还有一些杂志,如《中学数学月刊》06年第5、6期刊载的卢钦和教授的《我对算法的理解》等.通过文 献资料研究,可以加深对算法的理解、了解新课标对算法的要求,把握好教学的方向.
3.尽可能地参加培训.每当新教材投入使用时,各级教研部门都会组织教师 参加培训,能够到会上做报告的人都是这方面的专家,在此方面肯定有很深的造诣,所以只要有机会,千万不能错过.另外,参加培训不仅要听专家讲,还可以适时提问,或在报告结束后提出自己在研究过程中遇到的问题,专家毕竟站得高、看得远,他们的指点会使我们对教材的理解提升 一个或几个层次.
二、理解学生学习的困难,确定恰当的教学目标和方法
尽管实际教学中,对算法提出的要求不高,但由于算法是全新的内容,在学生的认识结构中找不到相应的知识来同化新知识,思维也找不到着力点,再加上算法是计算机语言的前身,要遵循计算机的运算规则,所以有着较大的人为规定性,即很多时候解释不清“为什么要这样”、“怎样想到要这样”等一些学生常问的问题,因此学生的学习存在一定的困难,在教学中要关注容易产生困难的内容,找到形成难点的原因,并予以解决.
1.注重情境创设,防止降落伞式教学.新课标强调问题情境,让学生在问题 的情境中探索新知,至于创设情境的功能,许多文章给予了详尽地阐述,对于算法来说 ,情境创设还在于让学生自然而然地接受新的规定性知识,避免知识从天而降,强迫其接受的功能.如在流程图的教学中,讲述三种逻辑结构,为了避免生硬地灌输,可以创设汽车在高速公路行驶的情境,引导学生从汽车可能行进的不同路线特征来比喻算法的这三种结构:汽车一直行,对应着顺序结构;汽车遇到分支,对应着选择结构;汽车绕了一个圈回到原地,对应着循环结构.同时汽车有了这三种行驶路线,足够用了,相似地,有了这三种结构也能描述任何复杂的算法.
2.注意实际操作和算法思想,对概念少作纠缠.概念虽然是学习数学的基础 ,但是,过多地纠缠于概念不利于对算法思想实质的理解,有碍于学习的深入进行.如:算法是不是一定要解决一类问题?如果不能解决一类问题的步骤就不是算法?也就是说我们编写的伪代码一定要通用?卢钦和教授在他的文章里给予了否定的回答.又如流程图的顺序结构中能不能含有循环 结构,或者说含有循环结构的还叫顺序结构吗?再如选择结构到底有几个出口?有的人认为是两个,有的人认为是一个.其实这些问题只是参照的标准不同,有不同的答案,对后续的学习没有任何影响.总之,在教学中应突出算法的思想,少做概念上的纠缠,让学生多操作,在操作中理解和掌握.
3.控制好进度和难度,做好情感沟通.必修教材只是学习算法初步,所以要 注意控制好教学的难度,只要能够读得懂流程和算法语句、会计算循环次数、会计算输出的结果、掌握最基本的流程图和语句的设计书写等,就够了.对于复杂的算法设计,如for-for、while-if等语句嵌套或者多重嵌套,不一定要求每个学生都理解.对于课后的习题,能够独立完成“感受?理解”部分即可,对“思考?应用”和“探究?拓展”部分可分层要求.在进度上刚开始要慢,然后保持中速,让学生有个逐渐适应的过程.另外,要时刻关心学生情绪的变化,如在学习循环结构时,有的学生会产生消极情绪,这是由内容难度突然增加造成的,教师要做好鼓励和辅导工作.
三、对算法教学的几点建议
通过一轮的教学,笔者深刻地认识到算法难教和难学,教学的度也很难把握,要想处理好这部分内容确实不易,在此提出几点建议,希望大家一起探讨.
1.尽可能利用多媒体、实现上机操作.随着计算机的发展和广泛应用,计算 机已经改变了世界,算法是计算机的生命,不断变革的算法技术领导着世界潮流,新教材加 入算法内容,是培养学生思维的需要也是社会发展的需要.通过实际语言的学习及上机操作可以更亲近地感受算法、更真切地理解数学与算法、计算机与算法,增添对学习算法的兴趣和必要性的认识.如果没有上机条件,也可以采用多媒体教学,弥补不能上机操作的缺憾.
2.重视模仿与创新相结合.由于学生学习的零基础,在教学过程中,应以模 仿为主,循序渐进.例如在循环语句的教学中为了分散难度,变量的个数要逐渐增加,循环变量的设定由易到难,循环体由简单到复杂,终止条件由少到多,判断的条件由小到大,让学生多做模仿.在学生对这部分内容熟悉以后,可以再给出一些新的问题,开拓他们的思路,从而培养创造能力和创新精神.
3.突出思想方法、重视教育意义、少设置人为障碍.研究算法的主要目的是 解决问题,学习算法主要是培养学生解决问题的程序化思想.即:通过学习要让学生在今后的学习和工作中面对较为复杂的问题时,保持清醒的头脑,把复杂的问题分解成一系列可以分别完成的小问题,从而解决整个问题.在教学时,要少 设置人为的一些障碍,如条件语句中,通常都是If-Then_Else结构,但在课本P19页的“思考”里提出“条件语句也可以没有Else分支,你能举个例子说明吗?”,有的教师根据这一思考,又提出了“有的条件语句甚至不含有Then,你能举例说明吗?”这类的问题,无疑给学生制造了相当大的障碍,他们是人脑而非电脑,刚刚学了完整的条件语句,哪里会列举这些特殊的例子,这些人为障碍,不仅不会促进学生的学习,相反还会起到阻碍作用.
4.注意与其它知识综合、时常巩固.由于算法具有一定的独立性,而且内容 不多,所以学生可能刚刚入手,就结束了,又开始新的内容学习.在以后的教学中应尽可能采取滚动练习,经常回顾.另外,还可以在下面教学中结合新内容把算法结合起来,起到复习巩固的作用.如在统计的系统抽样中设计按一定规则抽取所需号码的算法;在线性回归中,设计给出若干个点的坐标后自动产生线性回归方程的算法;在概率中写出撒豆试验求π或求不规则图形面积的算法语句.通过知识的综合应用,一方面可以使学生经常用算法起到巩固作用,另一方面还可以让学生体会学习算法的重大意义,促进对算法的掌握.
四、关于本章节的评价
不容回避,无论是学生的学习还是教师的教学都离不开评价,对于本章内容如何评价,笔者曾有幸与参加本书编写和设计的几位老师作过交流,也和能够经常接触高考命题组的专家作过深入的探讨,大家的看法基本趋于一致.
1.课标评价要求.本章内容逻辑性强、概念抽象,包括算法的含义、三种基 本的逻辑结构、赋值语句、选择语句、循环语句及算法案例等.在知识层面,评价时要抓住对基本逻辑结构和基本语句的评价,重点考查对逻辑结构和语法规则的识记、理解和应用;在技能层面,由于算法的算理分析和运用流程图表示算法是重点内容,评价时要注意考查学生在设计一些简单问题的算法时,对算理是否理解,对算法的表述是否正确、符合逻辑,以及是否简洁清楚;在情感态度和价值观层面,让学生通过具体的案例介绍,提高逻辑思维能力,学会分析问题和思考问题,尤其是通过我国古代算法案例的介绍,提高对古代数学取得辉煌成就的认识,了解中国对世界数学所做出的巨大贡献,培养民族自豪感.
2.高考评价要求.高考数学由于各方面原因限制了其试卷的长度,近年江苏 省的数学高考试卷稳定在五个大题,相比其它部分经典内容(如函数、解几、立几、数列、三角等)来说,算法还是属于小弟级别,找不到自己的位置.所以高考对算法的考查基本出现在小题中,考查的着眼点无外乎计算程序输出的结果、运算的次数、流程图缺省关键词的填空等.
同样地,我们对算法教学的目的不能仅仅为了高考,要充分体现新课标的理念,实现算法的 教育意义和教学价值,所以平时的测试也可以考查对三种基本结构的理解、流程图的画法、稍复杂问题的算法设计等.
当然,新课标教材还处于试验之中,有些内容编排还不尽合理,如在课本的习题中出现了int,mod,rand等计算机内函数,但是课本没有系统地介绍,而是用到一个拿出一个,给学生从天而降的感觉;再如,在算法案例中选取了“韩信点兵”、“辗转相除”、“二分法求方程根”三个案例,其中“辗转相除”是很多年前人教版甲种本的内容,后来出现在大学数学的《高等代数》中,这样深奥的知识,让一个中学生来理解,显得太难了;在“二分法求方程的根”中,不是利用前面所介绍的for和while两种循环表达方式,而是采用了goto型的结构,对前面所学的内容造成了相当大的负面影响,这些不足都需要我们在教学中加以克服和解决.
参考文献
[1]单土尊.普通高中课程标准实验教科书?数学3[M].南京:江苏教育出版社,2005.
[2]王林全.高中新课程必修课教与学?数学[M].北京:北京大学出版社,2006-10-21.
[3]卢钦和.我对算法的理解.中学数学月刊[J](苏州).2006,5.