论文部分内容阅读
"算法"是高中数学课程改革增加的新内容,不论是对学生还是对教师来说,算法这一块全新的内容,不论是对学习还是教学来说,都向我们提出了更高的要求,特别是他在计算机知识和使用计算机的能力更是这样。考虑到上课的方便和学生理解和记忆问题,在这一部分内容的教学上,我们对计算机的使用要有个度,要适可而止。所以,对算法教学与信息技术的使用研究,对我们的教学和学生的学习都会有很大的现实意义,算法虽然是高中数学课程第一次引入的内容,需要一个熟悉的过程,但实际上算法的思想并不陌生.只是过去没有明确提"算法"一词而已。例如,把解方程的过程程序化,使之能够解决这一类方程(从判断是否为零开始,根据判别式的取值情况,利用求根公式分别写出根的情况,达到"只要输入系数,就能输出方程的解"的要求),这个过程就体现了算法思想。因此,在算法的教学中,首先应当克服畏惧情绪,引导学生从以前学过的典型实例中,分析其中蕴含的算法思想,体会算法的"通用性""机械化""程序化"的特点以及对算法步骤的"明确""有效,有限"的要求。所以防止把算法的教学变成程序语言和程序设计的教学,算法并不等价于程序设计。
首先,算法一词最早是从9世纪的阿拉伯数学家花拉兹米(a1KhowwariZmi)的名字派生出来的。由于花拉兹米在其一生中发现了许多求解算术问题的方法,并且撰写了《合并与回代》一书,后被翻译成拉丁文广为流传,书名也被简译成为人们熟悉的代数学。在后来的计算机科学领域中,将算法和数据结构结合起来构成的计算机学科中的一门专业课程。算法一词的实际含义是:在有限的步骤内求解某一问题所使用的具有精确定义的一系列操作规则。每条规则都必须是确定的、能行的、不应该出现二义性。任何一个算法中必须要有一个清晰的起始步,并且每一个步骤只能有一个确定的后继步骤,从而组成一个步骤的有序系列。算法学习中对于掌握程序设计语言和程序设计技巧的要求并不是很高。
程序设计是指在对于某一个需要解决问题提出了确实可行的算法后,借助于一切用于书写计算机程序的语言,包括机器语言、汇编语言以及高级语言或应用语言等,这些完全符号形式的独立于具体计算机的语言,完成对于一个具体问题的求解。
明确了以上两个对象的概念差异之后,我们不难看出,其实对于算法的学习是高于程序设计学习的。算法主要培养的是学生提出解决某一问题的正确、可行的方法的思维能力,而并非要求他们是否必须掌握某一种具体的程序设计语言。因为,纵观当今程序设计领域中的各种热门的计算机编程语言,各种语言的基本语句的差异并非很大,不外乎赋值、判断和循环等,学习某一种编程语言主要是抓住其基本特征,而算法的学习是学习任何计算机编程语言的基础。没有牢固的算法基础,任何编程语言的学习只是空中楼阁。
所以在高中阶段算法的教学内容一定要把握好教学要求。算法一方面具有具体化、程序化、机械化的特点,同时又有高度的抽象性、概括性和精确性。对于一个具体的算法而言,从算法分析到算法语言的实现任何一个疏漏或错误都将导致算法的失败。算法是思维的条理性、逻辑性。
算法思想可以贯穿于整个中学教学内容之中,有丰富的层次递进的素材,而在算法的具体实现上又可以和信息技术相联系,因而,算法有利于培养学生理解精神和实践能力,是实施探究性学习的良好素材。
根据对算法的上述理解,以及"标准"对算法的定位,教学中应当把体会算法的基本思想、提高学生的逻辑思维能力作为重点,即教学过程中,应当以教材中提供的案例为载体,引导学生在设计程序框图并转化为程序语句的实践中,体会算法的含义,学会用框图表达解决问题的思路,切忌不要把算法讲成语言。
我们的重中之重是框图、是逻辑、是算理,将算法思想渗透到高中课程的其他内容中。通过对具体问题过程与步骤的分析,体会算法的基本思想,了解算法的含义。这样应该只有好处没有坏处,因为考试是无法考语言的,因为各种各样的语言,考试到底用什么?也没有统一的要求,除非专门考计算机,有固定的要求。所以不要把重点放在语言上面。
还有就是要建立一个数量级的概念,这个在分析的教学中大家都清楚,我们知道N是无穷大,2N也是无穷大,我们常常说他们是同级无穷大,对于算法来说,N+1、N+5和N算法的复杂程度是一样的,N和2N的算法复杂程度是一样的,所以千万不要把教学的主要精力放在减少一步怎么优化一步,没有意义,因为对计算机来说这不算什么事。会用自然语言描述算法,会用框图语言表示,另外,给一个框图语言,我们能够读懂它是一个什么样的算法,解决什么问题,这才是高中算法教学的主要目标。
首先,算法一词最早是从9世纪的阿拉伯数学家花拉兹米(a1KhowwariZmi)的名字派生出来的。由于花拉兹米在其一生中发现了许多求解算术问题的方法,并且撰写了《合并与回代》一书,后被翻译成拉丁文广为流传,书名也被简译成为人们熟悉的代数学。在后来的计算机科学领域中,将算法和数据结构结合起来构成的计算机学科中的一门专业课程。算法一词的实际含义是:在有限的步骤内求解某一问题所使用的具有精确定义的一系列操作规则。每条规则都必须是确定的、能行的、不应该出现二义性。任何一个算法中必须要有一个清晰的起始步,并且每一个步骤只能有一个确定的后继步骤,从而组成一个步骤的有序系列。算法学习中对于掌握程序设计语言和程序设计技巧的要求并不是很高。
程序设计是指在对于某一个需要解决问题提出了确实可行的算法后,借助于一切用于书写计算机程序的语言,包括机器语言、汇编语言以及高级语言或应用语言等,这些完全符号形式的独立于具体计算机的语言,完成对于一个具体问题的求解。
明确了以上两个对象的概念差异之后,我们不难看出,其实对于算法的学习是高于程序设计学习的。算法主要培养的是学生提出解决某一问题的正确、可行的方法的思维能力,而并非要求他们是否必须掌握某一种具体的程序设计语言。因为,纵观当今程序设计领域中的各种热门的计算机编程语言,各种语言的基本语句的差异并非很大,不外乎赋值、判断和循环等,学习某一种编程语言主要是抓住其基本特征,而算法的学习是学习任何计算机编程语言的基础。没有牢固的算法基础,任何编程语言的学习只是空中楼阁。
所以在高中阶段算法的教学内容一定要把握好教学要求。算法一方面具有具体化、程序化、机械化的特点,同时又有高度的抽象性、概括性和精确性。对于一个具体的算法而言,从算法分析到算法语言的实现任何一个疏漏或错误都将导致算法的失败。算法是思维的条理性、逻辑性。
算法思想可以贯穿于整个中学教学内容之中,有丰富的层次递进的素材,而在算法的具体实现上又可以和信息技术相联系,因而,算法有利于培养学生理解精神和实践能力,是实施探究性学习的良好素材。
根据对算法的上述理解,以及"标准"对算法的定位,教学中应当把体会算法的基本思想、提高学生的逻辑思维能力作为重点,即教学过程中,应当以教材中提供的案例为载体,引导学生在设计程序框图并转化为程序语句的实践中,体会算法的含义,学会用框图表达解决问题的思路,切忌不要把算法讲成语言。
我们的重中之重是框图、是逻辑、是算理,将算法思想渗透到高中课程的其他内容中。通过对具体问题过程与步骤的分析,体会算法的基本思想,了解算法的含义。这样应该只有好处没有坏处,因为考试是无法考语言的,因为各种各样的语言,考试到底用什么?也没有统一的要求,除非专门考计算机,有固定的要求。所以不要把重点放在语言上面。
还有就是要建立一个数量级的概念,这个在分析的教学中大家都清楚,我们知道N是无穷大,2N也是无穷大,我们常常说他们是同级无穷大,对于算法来说,N+1、N+5和N算法的复杂程度是一样的,N和2N的算法复杂程度是一样的,所以千万不要把教学的主要精力放在减少一步怎么优化一步,没有意义,因为对计算机来说这不算什么事。会用自然语言描述算法,会用框图语言表示,另外,给一个框图语言,我们能够读懂它是一个什么样的算法,解决什么问题,这才是高中算法教学的主要目标。