- 相关推荐
算法初步的教学策略
"算法初步"的教学策略摘要:当算法作为重要内容第一次被列入高中数学的必修课程时,曾引起了强烈的反响。算法教学中要从培养学生运用计算机进行思维的素养、体会数学中所孕含的算法思维。算法的教学更应该关注的是算法对问题的抽象过程和算法的构建过程。
关键词:算法;算法的教学;算法的三种基本逻辑结构
算法初步是高中新课程中的一项新增内容,也是广大数学教师教学中普遍感到比较困难的一章。《标准》里指出:算法是数学的重要组成部分,是计算理论、计算机理论和技术的基础。随着现代信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。
对这一章的教学,我们应该把握课程基本要求,不可求难,重在框图思想的理解和掌握,几个语句的使用。能用一种简单的计算机语言表达解决一些简单问题的算法。结合对具体数学实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力。具体的讲主要从以下几个方面谈一谈"算法初步"的教学策略
一、对课程安排的认识
课程的安排符合循序渐进的思想,它不仅在整个一章内容上遵循这个思想,甚至在每一节、每堂课中也渗透着这个思想。例如第一节算法的基本思想分为三节课,第一节课讲的是小学学习的内容--整数分解成素因数,求最小公倍数、求最大公因数等问题;第二节课讲的是"韩信"问题和"找假银元"问题,这些可归结为初中内容;第三节课讲"二分法"思想的运用,这是数学1(必修)中的内容也就是高中的内容,这三节课,经历了从小学到初中再到高中这样的一个过程,这能使学生逐渐感受到"算法的程序化思想",这个过程符合学生认识问题的一般规律。再例如:"二分法"思想的运用着个问题在课本出现了三次,而三次的要求也是越来越高。种种这些都容易让学生接受,更有甚者学生可以进行自学,这就体现了中国古代的这样一种思想,"授之以鱼,不如授之以渔",实现了如何获得知识的重要性,提高了学生的自学能力。另外,这一章列强调的是算法的思想,即算理,而对计算机语句的要求则不高,我想很多老师都知道,计算机语言有很多种类,例如:Basic语言、C语言、VC语言等等,这些是计算机专业的学生才去深入掌握的。我想对于一名高中生,如果它已经掌握了能决某个问题方法,能画出流程图,那么机器语言的事不妨等他需要的时候,再去学习,这更能适应大多数的高中生。从而在具体实施中,给我们所有的老师减少了算法教学的压力。这对我们来教这套教材有很大的促进作用,使我们敢于面对,勇于尝试。
二、要正确地定位算法教学
算法初步的教学内容有:算法的含义、程序框图,基本算法语句,算法案例。它们的教学目标具体定位在哪里?通过我们的研究认识到,我们对算法教学目标的定位是从认识一般意义上的算法基础上,着重学习在计算机上可以实现的算法。算法初步中的所研究的算法除了具有算法的基本特点,既具有确定、有效、有限的特征外;教学中围绕着计算机是如何解决问题的,选择数学中具有重要价值的算法范例为内容,如一次方程组的消元法、二分法求方程近似根、迭代求和、比较许多数的大小等等问题,来进行教学。因此,我们算法教学中要从培养学生运用计算机进行思维的素养、体会数学中所孕含的算法思维。在教学中,要实现学生从一般意义上的算法问题转移到运用计算机解决数学问题的算法的学习。
三、数学课程中算法的切入点
传统程序设计语言的教学往往存在一个弊端,即让学生过早地纠缠于程序的调试和实现,而任何一种程序设计语言通常都涉及到大量与技术问题相关的烦人细节,使得成功编译和执行程序需要花费大量的时间。事实上,每一种程序设计语言都是为特殊的目标而创建的,都是将算法转换为计算机程序的工具,因此它们之间的差别只是一件小事,算法才是关键所在。
在数学课程中,算法的教学更应该关注的是算法对问题的抽象过程和算法的构建过程。在这个过程中,使学生着重理解算法的"算理",同时体会算法的程序性、明确性、有效性和有限性等特点,学习设计和描述算法以解决实际问题和与人交流,发展有条理的思维和表达能力,提高逻辑判断能力。因此,在数学课程中,应该尽力让学生在简单的计算机语言环境中学习算法的基本知识,而把有效设计、实现、调试和测试程序的任务留给信息技术等其他课程。从这个层面上说,在教学中应该把程序框图作为描述算法的主要工具。
另一方面,进行算法的教学又不能完全脱离计算机程序设计。这是因为,我们要讲的算法不是广义的解决现实中一切问题的算法,而是"用计算机来解决某一类问题的程序或步骤"。这就要求学生在设计算法时,调整以往的解数学题的思维方式,设计出明确、有效、有限、可以转化为计算机程序的算法步骤。同时,还要理解一些在计算机程序设计中所惯用的做法,主要是设置变量和赋值。例如,在求前100个正整数的和的"累加器"中,包含算法步骤"s=s+n""n=n+1",它们表示的不是相等,而是赋值过程,但很多学生在初学算法时都难以理解。为了解决这个问题,可以在进行三种基本逻辑结构的教学时,结合具体例子帮助学生学习如何设置变量和进行赋值。
四、要正确把握学习算法的一些原则
对算法的学习我们必须通过实例进行,在解决具体问题的过程中学习一些基本的逻辑结构,并且尽可能的上机尝试,在实例的选择中,我们要把握这样的一些原则:
亲和原则-选取的实例要贴近自己,或者来自我们的生活实践,或者我们学过的数学。
趣味性原则-选取的实例一般要有丰富的背景,本身要有趣味性。
基础性原则-问题本身的算理并不难,但要蕴涵丰富的算法思想。
可操作性原则-所选取问题的算法一般能在计算机上实现。
五、算法教学的重点的把握
笔者认为在上述算法教学的过程中,教学的重点是算法的三种基本逻辑结构,即顺序结构、条件结构和循环结构。这是因为,三种基本逻辑结构被认为是一个良好算法的基本单元,换句话说,要设计出一个结构良好、易读好懂的算法,就必须以三种基本逻辑结构为基础来构建算法。而且,三种基本逻辑结构中蕴涵了比较深刻的思想。顺序结构反映把解决问题的方法步骤化,一步一步地执行的思想;条件结构反映的是"先判断、后执行"的思想,计算机区别于其他机械的能力就来自于算法做判断和按判断的结果行动的能力;循环结构蕴涵的是"递推"的思想,由于学生还没有学习数列,对这种思想方法还是初次接触。由三种基本逻辑结构顺序构成的程序框图,明确简练,结构分明,很容易改写成计算机程序,而程序设计语言中的赋值语句、条件语句和循环语句可以看成是三种基本逻辑结构的"机器化"。
教学算法的三种基本逻辑结构,结合程序框图的教学进行为宜。具体做法是:首先,结合程序框图,帮助学生理解三种基本逻辑结构的含义;然后,在设计一个算法的程序框图的过程中,选择合适的基本逻辑结构表示算法步骤。
六、典型算法模型应用
在算法初步的学习中安排了许多案例,这些案例的算法在计算机应用中所体现的一些数学思想、思维方法都是比较经典、有深度的,同时也是较难以理解的。通过学习使学生能理解它们的算法原理、算法程序设计的技巧,领悟其中的思想与智慧。这里更多的是了解与感受,但并不是要求学生也来解决一些较难的问题。因此,教学中要把握好教学的要求,以理解案例的算法为重点,利用它们解决一些简单的问题。鼓励有兴趣有能力的同学去解决某些具有挑战性的问题。
实践证明,在进行算法教学的过程中,应尽可能选取最简单、最典型的算法模型作为载体。这是因为,一方面进行算法教学的目标是介绍算法的基本思想和初步知识,另一方面,算法本身就是与具体问题结合在一起的,空讲理论只能导致学生不能真正理解算法和不会设计具体问题的算法,而从简单、典型、学生熟悉的算法模型中挖掘、提炼出来的思想和方法,更容易被学生接受。
七、优化或改造算法
解决同一个问题,可以有不同的算法;同一个算法稍加改造,可以用于解决不同的问题。对算法的优化或改造,是帮助学生理解算法的通用性、有效性等的良好素材。结合程序框图的教学,教授算法的三种基本逻辑结构,有利于学生对后者的理解和掌握。类似地,对算法的优化或改造,在算法的程序框图上进行,也有利于学生看清算法的结构和更好地把握"算理"。
算法作为高中数学的必修内容的一部分,反映了人们在现代社会对数学的新的审视,算法在数学中的地位得以提高。算法进入中学数学课程,即使时代的要求,也是古代数学思想在一个新的层面上的复兴;传统数学中许多算法的内容,特别是我国古代数学是以算法为主要特征许多成果今天又焕发了生机。同时它会引发人们对数学中新的算法的研究,
算法这一章教学应该遵循"了解--经历--理解--掌握--运用--灵活运用"的总体思路。总之,算法的教学对传统和未来的数学都会产生深远的影响。
参考文献:
[1]普通高中课程标准实验教科书?数学3.北京师范大学出版社.2004。
[2]中华人民共和国教育部《普通高中数学课程标准》。
[3]丁尔升现代数学课程论江苏教育出版社。
【算法初步的教学策略】相关文章:
算法岗位职责03-15
《加、减法的简便算法》教案03-05
算理和算法概述10-26
对教学策略的基本理解10-12
图像算法工程师的职责04-23
通信算法工程师的职责03-01
线源扩散模型的建立及算法实现05-02
小学数学教学策略心得11-22
离职率如何算,离职率的算法01-06
通信算法工程师的职责【优】03-02