为何要有“生活算法”一说

来源 :中国信息技术教育 | 被引量 : 0次 | 上传用户:bmw
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  当你只有一把锤子时,所有东西看起来都像钉子
  When you have a hammer, everything looks like a nail
  从个人的经历来说,勉强可以算是程序员出身了。1987年就开始用计算机了,第一次接触的是Laser-310。为了准备全国师范院校的计算机程序设计比赛,我被选派参加了集训队。这才学会for-to、if-then等命令,同时还学会了高精度计算、阶乘等不同的算法。虽然比赛最终没有如期举办,但我的收获却很大。在活动中体会到了计算机程序、算法的魅力,明白了好程序可以完成很多原来不能想象的事情。
  1989年开始当教师教起了计算机课。当时以中华学习机为主的计算机中只有固化的编程语言,不会语言就不能使用计算机。先是BASIC语言,然后是LOGO语言。在八九年的编程教学中,慢慢地体会到了编程教学是有不同层次的。
  第一种层次是“命令”的教学,也就是主要目标是计算机的语句、命令。前苏联学者伊尔肖夫说过:“计算机程序设计语言是第二文化”。计算机开机后只有BASIC、LOGO语言,那么教学的主要内容就是学会编程的命令和语句。
  第二种层次是“程序设计”的教学。也就是教学的主要目标是程序设计。学会了命令、语句以便设计程序。而程序设计的核心是算法。因此,在教学中如何强调算法成了计算机课堂教学自然而然的事情了。
  第三种层次是“思维”的教学。经历多年的程序设计后我渐渐地体会到:真正的大师善于从思维中把握算法的核心,用计算机实现一种算法首先是一种思维的实现。因此,在计算机课的学习中更重要的内容成了如何渗透算法思维,如何将思维融合于生活中,而不是掌握某一种或几种固定的“算法”。
  “命令——算法——思维”三级目标对于一个成长中的计算机/信息技术教师来说有着重大的影响。在工作、生活中寻找、形成解决问题的“算法”逐渐形成了一种思维方式,一种程序员的思维方式。
  当我们手里有一把锤子时,最喜欢的是把世界上所有的东西看成钉子。都愿意用手中的锤子去试一试身边的生活。感受到了算法的好处,也会经常倾向于把算法思想广泛地应用到各类问题,而信息技术课中就恰恰有这样的问题,并且还不少。
  1999年前后,课程名称改为“信息技术”,教学内容由程序设计逐步改为计算机操作,算法渐渐淡出。课堂教学转变成以Office办公软件的操作为主的教学活动。今天看来,这种变化是课程经历的新一轮的螺旋上升过程。不过,经历了一轮实践后,许多信息技术教师又重提“老”问题:信息技术课仅仅是教会学生掌握软件操作吗?
  当我们对计算机教学中的诸概念追根溯源,从认知心理学角度分析所谓的“操作”,可以发现“简单操作”也是由一个个更细微的动作按一定次序组成的。更复杂的问题解决步骤往往是由更细节、更具体的下一级解决方法组成。这其中的“次序”与程序非常类似。在程序员眼中,计算机的操作与程序设计在一定方面是相互对应着的(如图1)。
  其中程序设计中的命令、语句对应着计算机中的操作、方法与技巧,都是相对具体的,对比整体都是“更微小”的,是组成后续要素的基础。程序对应着操作工具、解决问题的过程与步骤,都是强调有一定的次序性。程序设计算法对应着技术应用的“算法”。程序设计中的“思维”对应着技术应用的最终目标——问题解决。如果把前面的称为计算机程序设计算法,后面的这一种,为了应用技术、操作工具来解决生活中的问题而出现的行动规则,则称之为“生活算法”。
  两种不同情境下的“算法”既有很多相似,也存在着很多不同。
  两者都有算法思维的特点,两者都有模块化特征;两者都需要有可行性,计算机算法需要能编程实现,生活算法需要在生活中能一步步实施;两者都是由抽象到具体的,程序设计算法是按照“算法——程序——命令”逐级分开,生活算法是可以按“算法-过程-操作”逐级展开。学习程序设计算法需要从程序入手,掌握生活算法也需要从解决问题的过程、步骤入手,基础都是有程序性。
  也可以看到两者有更多的不同。程序设计算法是直指程序设计的,最终能够编程在计算机上实现的。生活算法直指使用工具解决问题的,需要一步步在生活中去真正地解决某个问题;程序设计算法可以使用某种计算机语言,或者伪代码、流程图来表达。但针对技术工具的生活算法更倾向于人的自然语言表达;程序设计算法相对严谨、抽象,生活算法相对宽松,但针对不同的问题情境会有不同变化。
  ……
  当我们在反复辨析“生活算法”与程序设计算法到底是不是同一个概念的时候,却发现这种解释对于信息技术课来说,是一种有意思的思考。因为有了“生活算法”,现在的信息技术课中一些所谓不相关的部分联系到了一体(如图2)。
  中小学信息技术课的主要内容,如画图程序、字处理Word、WPS、多媒体PowerPoint、Flash等不同应用软件的学习,除了部分特有概念外,都是从单击、双击、保存、打开等简单操作开始的。若干简单操作组成了操作方法,再由操作方法逐步复杂化,向利用工具解决问题发展。从简单操作到方法,从操作步骤到程序,从过程到应用工具的行动规则,再到问题解决,形成了操作工具的“生活算法”系列。对应着的就是更抽象的、程序设计中的“命令——程序——算法”体系。
  从生活算法的角度来看,现有的教学内容其实是一个有结构的整体。无论是软件应用部分强调其操作性、程序性,还是计算机编程方面强调程序设计、强调算法,都是在培养学习者的思维能力、问题解决能力。
  程序设计算法——生活算法。是面对着钉子时,我们手中的锤子呢,还是一块砖头?或者它们都一样?
