【摘 要】
信息技术的快速发展与普及深刻改变着人们的行为方式与思维特征,计算思维成为中小学信息技术教育的一项重要内容。本文通过概念分析法,从“信息技术学科领域思想方法”和“计算思维+其他领域应用创新”两个层次界定计算思维的应用特征;通过比较计算思维教育与程序设计教育的差异,确定计算思维教育在“培养数字公民”“提升学科核心素养”“促使学生动脑思考与动手实践相结合”等方面的超越与发展;针对中小学生计算思维发展需要,提出指向计算思维教育的STEM课程设计策略与结构框架,以案例方式进行解释和说明。
【关键词】 计算思维;STEM课程;中小学信息技术教育;程序设计教育;数字公民;学科核心素养
【中图分类号】 G40-057 【文献标识码】 A 【文章编号】 1009-458x(2018)2-0044-7
信息技术的快速发展创造出一个全新的社会生存环境,现实空间和虚拟空间的相互交织重塑了人们沟通交流的时间观念与空间观念,改变着人们的行为方式与思维特征。在这种全新的社会环境下,发展学生的计算思维,提高他们利用计算思维解决问题的能力,成为信息技术教育的一项重要内容。
一、计算思维:数字化生存的一项普适能力
近十年来,移动通信、大数据和云计算等新技术的革新与普及,使得以“程序驱动”为特征的信息技术工具广泛应用于社会各领域,其所隐含的“计算方法”也潜在地融入人们的实践应用中。随着信息技术与人们生活结合得日趋紧密,计算思维作为一种独特的解决问题的思维方式,正逐步走出其学科专业领域,成为数字化生存的一种普适能力。
2006年,卡内基—梅隆大学周以真教授(Jeannette M. Wing)明确提出计算思维的概念,强调“计算思维代表着一种普遍的认识和一项普适的技能”(Wing, 2006)。在随后的研究中她指出,计算思维作为人们解决问题的一种思维方式,其主要特征表现为“抽象(abstraction)、分解(decomposition)、递归(recursive)和自动化实现(automation)”。这些特征不仅可以帮助人们把复杂系统模型化,还可以帮助人们分析所获取和生成的大数据,从中得到相应的知识(Wing, 2008)。显然,人们想实现利用计算机自动解决不同领域的问题(如生物、化学、经济等),就需要理解计算机解决问题的一般过程与方法,并能将现实问题转化成适合计算机解决的问题的形式。此外,还需要将这种思维方式与其他领域相结合,在创造性解决问题的过程中形成新的知识,促进个人发展。
2010年,英国学者塞尔比和伍拉德(Selby & Woollard, 2010)通过文本分析方法比较关于计算思维概念的各种代表性观点,给出计算思维的发展性定义。他们认为计算思维作为人们在解决问题过程中综合思考的能力,其特征主要表现为:①抽象(abstraction)出问题的一般原理;②把数据、过程或问题分解(decomposition)成小的、可管理的部分;③设计解决问题的算法(algorithmic design);④评价解决问题的过程并能将解决问题的方法一般化。这些特征反映出人们利用数字化工具解决问题的一般过程与方法,同时强调评价(或反思)对于培养人们信息技术应用及迁移能力的重要性,以更好地将信息技术应用于其他领域之中。
2011年,美国国际教育技术协会(International Society for Technology in Education, ISTE)和计算机教师协会(Computer Science Teacher Association, CSTA)在联合研究的基础上,从操作层面对计算思维进行界定,指出计算思维的特征主要表现在(但不限于):①能针对具体问题构想出利用计算机或相关工具解决问题的方案;②有逻辑地组织和分析数据;③通过抽象的方式(例如模型或模拟)表示数据;④通过算法形成自动化解决方案;⑤针对达到目标结果的效率和效能,判断、分析和实施可行性方案;⑥将解决问题的过程一般化(generalization),并应用于更宽泛的问题解决中(ISTE & CSTA, 2011)。从上述特征可以看出,在数字化环境下人们不仅需要具备计算思维方式,还要能将这种思维方式应用于宽泛的问题解决之中,并能将这种解决问题的方式一般化。
综上所述,计算思维的提出超越了传统信息技术工具论的观点,从强调“信息技术工具的普适性”发展到强调“信息技术学科领域思想方法的普适性”,以帮助人们更好地理解与适应信息社会;从强调“信息技术工具与其他领域结合的普适性”发展到强调“将信息技术学科领域思想方法与其他领域结合的普适性”,帮助人们更好地创新与推进信息社会发展。基于这样的理解,计算思维作为信息社会公民的一项普适性能力,其应用特征主要表现为:
其一,掌握信息技术学科领域的思想方法,即在与信息相关的活动中能够采用数字化工具可处理的方式界定问题、抽象特征、建立结构模型、合理组织数据,通过判断、分析与综合各种信息资源,运用数字化工具可处理的方法设计解决问题的方案。
其二,将信息技术学科领域的思想方法与其他领域相结合,创新解决问题的模式,也可称为“计算思维+”,即将信息技术学科领域的思想方法与其他领域的内容相结合,使得人们发现和解决问题的方式从“基于观察”到“基于实验”再到“基于数据”持续发展。
其三,依据学科领域思想方法合理选用信息技术工具,利用信息技术工具解决问题,并能实现这种解决问题能力的迁移。通过培养计算思维,人们不会因为技术工具发展或问题情境变化而“茫然无措”。
二、计算思维教育:
超越传统的程序设计教育
当信息技术工具广泛应用于人们日常活动的方方面面時,计算思维走出了信息技术学科专业领域,融入社会各领域问题解决之中。计算思维教育也就超越了传统的程序设计教育,在聚焦计算思维自身特征的同时更强调培养学生利用计算思维解决问题的能力。
(一)计算思维教育旨在培养合格的“数字化公民”
早在1981年,苏联计算机教育专家叶尔肖夫就提出“程序设计是第二文化”的观点,他指出“人们生活在程序设计的世界里,善于还是不善于编排与执行自己工作的程序是人们能不能有效地完成各种任务与能不能得到一种有条理生活的重要影响因素,而教计算机程序设计可以帮助人们从小培育一种程序设计意识与能力”(转引自王吉庆, 2000, p.118)。但是,受当时计算机功能条件的限制,这种观点还局限于“人们要想吩咐计算机做事,就必须要懂一种计算机程序设计语言”(全国中学计算机教育研究中心, 1991, p.50)的认识。当时的计算机教育希望像培养“程序员”那样帮助学生掌握程序设计语言,以此实现人们与计算机的有效交流。
當今,人们确实生活在叶尔肖夫所言“程序设计的世界”之中,信息技术的发展也突破了“程序设计是第二文化”的认识。事实证明,生活在信息社会中的大多数人用不着编写计算机程序,依然可以流畅地使用计算机,并能通过计算机解决问题。但是,我们也应注意到自20世纪80年代以来,信息技术沿着个人计算机—网络—大数据的脉络持续发展,信息技术学科领域的思想方法也通过数字化工具深深影响到人们的生活、工作与学习。因此,数字时代的信息技术教育应帮助学生掌握信息技术学科领域的一般方法,形成利用数字化工具解决问题的独特思维和交往方式。而这种思维和交往方式也正是当代信息社会每位公民必须具有的基本素养。计算思维教育不是把所有学生都培训成“程序员”,而是发展学生利用信息技术工具与学科方法解决问题的能力,使其成为合格的“数字化公民”。
(二)计算思维教育提升学生的“学科核心素养”
受“程序设计是第二文化”观点的影响和计算机功能条件的局限,早期中小学计算机教育内容主要还是“程序设计语言”。例如,20世纪80年代初英国政府就制定了《微电子教育计划》(The Microelectronics Education Programme),要求所有学生都接受新技术教育。在《微电子教育计划》的指导下,一些中小学将计算机课作为选修课,安排11~12岁学生每周上2小时计算机课,主要内容是学习LOGO语言;15~16岁学生每周上4小时计算机课,学习BASIC语言(全国中学计算机教育研究中心, 1991, p.50)。1983年,我国教育部(当时称“国家教委”)制定的《普通中学电子计算机选修课教学大纲(试行)》也要求学生掌握基本的BASIC语言,初步具备读、写程序和上机调试的能力(全国中学计算机教育研究中心, 1991, p.298)。学习内容除简单的计算机基本工作原理以外,主要是BASIC程序设计语言。但是脱离了学生的生活情境,将枯燥的程序设计语言强加给没有任何计算机应用背景的中小学生,这不仅无法实现“程序设计”与学生生活经验的对接,反而会因为对机械的编码步骤和大量编程术语的记忆而降低学生学习计算机的兴趣。
近十年来,随着新技术的快速发展与广泛应用,学界对中小学信息技术教育有了新的认识,更加强调数字时代学生利用信息技术解决问题的学科方法培养。2016年美国国际教育技术协会(ISTE)针对数字时代学生发展需要,重新修订了《面向学生的教育技术标准》,其内容增加了培养计算思维的要求,强调学生掌握“以数据分析、模型抽象、算法思考等方式确定利用技术工具解决问题的方案,通过分解问题、提取关键信息、形成理解复杂系统的关键模型促进问题解决”等利用信息技术解决问题的学科方法。2016年澳大利亚重新修订《国家数字技术课程标准》,明确提出发展学生的计算思维,要求学生“掌握组织数据、分解问题、解释模型、设计和实施算法等方法,具备设计和实施解决问题的方案,利用数字化工具实施方案,解决问题的能力”(Australian Curriculum Assessment and Reporting Authority, 2015)。
可见,为更好地适应信息社会,计算思维教育不再局限于“程序设计的编码操练”,而更注重通过适合学生学习的方式(当然,这些方式也包括程序设计和编码学习)引导他们理解与掌握利用信息技术解决问题的学科方法,提高学生解决问题的能力,发展学生的学科核心素养。
(三)计算思维教育是学生动脑思考与动手实践的结合
从计算机的运行来看,程序是由编程语言来表达的一组操作的指令或语句的序列,是计算机执行算法的操作步骤。在程序设计教育中,计算机语言的基本语法和语句结构就成为学生学习的重要内容。例如:1986年美国加州《中学生计算机素养》教科书中的程序设计内容就包括变量、计数、流程图、初始化、判断、输入/输出、循环、子程序、中断等知识(Bitter, 1986 pp.194-198)。1987年,我国修订的《普通中学电子计算机选修课教学大纲(试行)》在程序设计语言内容中要求学生学习框图、输入/输出、过程、条件分支、数据、循环、数组、图形、函数等(全国中学计算机教育研究中心, 1991, p.62)。为便于学生快速掌握程序设计的知识与技能,早期中小学计算机教科书大多以“编程知识讲解”方式呈现学习内容。事实上,忽视中小学生的认知能力与学习风格,像培训“程序员”那样向中小学生灌输程序设计知识,这不仅不利于学生理解相关内容,反而会因为过度记忆一些语法知识而增加学生的学习负担。
计算思维反映的是个体利用信息技术学科领域思想方法解决问题的一系列思维活动。计算思维教育并不是要把学生培养成“信息技术专家”,而是希望他们像专家那样去思考利用信息技术解决问题的方法与过程。从学习内容来看,尽管“程序设计”依然是学生实现从“计算机学习”向“计算思维形成”过渡的重要桥梁,但是在通过这个“桥梁”的过程中,已不是简单地为实现“吩咐计算机做事”而学习程序设计,而是为理解“程序驱动”下各类数字化工具完成任务的学科方法而去体验和使用程序设计。可见,在计算思维教学活动中已不是单纯地讲授计算机语言的知识,而是更注重学生动脑思考与动手实践的结合,强调通过项目活动还原学科思想方法的本质,引导学生在真实情境中体验“程序驱动”数字化工具解决问题的方法,从而内化为一种适合数字化生存的思维方式。
三、计算思维教育:
基于STEM课程的实施
计算思维作为信息技术学科的一项核心素养,其教育内容超越了传统程序设计的代码编写,更强调在情境中通过跨学科的方式培养学生利用信息技术学科方法解决问题的能力。从课程组织来看,信息技术本身就融合了科学(S)、技术(T)、工程(E)和数学(M)等知识,是一门典型的STEM课程(UK Computing Research Committee, 2015)。基于STEM课程是开展计算思维教育的重要方式。
(一)指向计算思维教育的STEM课程设计策略
STEM课程是以项目活动的方式,引导学生运用跨学科知识,合作、设计、建构、发现、解决问题的体验式课程(沙欣, 2016, p.3)。指向计算思维教育的STEM课程继承了项目学习的特征,通过跨学科整合、基于学科标准和建立学习支架等方式科学设计课程,促进学生计算思维发展。图1是指向计算思维教育的STEM课程设计策略结构图。
图1 指向计算思维教育的STEM课程设计策略
1. 基于项目的跨学科整合
基于项目的学习(project-based learning, PBL)是“以学生学习为中心”的一种教学组织方式。调查研究显示,体验式、实践式和学生主导式的项目更容易激发学生学习STEM课程的热情,项目学习逐渐成为STEM课程的通用教学方法(沙欣, 2016, p.33)。STEM全球教育联合会(Global STEM Alliance, 2010)在STEM课程理论框架研究中提出:“STEM课程作为一种基于项目的学习,其项目设计要体现跨学科学习,把不同学科的学习内容整合在项目任务之中。”基于此,指向计算思维教育的STEM课程的项目设计应突出两个关键特征:一是跨学科,项目学习的重点放在特定问题解决上,跨越学科界限,利用科学、技术、工程和数学等学科相互关联的知识解决问题;二是整合性,按照各学科最基本的知识结构,找到不同学科知识之间的连接点和整合点,将分散的学科知识以问题的方式逻辑结构化,整合进学习情境,引导学生发现问题和解决问题。
2. 基于标准的内容设计
国家课程标准是编写教材、教学、评估和考试命题的根本依据。在教学实践中,为提高STEM课程跨学科整合的“黏合度”,避免“为活动而活动的误区”,美国马里兰州STEM教育助理兰兹博士(Lantz, 2009)提出基于标准的STEM课程设计,依据课程标准中的学习要求,将各学科知识技能“锚入(anchor)”STEM课程内容中。基于标准成为指向计算思维的STEM课程设计的一项重要策略,主要表现在:其一,通过分析信息技术与其他学科课程标准,确定学习目标,把STEM项目主题、活动内容、活动过程和活动评价“黏合”为一个学习整体;其二,将课程目标细化为问题,梳理问题间的关系,形成问题链,以问题的方式将各学科知识和技能融入STEM项目中,提高STEM课程学习的深度与广度。
3. 基于学习支架的探究过程
学习支架是对学生解决问题和建构意义起辅助作用的概念框架。在解决问题的过程中,学习支架可以帮助学生实现认知不断由实际水平提升到潜在水平。因此,在指向计算思维的STEM项目设计中,为引导学生在原有学习经验基础上一步一步提升,实现知识的自我建构,同样需要在项目中融入一套促进学生认识发展的学习支架。设计学习支架的要点是:其一,要与学生原有的与计算思维相关的学习经验相吻合,提供的概念框架应置于学习者的“最近发展区”,帮助学生在原有学习基础之上进一步开展学习;其二,学习支架也要反映有经验的学习者(如教师)所经历的计算思维过程,为学生利用学科方法解决问题提供支架点的反馈,帮助学生领悟其中的要素关系,促进计算思维发展。
(二)指向计算思维教育的STEM课程设计框架
指向计算思维的STEM课程旨在通过项目活动为学生提供“做中学、学中做”的活动环境,引导学生在探究问题的过程中发展计算思维,提高利用计算思维解决问题的能力。项目结构与内容设计是STEM课程设计的关键部分。STEM课程专家埃尔多安(Niyazi Erdogan)针对STEM课程学习过程,提出STEM项目设计的四个要素,即:①投入,明确项目学习的目标和过程; ②管理,确定项目学习的方法和策略;③产生,形成學生项目学习的方案并取得结果;④评估,对学习方法和学习结果进行评价(沙欣, 2016, p.35)。美国跨学科整合专家莱莉(Riley, 2012, p.13)在案例研究的过程中提出STEM项目设计的内容框架,包括明确项目主题、梳理核心问题、说明关键技能、设计学生项目活动进程、提供相关活动支持、组织活动评价等内容。两者分别从实施过程和内容组织两方面分析了STEM项目结构,都强调项目目标、过程、结果与评价等内容。借鉴已有研究成果,指向计算思维教育的STEM项目框架主要包括项目主题、项目目标、项目过程、项目资源和项目评价等内容。图2是指向计算思维教育的STEM课程框架图。
图2 指向计算思维教育的STEM课程框架
(1)明确项目主题,描述活动情境。分析学生的学习经验和活动兴趣,按照计算思维等跨学科知识技能学习需要,确定适合学生开展的项目主题,通过活动情境描述激发学生探究项目的欲望。
(2)界定项目目标,聚焦学习问题。列举项目活动中所涉及的包括计算思维培养在内的多学科课程标准内容,确定项目活动后学生应知、应会、应用的学习结果,确定达到学习目标所对应的问题链。
(3)设计项目过程,细化活动任务。描述学生开展项目活动经历的关键步骤,将学习支架置于项目活动过程中,通过学习支架引导学生经历高水平的思维过程,培养学生的计算思维。
(4)提供项目资源,支持活动实施。按照项目活动需要,为学生提供解决问题可能需要的学习资源,如项目实施过程中应用到的软件工具、跨学科学习资料等,支持学生实施项目活动。
(5)开发项目评价工具,确定评价方式。按照项目活动结果,开发针对活动作品的评价工具,如小组活动评价标准、作品评价量表等,用以对学生的活动过程和结果给出一个准确判断,促进学生更好地反思和改进。
四、计算思维教育:
一个基于STEM课程的项目案例
指向计算思维教育的STEM课程是把“学计算思维”与“用计算思维”结合起来,通过项目活动的方式发展学生的计算思维,提高他们综合应用跨学科知识的能力。下面提供了一个指向计算思维教育的STEM课程项目案例。
(一)案例背景
“计算思维与食物链”是融合了信息技术、科学等学科的STEM项目,反映了四年级学生的学习特征和学习需要。在利用信息技术学科领域的思想方法和工具解决食物链问题的活动中,学生一方面可以体验计算思维在解决问题中的作用,如应用抽象方法表达数据、利用技术工具自动运行设计方案等;另一方面可以通过“计算思维+食物链”方式理解和预测不同情境下食物链的发展变化,感受一种新的食物链学习方法;最后通过Scratch作品反映自己对食物链的理解和探究程度。
(二)案例简纲①
1. 项目主题
计算思维与食物链。
2. 项目目标
学生能够用Scratch语言创设一个动画情境,表示一个真实食物链的发展特征。
该项目活动反映的课程标准要求:
(1)信息技术课程标准中计算思维能力要求:①通过抽象的方式(如模型、模拟)表示数据;②设计算法形成自动化解决问题的方案;③总结这种解决问题的方法,迁移至更宽泛的问题解决之中。
(2)科学课程标准要求:4年级学生生命科学标准的要求。
3. 项目过程
按照项目任务,活动过程包括头脑风暴、问题讨论、动画演示、分组拓展等环节。通过这些活动,学生能体验和应用计算思维认识食物链的特征。项目活动过程如表1所示。
表1 项目活动过程
[活动 活动内容 计算思维 头脑风暴 讨论在食物链中草、兔子和鹰的关系,说明其中太阳与细菌分解的作用 抽象:画出这些生物在食物链中的结构图 问题讨论 针对问题(例如,如果让生态系统更复杂些需要增加什么物种),讨论哪些因素会改变草、兔子和鹰三者关系的平衡 动画演示 每位学生用Scratch软件创设一个简单的动画情境,能显示兔子吃草、鹰抓兔子这一食物链场景,反映出个人对食物链的理解 模型与模拟:学生的作品能模拟食物链 分组拓展 学生分组利用Scratch软件创设一个加入其他因素后对食物链产生影响的预期场景,用以预测相关因素的变化对食物链的影响 系统化:利用“计算思维+食物链”能对更复杂的系统进行更深入的探究 ]
4. 项目资源
相关项目资源包括有关食物链与习性的网站、食物链交互游戏的网站和Scratch支持网站。
5. 项目评价
作品1:学生创设的场景要能模拟不同级别的食物链。
作品2:学生要创设和保存多个场景,以显示出生态系统中食物竞争的元素。
教师提供学习作品评价量表(略)。
(三)案例说明
“计算思维与食物链”STEM项目包括项目主题、项目目标、项目活动、项目资源和项目评价五部分。项目主题的设计反映了四年级学生的学习经验和学习内容;项目目标基于信息技术和科学课程标准的学习要求进行界定;项目活动融合科学和技术的内容,并将核心概念以支架的方式渗透到学习过程中;项目资源提供了学生在探究过程中可能需要的资源网站;项目评价给出了学习作品的要求和评价量表,让学生明白他们的最终学习结果是什么和需要达到什么程度。在活动过程中,学生既可以感受应用信息技术学科领域方法解决问题的过程,也可以体验“计算思维+食物链”探究方式的意义,并能采用这种方式深入开展食物链研究。
五、结语
当以“程序驱动”为特征的信息技术工具渗透到社会各个领域并改变人们的学习、生活和工作方式时,计算思维就成为人们的一种普适性能力。计算思维教育作为中小学一项重要的教育内容,并不是要求每個学生都能应用程序设计语言,而是要培养他们理解信息技术学科领域的思想方法,并将这种方法合理应用于新领域中的能力,因此计算思维教育就超越了传统的代码操练式学习。基于STEM课程的计算思维教育课程希冀通过项目学习的方式,为学生提供体验计算思维、应用计算思维、实现计算思维与其他领域相结合的学习机会,发展学生在数字化环境中的适应力和创新力。
[参考文献]
全国中学计算机教育研究中心. 1991. 全国中小学计算机教育资源汇编[M]. 北京:电子工业出版社.
王吉庆. 2000. 信息素养论[M]. 上海:上海教育出版社.
阿尔帕斯兰·沙欣. 2016. 基于实践的STEM教学模式[M]. 赵中建,等,译. 上海:上海科技教育出版社.
Australian Curriculum Assessment and Reporting Authority. 2015. The Australian curriculum: Design and technologies. Digital Technologies. Retrieved May 22, 2017, from http://www.australiancurriculum.edu.au/technologies/rationale
Bitter, G. G. (1986). Computer literacy: Awareness, applications, programming. ADDISON-WESLEY Publishing Company.
Global STEM Alliance. 2010. STEM education framework. Retrieved May 20, 2017, from https://www.nyas.org/media/13051/gsa_stem_education_framework_dec 2016.pdf
ISTE & CSTA. 2011. Operational definition of CT for K-12 education. Retrieved May 20, 2017, from http://www.iste.org/docs/ct-documents/computationalthinking-operational-definition-flyer.pdf?sfvr sn=2
Lantz,H. B., Jr. 2009. Science, technology, engineering, and mathematics (STEM) education: What form? what function? Retrieved May 21, 2017, from https://dornsife.usc.edu/assets/sites/1/docs/jep/STEMEducationArticle.pdf
Riley, S. (2012). STEAM point: A guide to integrating science, technology, engineering, the arts and mathematics through common core. EducationCloset.
Selby, C. C. , & Woollard, J. 2013. Computational thinking: The developing definition. Retrieved May 21, 2017, from https://eprints.soton.ac.uk/356481/1/Selby_Woollard_bg_soton_eprints.pdf
UK Computing Research Committee. 2009. Computing at school: The state of the nation. Retrieved May 21, 2017, from http://www.ukcrc.org.uk/resources/briefings/computing.cfm?type=pdf
Wing, J. M. (2008). Computing thinking and thinking about computing. Philosophical Transactions of the Royal Society, 366: 3717-3725.
Wing, J. M. (2006). Computational Thinking. Communications of the ACM, 3:34-35.
收稿日期:2017-08-24
定稿日期:2017-09-30
作者簡介:李锋,博士,副研究员,华东师范大学开放教育学院(200062)。
责任编辑 单 玲