信息技术课程中算法学习的价值探索[J].pdf_第1页
信息技术课程中算法学习的价值探索[J].pdf_第2页
信息技术课程中算法学习的价值探索[J].pdf_第3页
信息技术课程中算法学习的价值探索[J].pdf_第4页
信息技术课程中算法学习的价值探索[J].pdf_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息技术课程中算法学习的价值探索StudyontheValueofAlgorithmLearninginInformationTechnologyCourse王荣良(华东师范大学中小学信息技术教育研究中心)中国电化教育2008年8期摘要:算法是信息技术处理信息的核心之一,也是信息技术课程的教学内容之一。在中小学教育中,当我们摒弃传统的计算机语言教学,转而将算法与程序设计作为学生信息素养培养的一部分内容以后,应该如何来认识与理解算法的教育价值是一个值得研究的问题。本文从算法思维的角度,在问题求解思维、形式化思维、人机共存思维三方面进行了探索,以期挖掘算法学习的教育价值。关键词:算法;算法思维;教育价值中图分类号:G434文献标识码:A早在20世纪80年代,我国基础教育领域的师生们就是通过BASIC语言教学来认识和理解计算机的。随着信息技术的广泛应用,我们已经完成了从计算机教育到信息技术教育的转变,信息技术课程系统地体现了信息的获取、加工、管理、表达与交流,使学生掌握信息技术,感受信息文化,增强信息意识,内化信息伦理,成为了学生信息素养培养的主渠道。在全国普通高中信息技术课程标准中,“算法与程序设计”是其中的一个选修模块。该模块旨在使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用。1可见,信息技术课程中“算法与程序设计”学习的重点已不是编程,而是算法思想及解决具体问题的方法。而在计算机学科体系中,算法又是计算机处理信息的核心技术之一,那么,算法在信息技术课程中又是处于怎样的地位呢?本文将就算法、算法思维及其教育价值展开讨论。一、算法与算法思维根据美国著名计算机专家克努特(DEKnuth)的定义:一个算法,就是一个有穷规则的集合,其中规则规定了一个解决某一特定类型的问题的运算序列。2根据这个定义,可以把算法理解为若干基本操作及其规则作为元素的集合,即一个算法就是由若干基本操作按一定顺序规则进行操作的序列。因此,学习算法,本质上是学习如何构造能够解决特定问题的规则和操作序列集合。学习者在学习“算法与程序设计”时,是通过算法设计并以某种计算机语言实现算法,完成了解决问题的知识的学习。与数学教育相类似,算法学习同样可以作为思维训练的工具,以培养和训练学习者的算法思维。思维是人脑对客观事物的一种概括的、间接的反映,是客观事物的本质和规律的反映。狭义地理解,思维是人进行思考、通过人脑的活动解决问题的能力,是人的智力在一个方面的体现。3算法思维是解决问题的过程性思维方式,表示这样一个过程:它由一系列规定好的有限操作步骤组成,并能解决特定的问题。因此,可以将算法思维理解为发现并确定问题,分析问题的构成要素,对问题进行分析分解,为问题的解决提供相对有效的途径和方法。具体而言,算法思维就是能清楚能说明问题解决的方法,能够将一个复杂的问题转化成若干子问题并将其进一步简化,以达到解决问题的目的,这也是科学和设计领域的一项重要技能;算法思维就是能清楚地理解问题解决的规则,能够认识到问题的起点、边界和限定范围,按部就班地完成任务或解决问题;算法思维就是能清楚地分析问题解决方法的优劣,能够设计与构造操作步骤更少、更经济的算法。在计算机广泛应用的今天,人们通过程序指挥计算机解决各种问题,而所谓的程序仅仅是用某种计算机语言所描述或表达的算法。算法设计则是程序设计的核心和基础。从这个意义上说,算法是信息处理的核心之一,算法思维方式是信息技术的最基本的思维方式。算法应该同数学、哲学一样,是人类的一种通用智慧工具。二、算法思维,一种问题求解的思维方式所谓问题解决(Problem-solving),就是人在面临着问题情景时,为处理这个情景而产生的一系列认知加工活动。问题解决是学习的基本方式之一,先前的问题解决学习与后继的问题解决学习都属于学习,先前问题解决学习对后继问题解决学习的影响就是问题解决迁移。算法思维,是一种问题求解的思维,是一种将解决问题的方案用“程序化”或“机械化”表达的过程,从而使得运用计算机解决问题变成可能,同时也形成了解决问题的一般策略。问题解决的心理过程一般分为五个步骤:呈现问题分析问题联系行为的选择反思检验,其中“分析问题联系行为的选择”是关键步骤,实现了从分析问题到提出假设。联系就包括将已掌握的概念、原理等知识与新情景的相关成分相关联,将某些熟悉的问题与新问题的相同成分相关联,将新情景与以前遇到情景的相似方面相关联,将新情景的结构与解决过的问题的结构相关联。全国普通高中信息技术课程标准指出:学生学习“算法与程序设计”模块,旨在掌握用算法与程序设计解决实际问题的方法,“引导学生注意寻找、发现身边的实际问题,进而设计出算法和计算机程序去解决这些问题”。例如,出租车分段计费问题就是学生在日常生活中感受到的问题,在课程教学中,学生将根据自己对出租车收费的理解,写出数学分段函数解析式,然后用算法分支结构正确描述,以解决出租车计价器的计价问题。从中可以看出,学生不仅学会使用算法的选择结构,同时也学习运用算法解决实际问题的方法。因此,构造、设计算法的过程是解决问题的过程,学习者面对问题呈现,依据已学的知识,提出解决问题的方案,并用规范的算法语言描述,最终通过算法的实施来检验问题解决的效果。同样,分析、实施算法的过程是解决问题的过程。算法的序列特性保障了问题解决是根据一定的次序按步骤地、有条不紊地进行的,在每一时刻都知道下一时刻该怎么办,从而使得算法的执行规则非常简单而机械,并且能够在有限次的操作后获得结果。因此,算法学习可以使学生经历算法化的过程,感受算法精神,体验算法思维。算法思维的训练,有利于培训学生的行事逻辑能力,即问题解决过程中思维的一般形式、一般规律迁移和运用能力的培养。三、算法思维,一种形式规整的思维方式现代信息技术是以“消除不确定性”为基本目的。在“消除不确定性”的问题解决过程中,符号化是信息技术操作的基本模式,即采用一种有限的确定性符号系统来对问题和问题解决过程进行符号化、形式化描述。算法是信息技术消除不确定性的核心,算法的确定性表明,算法的每一步操作,其顺序和内容都必须确切定义,而不得有任何歧义。因此,算法思维体现了严谨的、规整的逻辑思维。将事物或过程用形式化语言准确描述是算法思维的重要表现之一。在自然语言体现中,往往因场合、语调以及词语分隔的差异,会出现许多二义性,例如“打死老虎”就有打死了“老虎”和打“死老虎”二义。在算法学习中,需要将生活中的自然语言转换为确定化的算法语言,既需要学习者解决形式化工作,也需要解决表达唯一化工作,而程序设计语言,作为一种确定性符号系统,正是开展形式化思维训练的载体。例如,学习者在编程时因变量重复命名、表达式的运算符号使用错误,都会在程序编译和运行结果上反映,而学习者检错和纠错的过程,恰是培养其严谨规范的行为习惯。从心理学角度来看,人类思维的整体过程是带有机械特点的,但内部操作又带有“场”(格式塔)的成分,是机械化和非机械化交替作用的结果。这种思维场是一连续而无序的流,当从中能分离成一个个孤立个体并排列成序列状链时,便是机械化的。可见,一个人是否具有条理化、反思性思维习惯,是其能否解决问题的关键性因素。算法是由一系列的操作序列组成,算法实现中,结构化程序设计思想规定了一套方法,将复杂问题条理化、简单化。例如,一个大的程序可以划分为若干个模块,每个模块又可以继续分为更小的子模块,最终分出的模块能完成一个独立的功能,模块之间按层次关系进行组织,这样的思维习惯同样适用于一般的工作。所以,算法思维的培养将有助于人们对条理性思维习惯的偏好。当人们在面对纷繁复杂的信息思考问题时,往往喜欢通过流程框图来表达问题,理清关键要素,并运用算法高速而有效地解决问题,这就是算法思维在人们日常生活、工作中的渗透。四、算法思维,一种人机共存的思维方式依据人与机械的关系,算法可分为三种形式:生活算法,即完成某一项工作的方法和步骤,例如安排一天的工作;数学算法,即对一类问题的机械的、统一的求解方法,例如一元二次方法的求解公式;计算机算法,即问题求解的精确描述,它是一个有限规则的集合,确定了求解某一类问题的一个运算序列,对于某一类问题的任何初始输入,它能机械地一步一步地计算,并通过有限步骤之后,计算终止并产生输出。分析三种不同形式的算法可以发现,它们具备着不同的前提条件。对于同一问题,不同形式的算法需要不同的解决方案。特别是计算机算法,具有明显的自动化特征:第一,运算速度快;第二,数据存储量大;第三,数据计算准确性;第四,有严格的顺序性。因此,学习“算法与程序设计”,用计算机解决问题,就需要充分考虑计算机的特征,发挥机械“思维”的优势。例如,数学中典型的“鸡兔同笼”问题,需要通过问题分析并排列方程来求解,将鸡和兔的数量与“鸡兔同笼”问题的条件用解析式表达,反映了数学训练的一种方式。但是,作为计算机算法的实现,依据计算机高速运算的特性,完全可以采用穷举算法这种简单重复操作来求解,以代替人脑在的解题思维。那么,算法和程序设计的教学,就不仅要完成“鸡兔同笼”问题求解的程序,也要让学生体验到人机不同的思维特征。由此可见,算法思维体现了人机共存的思维方式。算法的学习,不仅是算法设计的过程,也是算法优化的过程,更应该以全局的观点把握合理的算法核心。人的思维和机械“思维”各有所长,人机共存的思维方式则是辩证地认识人与计算机的关系,并恰当地赋予计算机的思维,让计算机为人类服务。算法设计是人类智慧的结晶,计算机科学中知识创新主要就是算法的创新。算法设计不是简单地把生活算法或数学算法映射到计算机算法,而是要依据计算机算法的特征,进行创造性的算法化活动。所以,算法的教学,需要突破简单的问题求解,挖掘人机共存的算法思维内涵,在算法学习的同时培养全局意识和创新精神。五、算法思维培养初探在目前的信息技术课程中,“算法与程序设计”的教学内容已经蕴涵了算法思维,但还缺乏对算法思维的正视与重视。事实上,算法思维是在潜移默化中形成的,在教学过程中,设计合适的教学方法,选择合适的教学内容,在有限的教学课时中,从重视算法细节转移到重视算法思维上,是一个值得研究的课题。在“算法与程序设计”教学中,设计算法与编写程序是算法思维的培养途径,修改程序与调试程序同样也能感受算法思维,因为错误的判断需要对算法有更深刻的理解。那么,从理解算法与体验算法思维的角度出发,一直不被重视的程序调试也应该成为“算法与程序设计”的重要教学环节。算法是信息处理的核心技术,各种信息处理工具和软件都内含算法。因此,算法在信息技术课程中是以显性和隐性两种形式呈现的。除了“算法与程序设计”显性教学以外,体验应用软件中的算法、学习与使用思维导图/概念图软件、设计与实施项目活动、机器人教学,都可以感受到算法思维的存在。六、结束语千百年来思维的奥秘吸引着无数人投入无数的精力和热情去探索。目前,人们已清楚地认识到,狭义地培训程序员或软件操作人员不是中小学信息技术教育目标与任务。当算法从信息科技领域进入到教育领域,需要我们重新审视算法与程序设计教学,特别需要人们从算法思维角度去探索与挖掘其教育价值,并通过课程教学来实现。同时,在信息技术教育过程中,强调培养学生对于过程与方法的清晰性,所有的活动需要强调从需求开始,经过设计、算法的选择和应用,以求比较高的效益、以适当的过程和方法实现。4在我国,尽管在中小学开展计算机语言教学已经有一定的历史,但以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论