其他文献
近年来,由于受到编制的制约,很多高校选择了非编制人力资源作为人才队伍的重要组成和补充。然而,由于缺乏有效的管理,高校非编制人力资源的维权事件时有发生。本文以边境欠发
目的提高大肠息肉切除术患者健康知识掌握率。方法成立品管圈活动小组,确定提高大肠息肉切除术患者健康知识掌握率为活动主题,对100例大肠息肉切除术患者进行调查,分析原因并采
危机具有突发性、威胁性、危害性、不确定性、紧迫性等重要特征.在全球化时代的'风险社会',冲突和危机是普遍的,导致危机发生的因素是多方面的.转型期的中国已经开始
目的探讨应用PDCA循环法提高皮肤科护士对头面部手术术区备皮的认识度。方法应用PDCA循环法建立和完善头面部术区备皮的流程及培训计划。以工作坊的形式对皮肤科全体护士进行
随着教育改革的深入以及计算机信息技术的快速发展,以多媒体技术为核心的现代信息技术媒体越来越多地进入了学校课堂教学环节中,这种多媒体手段的应用打破了原有传统课堂教学的
摘要:新课程标准强调在高中信息技术课堂中创设恰当的问题情境来激发学生的学习兴趣,提高教学效率。笔者从问题情境的创设与高效课堂之间的关系入手,提出了两种问题情境的创设策略,然后根据自身的教学实践,以教科版的《Excel表格数据的处理》一课为例,探讨以上两种问题情境创设过程,以期为有效教学提供借鉴。  关键词:高中信息技术;问题情境;高效课堂  中图分类号:G434 文献标识码:A 论文编号:1674
介绍一种适用于特殊人群(如老人、小孩等)的可无线通信、体积小且重量轻、方便携带、操作简单的小型追踪器。重点阐述采用MSP430系列16位微控制器对集成小型GPS和GPRS功能模
目的分析"新"型流程护理技术在介入(导管室)护理工作中的应用,让行冠状动脉血管介入造影检查、植入支架患者到介入(导管室)感觉"新"型护理技术的感动服务。方法冠状动脉血管介入造影
目的:长链非编码RNAs(lnc RNAs)已经被证实在多种肿瘤病理过程中发挥着重要作用,但由于其序列及空间构像的复杂性,其作用机制尚不可一概而论。本研究通过生物信息学技术筛选