计算思维的概念演进与信息技术课程的价值追求_计算思维论文

计算思维的概念演进与信息技术课程的价值追求,本文主要内容关键词为:思维论文,概念论文,价值论文,信息技术课程论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

      计算思维是一个舶来品,在我国高等教育领域以及中小学信息技术课程领域掀起了阵阵波澜,不过就基础教育领域的大多数人士而言,还是一个全新的概念。源出于计算机科学领域的计算思维究竟是什么?在它出现并被“围观”的数年里发生了什么变化?如何认识它和基础教育信息技术课程的关系?本文围绕这些话题展开。

      一、计算思维:观点的演绎与演化

      计算思维肇始于2006年卡内基·梅隆大学计算机科学系主任周以真(Jeannette M.Wing)的界定:计算思维是运用计算机科学的基础概念进行问题求解、系统设计,以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。[1]如今,计算思维正在受到广泛重视,典型如美国的“国家研究委员会”(National Research Council,NRC)于2009年和2010年组织了两场关于计算思维的专题研讨会,并分别出版了专题研究报告,在两册研究报告中,都在显要位置重申了周以真的上述观点,只是略有删节。同时强调人们并未就计算思维的定义与内涵达成一致意见。[2][3]

      换言之,虽然有周以真的观点作为参照,但是人们对计算思维的理解依然存在多样性。因此,要把握计算思维的内涵,需要对既有观点进行一次全景式的扫描,以捕捉其演绎与演化的行迹。大体来说,学界有关计算思维的认识,主要有如下几种。

      一是“问题解决说”。这是最早流行的观点,周以真在不同时间点对计算思维的阐述都没有脱离这一主线。2006年,她如上界定了计算思维。2008年,又将计算思维定义为选择恰当的抽象方法,在不同层面进行抽象并定义抽象关系,形成模型,以及选择合适的“计算机”(人或机器、虚拟或物理的设备)自动化执行抽象任务的过程。[4]2011年,她修正了前述描述,认为“计算思维是形式化表达问题和解决方案,使之成为能够被信息处理代理有效执行的思维过程”。[5]“问题解决说”也因此获得众多学者和机构的认同。例如,Robert Tinker认为,计算思维的核心是将大的问题分解成很多小的问题直到小的问题能够自动化解决。[3]66又如Bill Wuff认为,其他科学领域所关注的是物理对象,而计算思维应该聚焦的是解决问题的过程和能够抽象为过程的现象。[2]11在2011年国际教育技术协会(ISTE)和计算机科学教师协会(CSTA)联合制定的中小学计算思维课程框架中,也明确将计算思维定义为解决问题的一种过程。

      二是“抽象说”。“问题解决说”表达了计算思维的核心功能,但是究竟如何才能利用计算机解决问题?背后的关键思维是什么?周以真认为关键在于抽象。不过,与数学、物理等一般科学抽象相比,计算机科学中的抽象显得更为复杂和生动。例如,数学和物理中的抽象往往只有一层,而计算机科学中的抽象常常有多层,需要逐次将事物的细节性信息剥离掉,形成不同的抽象层级,并界定清楚层与层之间的联系。分层抽象之所以重要,是因为根据不同的抽象层次,进而有选择地忽视某些细节,可以很好地控制系统的复杂性。

      三是“自动化说”。抽象的结果如何执行?于是有了自动化说。正如Robert Tinker以上所言:计算思维的核心是将大的问题抽象分解成很多小的问题直到小的问题能够自动化解决。也正是在这一点上,有人认为计算思维与数学、物理一样,都需要利用抽象来简化和控制问题复杂性。但是,与物理和数学不同,计算思维增加了控制问题复杂性的新维度——自动化。[2]16-17

      四是“构造说”。计算思维与其他科学思维相比究竟有何不同?为了回答这个问题,中国计算机科学领域的学者倾向于将计算思维理解为构造思维,这主要源自对科学思维的分类。根据石钟慈的观点,目前自然科学领域公认有三大科学方法:理论方法、实验方法与计算方法。[6]国防科技大学朱亚宗教授认为,与三大科学方法相对应,便有三大科学思维,即理论思维、实验思维与计算思维。[7]这一观点在中国计算机科学界被广泛应用。与以推理和演绎为特征的理论思维和以观察和归纳为特征的实验思维不同,计算思维(构造思维)以设计和制作为特征。[8][9]“构造”包含了“构”和“造”。“构”是指被研究对象各种要素之间的组合关系与框架,“造”是建造、创造,即各种要素之间的组合关系与框架的建造。[10]可见,所谓构造思维与工程思维类似。周以真认为,计算思维是数学思维和工程思维的互补与融合,因为人们建造的是能够与实际世界互动的系统,需要在受现实条件约束的环境中思考如何设计、评估大型复杂系统,而不能只是数学性地思考。[4]

      五是“信息表达说”。计算思维只是用来求解问题的吗?有学者认为不是。Resnick M认为,计算思维是一种特别重要的表达形式,“编程就像写作,是一种表达方式,也是开发新的思维方式的入口”。[2]13他相信对于更多的人来说,计算思维意味着经常运用计算媒体(如Scratch)表达自己的一种手段,计算的力量体现在它允许人们通过各种媒体表达和展现自己。[2]67-69又如,Dor Abrahamson认为,计算思维是使用计算相关的符号系统阐述显性知识和具体化默会知识,并将这些知识表示为具体的计算成果(实际产品或仿真)。[2]11

      六是“社会计算说”。计算思维有没有社会属性?王飞跃从社会科学与计算科学交叉融合的角度,阐述了社会计算可以从两个方面来认识:一个是从计算机或更广义的信息技术在社会活动中的应用,这一角度多限于技术层面而且有较长的历史;另一个是从社会知识,或更具体的人文知识在计算机或信息技术中的使用和嵌入,反过来提高社会活动的效益和水平。后一方面的工作近年来刚刚兴起,涉及社会、经济与工程领域的诸多重大研究问题,其核心是以人和社会为表征的建模与计算方法,从基础理论、实验手段及领域应用等各个层面突破社会科学与计算科学交叉借鉴的困难。[11]

      七是“三维目标说”。Brennan K和Resnick M从Scratch交互式媒体设计活动的特征出发,建立了计算思维的三维框架。第一个维度是计算思维概念,包括顺序、循环、事件、并行、条件、运算符、数据;第二个维度是计算思维实践,包括递增与迭代、测试与调试、抽象与模块化;第三个就是社会性的内容,包括表达(通过创建交互性媒体表达观点和创意)、连接(交流)、质疑(理解技术)。[12]显然,这个框架与基础教育新课程改革主张的三维目标有相似之处。

      综观上述七种观点,显然各不相同,但也各有其独特的角度。“问题解决说”是从计算思维注重过程分析和过程设计的角度(可追溯到面向过程的程序设计思想),将计算思维视作有关问题解决过程的思维,故可简称“过程思维”;“抽象说”是从科学抽象方法的角度出发,比较计算科学中的抽象与其他科学抽象的特殊性,从而将抽象视作计算思维的本质方面;“自动化说”侧重表达计算思维的技术特征,不仅体现了计算思维应具有的效率意识,还强调了在高新技术影响下的生产、生活和学习方式的变化,并由此改变了人们的思维方式;“构造说”是从人类三大思维类型的角度,揭示了构造思维有别于理论思维和实验思维等一般科学思维的特质,又可称为“工程思维”;“信息表达说”则是从现代数字媒体使用的角度,认为计算思维也是一种重要的信息表达思维,而信息的表达又主要表现为可视化的多媒体信息表达,故也可以称之为“可视化思维”;“社会计算说”则从社会科学与计算科学交叉的角度,强调了计算思维所具有的广泛的社会属性和社会意义,尽管其核心内容离不开抽象建模;“三维目标说”在“信息表达说”的基础上,围绕交互性媒体设计建立了一个相对完整的框架,且进一步强调了计算思维的社会属性。

      由此可见,计算思维首先发自计算机科学,先是用于描述计算机科学中的思想及方法,之后走向更加广阔的社会视野,逐渐演化为围绕作为主体的“人”而展开。因此,从主体与世界的交互关系角度出发,我们或许可以找到一个整合各类观点的框架,比如说,可以将计算思维视作三组有关联的思维结构:对象化思维和过程思维,兼具认识世界和改造世界的功能,分别指向世界的空间和时间维度;抽象思维和可视化思维,主要体现在认识世界的活动当中,分别指向世界的内在本质(内容)和外在形态(形式);工程思维和自动化思维,主要表现为改造世界的能力,分别指向改造世界的必然性和自由性。无论计算思维的内涵如何,我们至少看到了其更为本质的特征:如同数学思维一样,计算思维有一个完整的内容体系;它是普适性的,是支持其他学科发展的思维工具和方法;在此基础上,它又具有普遍的社会和生活意义,是人们赖以生存的基本思维方式之一。从中我们发现,计算机科学为社会带来的,不仅是精英取向的计算机科学与技术、由大众化信息技术普及而孕育的席卷整个社会的信息文化,还是一种特别的思维智慧——计算思维。

      二、彰显信息技术课程的基础性价值

      通过上述分析,我们看到了计算思维的广泛内涵和基本框架,其社会价值毋庸置疑,不过其基础教育价值的确认,尚需放在基础教育语境中加以考量。

      (一)价值定位:学科思维彰显基础教育的“基础性”

      在基础教育语境中谈论计算思维,首先需要理解基础教育的特性。根据学界的一贯认识,所谓基础教育的突出特点就在于其具有“基础性”。

      一种比较普遍的观点认为,基础教育的“基础性”,首先指的就是“要为学生的未来发展或终身发展打基础”。那么,究竟哪些东西才是学生未来发展或终身发展的基础?在这个问题上,不同历史时期有不同的理解。自新中国建立以来,中小学注重“双基”,“基础知识”和“基本技能”渐渐成为公认的一贯的传统。但随着时代的发展和知识的激增,“基础”所包含的内容发生了变化,基础知识、基本技能、基本方法、基本态度与价值观构成了新的“基础”。

      除了对人的发展奠基之外,有关“基础性”还有另一种理解:“基础教育是整个社会和国家发展的基础。”不过,有关这个观点的论证并不充分,人们不禁要问:比起经济、政治或高等教育来说,基础教育真的是整个社会和国家发展的基础吗?有人是这样论证的:基础教育在很大程度上决定了全体国民的基本素质,从而决定了一个国家劳动力或公民的基本素质,决定了这个国家经济发展后劲的大小、政治生活的理性化水平以及文化创新潜力的大小,最终从总体上或根本上影响或制约这个社会和国家的未来发展。[13]这一推理过程显然有待商榷,且不说经过多次因果转换后,基础教育的功效已经发生了严重衰变,单说推论的起点“基础教育在很大程度上决定了全体国民的基本素质”,其实只是前述“基础教育要为学生的未来发展或终身发展打基础”观点的翻版,并无新意。可以说,就目前学界的理解,所谓基础教育的“基础性”基本没有跳出“基础知识、基本技能、基本方法、基本态度与价值观”的范畴。

      那么,“基础知识、基本技能、基本方法、基本态度与价值观”就是基础教育课程的全部吗?我们认为,基础教育课程与专业课程不同,它不直接指向特定专业领域,而应该具有更为广泛的属性。这个属性,首先建基于每门课程都能自成体系,有各自一套完整的课程内容体系,成为现代人基本素养培养的基础。但是,所谓自成体系只是从课程或学科自身而言的,如果单方面强调这种体系,就会陷入“学科中心论”,因而,强调课程内容所具有的更普遍的基础价值就显得极为重要。

      这些“自成体系”的内容当中,哪些内容可以称得上具有“更普遍的基础价值”?教育史上著名的“形式教育”(思维训练)和“实质教育”(知识教育)的争论给我们提供了有益的启示:“形式教育”强调思维训练的一个重要原因就是,学科思维确实比学科知识更易迁移,更具通用性。当然,现代教育要成为充满智慧的活动,必然要求教育者跳出知识与思维之间非此即彼的选择,那么,建立在实用知识基础之上的思维训练是可以在教育实践当中获得统一的。[14]从这个意义上说,“知识是学科的,思维是通用的”应该成为教育界的共识。事实上,基础教育各学科逐渐增多的探索上游学科思维的趋势(见表1所示),体现了这一共识的逐步形成,我们甚至在国家课程标准中也能看到。

      需要追问的是,这些学科思维的通用性究竟可以表现在哪些方面?笔者认为,它至少有两个方面的表现值得我们重视。

      首先表现在课程层面需要跨学科视野,即某门课程的核心思维方法可以广泛应用于其他相关课程,是支持相关课程发展的基础之一。如数学思维之于物理、化学、生物、地理、技术等的支持,如历史的时空观念、多元联系之于政治、人文地理等的支持,又如守恒、动态平衡思维之于物理、化学、生物等的基础性意义。

      其次,学科思维的通用性还体现在社会层面。需要强调的是,这种通用性不仅体现在对劳动力职业素质乃至社会经济发展的奠基,也不完全在于为学生理解和融入社会传递必要的文化认同、社会意识、国家观念等基础知识,还体现在培养儿童对社会或周围世界的洞察能力上。如历史的时空观念、多元联系是理解社会事件和社会关系的基本方法,数学的量化思维、逻辑思维是理解社会发展的重要手段,科学技术类课程所携带的科学思维则是理解现代社会科技元素和科技创新的基础,政治课程中的诸多哲学原理更是理解世界的重要视角。因此,从学科思维的角度看,需要建立课程思维与社会生活的紧密联系,强调这些思维的广泛社会意义,而不仅仅是课程知识与社会生活的联系。如是,“基础教育是整个社会和国家发展的基础”便有了更为坚实的依据。

      (二)行动构想:计算思维提升信息技术课程的“基础性”

      回到信息技术课程。从“程序设计是第二文化”的认识开始,信息技术课程从来不是简单以“工具”的面貌进入并表现于基础教育的,显然超越了工具论的思路。但是,一方面由于信息文化缺少有效的挖掘和课程化,广大信息技术教师、关心信息技术课程发展的领导和主管部门,对信息技术课程的工具属性已然有了一种刻板印象,以致有关信息素养的培养最终不得不简化为一些具体工具的应用。实际上,“工具论”的观点不只存在于基础教育领域,在高等教育领域同样盛行。由李国杰院士任组长撰写的《中国至2050年信息科技发展路线图》中指出:长期以来,计算机科学与技术这门学科被构造成一门专业性很强的工具学科;“工具”意味着它是一种辅助性学科,并不是主业,这种狭隘的认知(“狭义工具论”)对信息科技的全民普及极其有害。[15]现在看来,上游学科长期存在的这种“工具”定位也是基础教育管理者和从业者形成刻板印象的重要原因。客观说,“狭义工具论”的生根发芽并非一无是处,因课程的工具性直指社会生活经验,其社会意义及价值得以广泛认可,在相当长的一段时间内推动了信息技术课程的普及开展。然而,工具属性远远不是信息技术课程价值的全部,相反,它的强化是一把双刃剑,当它得到强化时,在课程发展的初期无疑会获得较快的发展,然而当信息技术在全社会得到普及时,其基础教育价值就会逐渐消弭。

      

      工具属性所带来的课程价值的削弱,除了社会普及信息技术所带来的直接后果,还有两个重要原因。一方面,信息技术软硬件更新速度快,以至于在很长一段时间内,教学一线的师生一直抱怨信息技术课程内容陈旧,跟不上时代;另一方面,大众信息技术的发展似乎越来越人性化,使用越来越简单,甚至不需要学习即可熟练掌握。因此,以此类技术工具作为课程内容教给学生似乎越来越不合时宜。既如此,信息技术课程还有存在的必要吗?这两大问题的产生,从课程建设的角度而言,正是因为我们一直被动沿袭了社会经验取向的课程内容选择思路。我们常常把当前成人使用信息技术的工具经验作为十几年后才担负成人角色的儿童的课程内容,却忽略了信息技术变化迅速与教育功能所具有的滞后性特点。

      那么,信息技术课程当中究竟有哪些内容具备“永恒”的基础教育价值?或者说,究竟哪些内容才是作为基础教育课程而言能够为学生的未来学习和生活奠基?分析“狭义工具论”的观点,根源在于我们对“工具”的认识过于简单,我们只观察到了工具的表象,而没有关注到工具背后的内容。图灵奖得主Edsger Dijkstra点出了这一问题的要害:“我们所使用的工具影响着我们的思维方式和思维习惯,从而也将深刻地影响着我们的思维能力。”[16]正是这种技术哲学视野的缺失,造成我们对工具使用背后的思维方式的失察,才使得我们走向了“狭义工具论”的误区。因此,信息技术课程走向计算思维将是回答上述问题的较为满意的答案。事实上,这也是英美等国从ICT教育走向Computing教育的重要原因,也是《中国至2050年信息科技发展路线图》中指出的发展道路。

      如上所述,计算思维在计算机科学相关概念、理论、工具的基础上可以形成三类思维的架构,自成体系,其形成的基础包含了“基础知识、基本技能、基本方法、基本态度与价值观”等内容。例如,利用信息技术解决问题的知识和能力,利用信息技术获取知识的能力,对待信息技术的情感、态度和价值观。同时,它作为一种思维,可以广泛应用于其他相关学科,如周以真所言:“同读、写、算能力一样,计算思维是每个人的基本能力”,“同主修英语或者数学后从事各种各样的职业一样,一个人可以主修计算机科学,接着从事医学、法律、商业、政治,以及任何类型的科学和工程,甚至艺术工作”。[1]实际上,持此类观点的人甚多。例如,NRC计算思维专题研讨会中的绝大部分专家认为,计算思维只有应用于不同领域才能显示出其强大的威力,需要特别重视计算思维跨学科的应用。[3]9当然,如前文所言,计算思维也是理解、表达和改造社会生活的重要思维,具有明显的社会性。也就是说,对信息技术课程而言,计算思维不仅有重要的内在价值,也有非常重要的外在价值。

      进一步说,如果说计算机科学本身的一些概念、思想、方法属于“thinking for computing”的内容,那么,那些能够广泛应用于各个学科的计算思维就属于“thinking with computing”的范畴。而作为社会性的计算思维,则可以称之为“thinking in computing”,意指“在生活之中计算,在计算思维中生活”。如是,从计算思维的科学基础,到计算思维的应用,再到计算思维的社会文化,构成了不同的抽象层级,彰显了基础教育课程的基础性特征,形成了信息技术课程思想的完整体系。

      行文至此,尚有一个问题没有提及:既然计算思维具有普遍性,需要强调跨学科应用,那么有关计算思维的教育是否就不需要设置专门的课程了?如同信息技术课程的存废一样,此类疑问需要认真对待。不过,正如Marcia Linn所言:将计算思维引入已经设计好的学科课程存在诸多挑战,需要相关学科齐心协力的努力,需要明确在现有学科课程的什么位置以及如何整合计算思维的内容;即便我们在所有课程中都整合了计算思维,我们也可能会发现对学生计算思维能力的培养是失败的,因为这种整合缺乏累积性。因此,我们需要思考用何种方式帮助学生建立起对计算思维连贯一直的理解,采用有步骤的措施使得计算思维处于整个教育的中心位置是首要的目标。[2]49-50显然,按这一观点,虽然我们需要努力在相关学科课程中渗透计算思维的内容,但为了避免累积性不足的问题,设置一门专门的课程来统领计算思维的教育依然是非常重要且必要的,而且,这门课程应该获得教育主管部门和学校领导的重视。2012年3月,英国教育部宣布终止原有ICT国家课程标准,舆论一片哗然。但很快,2013年9月正式公布了新的计算课程学习计划(computing programmes of study),将其作为国家课程中的一员,为英国开展计算思维指导下的信息技术课程与教学提供了关键支撑。事实上,以整合的方式而非独立课程的方式开展信息技术教育,还有一个非常重要的副作用,即在相关学科的视野中运用和理解信息技术,通常会将其狭隘化为一种辅助学习的技术工具或手段,形成前述“狭隘工具论”的刻板印象,缺乏对信息技术思想、思维、文化等的深度挖掘,不利于学生基础素质的培养。

      本文回顾了国内外学者关于计算思维的诸种认识,从认识世界和改造世界的角度初步提出了一个较为综合的计算思维框架,并在基础教育语境中讨论了其重要的教育价值,旨在改变过往信息技术课程内涵不足,扩充信息技术课程的视野,使之在基础教育课程体系中更具理论自信。以计算思维认识世界的功能为例,是往常信息技术课程乃至信息技术教育容易忽略的方面,尤其是以“狭义工具论”指导实践时,技术操作训练和利用技术解决问题成为教育的全部。我们希望借助计算思维的引入,不仅能让人们认识到计算思维用于改造世界的丰富内涵,也能重视其认识世界的功能。这种认识和理解世界的能力培养,在实践层面不乏生动的案例。例如,在Joyce Malyn-Smith的一个实践研究中提到:虽然几乎所有的初中学生从课本中都能学到树木能够缓解污染,但是在计算课程中利用建模工具,学生可以对这个问题认识得更为深刻。利用建模工具,学生可以将校园内的树木分布绘制成地图,可以记录物种种类、健康状况、生长情况等诸多此类的数据,使用图表方式来描述校园就是一种计算思维的抽象方法,从而可以利用自动化模型来计算树木消减污染物的状况。学生还可以修改参数,比如,在地图上“种植”新的树木,让小的树木继续生长,或者移除一些树木,重新计算和评估校园树木在减轻污染方面的情况。这种迭代的过程可以反复多次,直到获得一个比较理想的树木种植方案。[2]105

标签:;  ;  ;  ;  ;  ;  ;  

计算思维的概念演进与信息技术课程的价值追求_计算思维论文
下载Doc文档

猜你喜欢