李 锋,王吉庆
(华东师范大学 开放教育学院,上海 200062)
计算思维教育:从“为计算”到“用计算”
李 锋,王吉庆
(华东师范大学 开放教育学院,上海 200062)
信息技术从“工具革新”到“数据变革”的转向,使得发展学生计算思维,培养学生数据意识成为信息技术教育的新挑战。从教育历程来看,计算思维教育经历了“计算知识接受”“认知工具应用”和“普适价值推广”三个主要阶段。然而在具体实施方面,学校计算思维教育也还存在着“为何学”“学什么”“怎么学”的困惑。该文针对具体问题探讨了计算思维教育的实质与内涵,认为学校计算思维教育不仅需要重构教育内容,改革教学方法,最主要的还是要更新教育理念,实现从“为计算”到“用计算”的转向。
计算思维教育;为计算的教育;用计算的教育
信息技术的革新与普及使得信息技术教育沿着以“个人计算机驱动”到以“互联网驱动”再到以“数据驱动”的路径得以持续发展。近十年来,大数据、云计算、移动技术的广泛应用不仅改变了人们的日常行为方式,也深刻影响着人们的认知结构和思维品质。因此,信息技术教育不仅需要提高学生技术工具的应用与操作技能,也需要发展学生利用技术解决问题的能力,促进学生学科思维的发展。
计算思维是一种能够把问题及其解决方案表述成为通过计算工具进行信息处理的形式化思维过程[1]。尽管计算思维这一术语近年来才为学界所关注,但计算思维的教育理念一直隐含于学校信息技术教育之中,在不同教育阶段反映出不同的教育特征。考察计算思维教育历程,大体可分为“计算(Computing)知识接受”“认知工具应用”和“普适价值推广”三个发展阶段。
20世纪60年代计算机进入中小学校后,青少年计算思维教育观念就已有萌芽。1968年,美国心理学家、计算机教育家西摩·佩珀特(Seymour Papert)在认知发展理论研究中认为“计算机可以将儿童的认知思维具体化,儿童在通过计算机做各种事情的过程中,可以学会学习、掌握方法和发展能力”[2]。随后,他通过LOGO程序语言帮助学生观察程序的运行过程,验证指令及思考问题的正确性。1981年,前苏联计算机教育学家叶尔肖夫提出了“程序设计文化”的观点,指出“当人们生活走进面向程序的世界时,程序设计就不仅存在于计算机存储器中,同样存在于人类的头脑中,是否具有编排与执行自己工作程序的能力是人们能不能有效完成各种任务的关键。”[3]这些观念一定程度上反映出计算思维教育的要求。但是,受“学校计算机语言”和“程序设计文化”的影响,具体教育内容主要还是集中于计算知识学习层面,希望通过学习基本的程序设计知识,提高学生的编程能力,以计算机语言促进学生思维发展。事实上,过于强调计算机语言和程序设计知识,忽视信息技术教育的内在方法、脱离学生生活经验,把程序设计能力的发展简单等同于计算机语言学习,这不仅没有促进学生程序设计技能的迁移,反而降低了学生的学习兴趣,陷入“为学计算而学计算”的误区。
20世纪90年代,计算机应用软件的普及使得信息技术教育从“效能工具(Productivity Tools)的技能应用”发展为“认知工具(Cognitive Tools)的方法习得”。1996年,美国教学设计专家乔纳森(David.H.Jonassen)教授在《课堂中的计算机:作为促进学生批判思维发展的工具》一书中指出“课堂中的计算机不仅要成为学生操作练习的效能工具,更应是学生思维发展的认知工具。电子表格、语义网络(思维导图)、建模系统等应用软件在帮助学生解决问题时,同样也能发展学生的批判思维、创造思维和综合思维”[4]。计算思维教育逐步实现从“计算知识学习”发展为“认知工具应用”。2000年,英国实施的信息与通讯技术(ICT)课程标准把发展学生“信息技术能力”作为课程目标,包括了“运用信息资源和信息技术工具解决问题”“运用信息技术和信息资源”“了解信息技术在日常生活和工作中的作用和影响”等内容。2003年,我国教育部颁布实施的《普通高中技术课程标准》将“提升学生信息素养”作为信息技术课程总目标,强调学生信息处理和解决实际问题的能力。信息技术作为认知工具的教育理念通过“工具学习与应用的方式”加强学生计算思维的发展,提高学生利用信息技术解决问题的能力。但是,当青少年成为新时代的“数字土著”,他们在日常生活中已经潜移默化地掌握了常用的信息技术工具,一般性认知工具的学习已很难满足他们个人发展需要,特别是课堂上认知工具的学习过于强调技能操作,弱化利用技术解决问题的方案设计与过程体验,忽视技术创造与问题解决创新能力的培养,认知工具的学习不仅不能促进学生计算思维的发展,反而会陷入“为学工具而学工具”的误区。
近五年来,大数据、云计算和移动通信技术的广泛应用创造了一个全新的数字化环境,信息技术从“技术工具的变革”转向“信息数据的变革”[5]。人们通过“数据”量化世界中各类现象,“数据”逐步成为重要的公共基础设施;通过“计算”理解身边的各种事物,创造出丰富多样的社会价值。“数据与计算”不再只是数学领域与计算机领域“专属”研究方式,同样也是生活于数字化世界中人们认知和解释世界的重要手段,发展学生计算思维已经成为学校教育的一项重要任务。2006年,美国卡内基·梅隆大学周以真(Jeannette M.Wing)教授深入探讨了计算思维的内涵,她认为“计算思维是涵盖了计算机科学领域中所采用的最广泛的心理工具,是对问题解决、系统设计、人类行为理解的综合能力反映。发展学生计算思维就是要‘像计算机科学家’那样去思考问题,当然,这些问题绝不只是计算机科学领域,它适合信息技术所渗透的每一个角落”[6]。基于社会进步和个人发展需要,近年来美国、英国、澳大利亚、欧盟等国家(或地区)都将计算思维作为学校教育的重要教育内容。为了促进计算思维教育的发展,2011年美国国际教育技术协会(ISTE)与计算机科学教师协会(CSTA)联合给出一个计算思维的操作性定义(Operational Definition),认为“计算思维是一种解决问题的过程,该过程包括问题结构化、数据分析、模型建设、算法设计、方案实施和应用迁移等特征。同时,也强调计算思维发展与学生性向(Dispositions)和态度是分不开的,这些性向和态度包括自信、坚持、宽容和与他人交流合作的能力”[7]。可见,当“数据”成为人们认识和理解事物的重要资源、并作为解决问题方案制定的重要依据时,中小学计算思维教育既不应局限于计算机领域的专业性教育,也不应停留于认知工具的应用性教育,而应是以发展学生“形式化思考、模块化建构、自动化处理、系统化实现”为指向的、具有普适价值的基础性教育,即“用计算”的教育。
信息技术变革使得“数据”逐步成为推动世界发展的内在动力,计算思维教育的重要性日益凸显。但是受教育思维定式和区域环境的影响,人们对中小学计算思维教育的目标、内容、方式有着不同的看法。学校该如何开展计算思维教育、怎样设计计算思维教育的内容、计算思维教育与早期程序设计教育内容又有怎样的区别,这些问题都还需要从我国的现实情况谈起。
计算思维作为人们利用信息技术解决问题的形式化思维过程,它在中小学信息技术教育中已有所体现。但是作为一个全新的专业术语,计算思维教育的实施也引发了学界争论。在2015年北京信息技术课程研讨会上,一位课程论专家提出了如下质疑:“从历史沿革来看,信息技术教育是从计算机教育演变而来的。20世纪80年代,受“程序设计是第二文化”的影响,我国中小学计算机教育开展了BASIC语言和程序设计,这在一定程度上推动了中小学计算机教育的普及。但是将计算机教育简单等同于BASIC语言和程序设计也引发了‘知识过难’‘方法枯燥’‘实施困难’的问题。那么,现在提出来的计算思维教育是不是又要让所有学生学习计算机语言和程序设计呢?这会不会再次引发学生认为该课程‘没意思’‘枯燥’和‘学不懂’的问题呢?”
毋庸置疑,从思维意象(Image)形式来看①意向是感觉经验的心理表象,指将外在世界中事物编码转化后储存在长期记忆中的意识图像。,程序设计是发展学生计算思维的一种重要载体。但是,当程序驱动的技术工具已经渗透到社会的各个领域,计算思维作为人们生存于信息社会必要的思维方式,与早期程序设计教育相比,有着更丰富的教育内涵和社会需要。其一,计算思维教育关注的是利用信息技术解决问题的能力。这种能力既表现为“结构分解、实体抽象、模型建设、自动化实施”等技术应用特征,也包括“明确问题、设计方案、实施反馈、修订完善”等一般性解决问题方法,指向于利用信息技术解决问题能力的发展。例如,2013年英国国家计算(Computing)课程标准要求11岁的孩子要能够“为完成特定目标而进行程序的设计、编写和调试,能够控制或模拟物理系统;通过将程序分解成更小的部分来解决问题。”[8]。其二,计算思维教育强调学生信息化认知方式的发展,该认知方式既具有技术的原科学(Meta-science)性特征,例如抽象、模块、程序化等特点,同时也会随着技术的发展和情境的变化不断地调整个体的认知心理模型。其三,计算思维教育关注学生在人造(Artificial)信息系统与自然(Natural)信息系统交互思考的过程,通过计算思维教育可以帮助青少年理性地、自信地使用信息技术,而不是为技术工具所控制。可见,计算思维教育并不是单纯的程序设计教育,更不是回到以前的计算机语言学习,它强调的是信息技术解决问题方法的掌握、认知思维的发展和人机互动的理解,其内容贴近学生的生活与学习,在真实体验与实践应用中发展学生利用信息技术思考与解决问题的独特能力。
目前,以抽象、算法和大规模数据为特征的计算思维教育在大学非计算机专业本科生中得以广泛开展。计算思维教育加强了计算机科学与其他学科的整合,提升大学生利用信息技术解决问的能力。但是计算思维教育是否适合中小学生,其教育内容是否会增加学生的学习压力。2015年5月,在上海市信息技术课程基层调研中一位中学教师说出了他的担忧:“计算思维包括了运用计算机科学的基础概念与方法去结构抽象、建立模型和自动化求解等内容,涵盖了反映计算机科学广泛性的一系列思维活动。这样看来,计算思维教育就不可避免地需要学习算法分析、程序设计、数据处理、信息系统等概念性知识。如果把这些专业性较强的大学内容下放给中小学生,势必会加大信息技术课程的难度,增加学生学习负担,这是不是违背了当今课程改革的基本理念呢?”
从思维构成要素来看,算法分析、程序设计、数据处理、信息系统等概念是构成计算思维的基本要素,如果没有这些概念做基础,有系统的计算思维活动也就无从产生。但是,中小学计算思维的教育并不是让学生孤立地接受这些概念,更强调在活动过程中引导学生体验、领悟和建构不同层次的概念,形成一种独特的认知方式。其一,计算思维的学习内容可以分层设计。学习层级理论认为“任何特定的学习目标都可以找到一些作为先决条件的、更简单的学习目标,一个特定的终点任务(Terminal Task)可以分解为一系列的从属任务或子任务(Component Task)”[9]。计算思维教育中,复杂的学习内容同样可以逐步细化为不同层级的学习内容,筛出选适合于中小学生的学习内容。例如,美国CSTA所制定的K-12计算机科学教育标准要求3年级学生的计算思维要能够“使用写作工具、数码相机、绘画工具分步表达思想、观点和事件”;6年级学生要能够“理解利用算法解决问题的基本步骤(例如,问题陈述和探究、样本检测、设计、实施和测试),当讨论一个大问题时,能够将其细化为一系列小问题”等[10]。其二,计算思维可以采用多样的教育方式。心理学家布鲁纳(Jerome S.Bruner)在研究中发现“儿童的心理发展经历着动作式表征、映象式表征和符号式表征三个阶段。如果能正确判断儿童心理认知方式,合理设计与之相符合的学习方法,那么任何学科都可以用智育上是正确的方式教给任何发展阶段的儿童”[11]。因此,计算思维教育就需要针对不同学生采用不同的教育方法。尤其是信息社会中,程序驱动的技术工具已经渗透到儿童生活学习的方方面面,将学习内容与学生个人的经验结合起来可以更好地促进学生计算思维的发展。因此,计算思维教育既不是将大学内容简单下放,也不是毫无目标地安排学习内容,而是根据中小学生认知程度科学组织内容,有效设计学习活动,帮助儿童理解信息社会生活方式,逐步形成计算思维的概念结构,内化为稳定的、具有学科特征的思维过程。
计算思维作为信息社会中独特的思考和解决问题的过程已为学界所共识,越来越多的教师认知到计算思维教育的重要性。但是,学校计算思维教育的组织方式和课程设计也面临着新的挑战。调研访谈中,一位教研员提出了如下问题:“从理念来看,计算思维作为信息社会独特的思考和解决问题方式已为大家所共识。但是,从教育理念到教育实践毕竟还有一段距离。在概念层面,计算思维是一个抽象的术语,那么我们该如何依托课程开展计算思维教育?又有哪些课程可以支持计算思维教育?这是困扰我们基层教育研究者的最大问题。”
概念和意象是思维的两个基本要素,从教学方式来看这些内容需要进行专门学习。推理与判断作为思维运作过程中解决问题能力的反映,从能力发展来看最主要还是在问题情境中进行体验、实践和反思。因此,计算思维教育既需要基于某一学科学习基本概念与原理,也需要在真实活动中进行综合性的实践与应用。学校计算思维教育方式主要包括:其一,信息技术课程是计算思维教育的一种重要方式。通过信息技术课程,学生可以了解计算思维运作的属性与法则,建立计算思维的概念结构,明确利用计算思维进行信息检索、编码、输出的过程。例如,英国计算课程标准要求11岁的学生要能够“应用逻辑推理来解释简单算法是如何执行的,并检测、纠正算法和程序中的错误”[12]。其二,其他学科课程可以渗透计算思维教育。针对具体问题,利用信息技术工具推理、判断和决策的过程也是计算思维发展的过程。随着信息技术与学科课程融合的深入,计算思维教育同样也可以嵌入到社会科学、语言艺术、数学和科学等课程中,帮助学生理解“计算”是个人学习与生活的一部分。此外,学校综合课程的开展也为计算思维教育提供了机会,学生在应用信息技术完成具体任务的过程中,可以体验到计算思维的作用,掌握相应的概念,形成利用计算思维解决问题的方法。显然,计算思维教育既需要信息技术课程进行专业支持,但也不限制于信息技术课程之中,学科整合、综合课程同样是发展学生计算思维的重要途径。
“为计算”的教育注重计算思维概念和意象等思维要素的掌握,将程序设计、计算机语言和工具操作作为主要学习内容。“用计算”的教育是在计算思维要素学习的基础上,强调学生在真实情境和具体活动中,利用信息技术解决问题能力和内在思维的培养。从“为计算”到“用计算”的发展就是要从信息技术教育的理念、内容与方法上实现转向。
认知心理学理论认为“思维(Thinking)是个体内在的心理认知历程。在此历程中,个体将心理上所认知的事件经过操作过程予以抽象化,对事件的性质予以推理判断从而获得新的知识”[13]。思维教育强调的是知识学习与能力提升的结合,其目的是在活动过程中利用原有知识和当前信息生成新的知识,理解生活中的世界。计算思维作为一种独特的学科思维方式,反映出计算机科学广泛性的、系列心理活动。其教育过程也需要突出计算知识与学科思维方法的结合,引导学生在利用信息技术理解问题、解决问题的过程中内化为稳定的思维方式。近几年来,以“计算思维作为发展主线”的信息技术教育已经融入到学校课程之中。2011,CSTA在全美中小学信息技术教育现状调研后指出“计算思维教育要渗透于大多数的学科之中,以此发展学生合理选用信息技术工具的能力,分析、解决现实世界中的复杂问题,正确理解现代世界中计算的力量与局限”[14]。2015年澳大利亚最新发布的“数字化技术课程标准”也强调“在数字化社会中,人们需要具备利用逻辑、算法、递归和抽象等计算方法认识事物的能力,计算思维教育就是要发展学生利用‘具有程序特征的技术工具’创造、交流和分享信息、合理管理项目、更好地生存于数字化世界中”[15]。因此,中小学计算思维教育就不应限于计算知识的学习和技术工具的操作应用,更应强调学生利用计算知识和技术工具解决问题综合能力的形成与思维的内化。
计算是“执行一个算法的过程,该过程既表现出数据分析的方法,也折射了内在思想与发现的动力”[16]。当今程序驱动的数字化工具渗透到人们生活的方方面面,其隐含的计算方法潜移默化地嵌入到人们利用技术工具解决问题的过程之中。“程序理解力”像桥梁一样打通了“计算机学习”与“计算思维发展”的通道[17]。在学理上,“程序过程”包括着算法设计和程序实现两个基本阶段。前者是通过逻辑推理、模块分解、要素抽象和形式化的方法,设计解决问题的算法(或结构模型);后者则是通过程序设计语言表达个人观点,以计算工具实现具体方案,“如果孤立地学习程序编码而不给学生算法设计的体验情境,就会导致盲目模仿科学实验而不知为什么做科学实验的错误;如果一味要求学生进行算法设计,而不给学生验证自己想法的机会,也会掉入只讲授科学知识而不做科学实验的泥潭”[18]。在教育实践中,计算思维教育更强调在项目活动中帮助学生领悟信息技术解决问题的方法与策略,发展计算思维。例如,在小学计算思维教育活动中,教师根据学生的认知能力设计难度相适应的“走迷宫”项目活动。学生通过“功能按钮”的选择设计“Bee-bot”(一种根据指令进行活动的学具)在“迷宫”中的活动路线,实验设计的结果,直至“Bee-bot”成功走出迷宫。在此活动中,尽管学生并没有亲自编写程序代码,但通过“Beebot”活动路线的设计和活动实现,也真实体验了“程序的过程与方法”。因此,中小学计算思维教育既不能简单地等同于代码编写,也不能将算法设计与程序实现隔裂开来,最重要的还是要引导学生体验“程序驱动”的技术工具应用情境,感受到计算方法与自动化实现的真实存在,在实践体验程序设计每个环节的过程中内化为普适性的思维方式。
美国多元智能专家加德纳教授(Gardner,H.)在学生智能发展研究中指出“面向学科思维的教育是要帮助学习者在知识学习的过程中形成独特的学科思考问题的方式,并以该方式理解和生存于世界之中”[19]。当今信息技术渗透到人们生活学习的各个层面,深刻影响着人们解决问题的思维方式与行为特征。计算思维教育就要摆脱“纯技术”的狭隘教育观念,强调学科知识和学科思维的结合,引导学生理解信息环境中各要素的关系,在现实情境中“学技术”“用技术”,批判性地认识技术变革给信息环境带来的影响。2011年,CSTA和ISTE联合研制的计算思维教育资源就着重强调其应用性和活动性特征:(1)计算思维教育是一个跨学科的教育,它不仅需要在信息技术(计算机科学)教学中开展,也适合于在其他学科中开展。每位学科教师都有责任开展、应用和评价学生计算思维。(2)计算思维教育是在解决问题的过程中开展的。利用计算思维解决问题的能力随着学生年龄增长会趋于成熟,不同学段的学生需要采用不同的活动方式。(3)计算思维教育是在不知不觉中进行的。计算思维并不是所谓的全新内容,其实在每位老师的课堂中都潜移默化地存在着,通过探究计算思维新技能,教师可以充分地将它们嵌入到课程内容之中[20]。英国计算课程标准也指出“高质量的计算(Computing)教育就是要帮助学生通过ICT解决问题,表达自己的想法,使用计算思维理解和改变世界,成为数字社会的积极参与者”[21]。可见,为了帮助学生更好地适应和生存于信息社会,中小学计算思维教育并不是要把所有学生都培养成“计算专家”,而是要帮助每位学生更好地利用信息技术理解和解决生活与学习中的真实问题,成为合格的数字化公民。
纵观计算思维教育发展历程,可以看出不同历史阶段计算思维教育表现出不同的内在特征,或程序设计能力、或思维工具应用、或普适性价值推广等。随着信息技术在人们日常生活中的广泛应用,其教育意义和价值内涵得以不断深化,并逐步聚焦利用信息技术解决问题的独特方式和应用策略——学科思维。当今技术环境的发展,使得青少年已全面、真实地生活在叶尔肖夫预言的“程序设计的世界”之中,计算思维教育就不再是单纯的“语言与程序设计教育”——学计算,帮助学生理解信息社会中程序驱动的数字化工具、发展数据意识、提高信息技术应用与创新能力,解决日常生活中的现实问题——用计算,就成为中小学信息技术教育的新挑战。
[1]Jeannette M.Wing.Computational thinking: What and Why[EB/OL].http://www.cs.cmu.edu/link/research-notebook-computational-thinking-what-andwhy.2015-08-10.
[2]Seymour Papert.Mind-Storms Children Computers,and Powerful Ideas[M].New York:Basic Books,1993.3-5.
[3]王吉庆.信息素养论[M].上海:上海教育出版社,2000.
[4]Jonassen D J.Computers in the Classroom: Mindtools for Critical Thinking[M].New Jersey: Prentice Hall,1996.55-65.
[5]维克托.迈尔—舍恩伯格.大数据时代:生活、工作与思维的大变革[M].杭州:浙江人民出版社,2013.97.
[6][15]Jeannette M.Wing.Computational Thinking[J].Communications of the ACM,2006,(3):34-35.
[7]CSTA&ISTE.OperationalDefinitionofComputationalThinki ngforK-12Education[EB/OL].http://www.iste.org/docs/ctdocuments/computationalthinking-operational-definition-flyer.pdf?sfvrsn=2,2015-07-01.
[8][12][21]UK Department of Education.National curriculum in England,Computing Programmeof study: key stages 1 and 2,key stages 3 and 4[EB/OL].https://www.gov.uk/government/publications/national-curriculum-in-england-computing-programmes-ofstudy,2015-07-05.
[9][11]邵瑞珍.教育心理学[M].上海:上海教育出版社,1997.327.
[10][14]Computer Science Teachers Association,CSTA.K-12 Computer Science Standards[EB/OL].http://csta.acm.org/Curriculum/sub/K12Standards.html.2015-07-01.
[13]张春兴.现代心理学(第三版)[M].上海:上海人民出版社,2009.221.
[15]ACARA.The Australian Curriculum Technologies - Digital Technologies[EB/OL].http://www.australiancurriculum.edu.au/technologies/rationale,2015-07-05.
[16]陈国良.计算思维的表述体系[J].中国大学教学,2013,(12): 22-36.
[17][18]UK Department of Education.Computing A CPD toolkit for secondary teachers[M].London: Crown,2015.18-19.
[19]Gardner,H.The disciplined mind: What all students should understand[M].New York:Simon and Schuster,1999.14-20.
[20]CSTA&ISTE.Computational thinking teacher resources for teachers[EB/OL].www.iste.org/computational-thinking,2015-07-01.
李锋:博士,副教授,研究方向为信息技术教育、课程与教学论(fli@srcc.ecnu.edu.cn)。
王吉庆:学士,教授,研究方向为信息技术教育、教育技术 (wangjiqing6264@sina.com)。
2015年7月21日
责任编辑:李馨 宋灵青
Computational Thinking Education: From “For Computing” to “With Computing”
Li Feng,Wang Jiqing
(School of Open Learning and Education,East China Normal University,Shanghai 200062)
With the information technology development,computational thinking become important contents for students being in digital society.In computational thinking education history,it experiences three stages: computer science education,cognitive tools education,and computing value education.However,there are some problems confused educators about computational thinking education.In order to develop computational thinking education better,the educators should change teaching ideas from “For Computing” to “With Computing”,encourage students apply ICT creatively,became a digital citizen.
Computational Thinking; For Computing; With Computing
G434
A
1006—9860(2015)10—0006—05