STEM视野下计算思维能力的发展策略研究*
2019-01-08贾鑫欣
朱 珂 贾鑫欣
STEM视野下计算思维能力的发展策略研究*
朱 珂 贾鑫欣
(河南师范大学 教育学院,河南新乡 453007)
计算思维是个体运用计算科学的思想方法进行问题解决时产生的思维活动,对培养学生的创新意识和实践能力有重要作用。随着创客教育、STEM教育等新型课堂教学模式的涌现,计算思维的培养策略也面临着新的挑战。文章首先分析了计算思维向系统思维发展的趋势,并结合计算思维能力对STEM教学过程的支撑作用以及STEM教育中发展计算思维的优势两个方面,阐释了STEM视野下发展计算思维能力的必要性。随后,文章构建出STEM视野下计算思维能力的培养策略,并以案例方式进行验证,最后提出相关建议,以期为STEM视野下计算思维能力的培养提供参考。
计算思维;STEM教育;发展策略;创客教育
引言
随着教育信息化程度不断提高、数字化进程不断发展,计算思维已成为人们的主要思维方式,是人们思维能力的主要特征之一[1]。随着互联网与教育的快速融合,计算思维的培养策略面临新的发展与挑战。融合了系统思维的计算思维克服了传统计算思维的弱点,将批判理论、复杂理论和变化理论融入传统计算思维,对智能时代人才培养有重要意义。本研究分析了STEM(Science、Technology、Engineering、Mathematics)教育理念与融合了系统思维的计算思维两者的特点和STEM视野下发展计算思维的新变化,探寻STEM视野下计算思维能力的发展策略,以期为我国计算思维能力的发展提供借鉴。
一 计算思维概述
1 计算思维的概念及内涵
卡内基·梅隆大学的周以真[2]在2006年首次提出计算思维的概念,她将计算思维定义为一种思维模式,认为计算思维是一种运用计算机科学基本概念求解问题、设计系统和理解人类行为的活动。2010年,周以真进一步将计算思维表述为一种解决问题的思维过程,能够抽象、清晰地将解决方案和问题用信息处理代理(人或机器)有效执行的方式表述出来[3]。
计算思维不是一门单独的学科,它源于计算机科学,和数学思维、工程思维有非常紧密的关系。计算思维不仅是一种适应于计算机科学的概念和思维,还能提供一种广泛应用于工作、学习、生活中分析问题的视角[4]。计算思维涵盖计算机科学的一系列思维活动,其有以下特点:①计算思维是概念化而非程序化的;②计算思维是人而非计算机的思维方式;③计算思维是数学和工程学的互补与融合;④计算思维是思想而非人造物;⑤计算思维面向所有人。相应地,具备计算思维能力的人应具备计算机科学家一样的思考方式,遇到问题时考虑是否把问题公式化;能通过搜集、分析数据理解问题,并分解问题;能去除细节、概括抽象、寻找模式,从而解决同类问题;能制定解决问题的步骤、建立仿真模型,对解法进行测验和调试。
2 计算思维的新发展:从计算思维走向系统思维
Steve[5]提出,系统思维是计算思维的未来发展方向。通过以下三个方面,系统思维弥补了计算思维的不足:
(1)批判理论的融入
只要以一种运用计算机解决的方式提出问题,传统的计算思维者就可以不加批判地接受这些问题的描述,这意味着缺乏对问题所处系统环境的认识。系统思维认为任何系统都是处在上位系统和子系统的连续迭代中。因此,处理问题时,必须伴随着对上位系统和子系统的认识。在提倡跨界融合的“互联网+”时代,计算思维者要在系统环境中思考、发现并解决问题。
(2)复杂理论的融入
传统的计算思维者在解决方案中倾向于采用过于简单的、线性的方法,很少在多个时间尺度上或从多个空间维度进行评估,还可能忽略解决方案的系统性。系统思维通过对系统行为的理解和一系列概念来弥补这一缺陷,是处理复杂性问题的一种重要方法。我们在问题解决的过程中,需要习得蕴含在问题解决过程中的过程性知识。在飞速发展的人工智能时代,计算思维者需要将知识运用于现实生活中,根据知识所处的背景信息辨识问题本质并灵活解决问题。
(3)变化理论的融入
传统的计算思维往往根据固有的步骤解决问题,依据信息的形式或来源制定解决方案,限制人们思维的灵活性与创新性。然而,现实中的问题总是存在于一个系统中,需要伴随着对更广泛的包含系统和各子系统的系统效应的认识。系统思维提供了丰富的变化理论,侧重于通过提供新形式的信息或者利用新的信息来源来提供解决问题的新途径。在提倡创新能力的创客时代,计算思维者需要灵活地进行知识的迁移,在学习过程中提高自己的创新与实践能力。
综上所述,融合了系统思维的计算思维克服了传统计算思维的缺点,更符合时代要求。主要表现为:①融合了系统思维的计算思维与STEM教育理念不谋而合,STEM教育可以培养学生以综合知识发现问题并运用计算思维解决问题的能力[6];②STEM教育注重探究教学,让学生通过自己的思考、观察和实践,掌握解决问题的方法,发现问题的本质,培养学生的科学素养,提高学生的思维能力和实践能力[7];③STEM教育融合了科学、技术、工程与数学的理论,以问题解决为核心,进行跨学科的学习,培养学生的知识迁移能力;④STEM教育倡导使用工程思维去解决问题,工程问题包含设计、制作和改进的解决过程,可以培养学生的“工匠精神”和创新能力[8]。
二 STEM视野下发展计算思维能力必要性
1 STEM教育的教学过程需要计算思维能力的支撑
计算思维包含分解、概括、算法思维、评估和抽象化五个要素[8],STEM教育的教学过程分为确定问题、规划、尝试、修改和交流五个步骤[9]。STEM教学过程中的关键步骤需要计算思维要素的支撑,两者的关系如图1所示:①在“确定问题”环节,学习者具备一定程度的分解能力后,可以将问题分解成较小的部分,通过采用简单的方式定义问题,确定一些成功标准,从而使问题更容易解决;②在“规划”环节,学习者具备一定程度的概括能力后,可以找出问题的解决方案,制定详细的计划,确定执行解决方案的步骤,从而发现任务中的关键点;③在“尝试”环节,学习者具备一定程度的算法思维后,可以使用编程语言完成最终的解决方案;④在“修改”环节,学习者具备一定程度的评估能力后,可以利用自己的评估技能确定是否需要修改、调整或改善方案中的某些部分;⑤在“交流”环节,学习者具备一定程度的抽象化能力后,可以向同伴们展示自己的最终解决方案,并解释自己的解决方案为何符合成功标准。
图1 STEM教学过程与计算思维的关系
2 在STEM教育中发展计算思维的优势
计算思维和STEM教育的契合点在于跨学科和情境学习。信息技术课程是培养计算思维的有效载体,但计算思维作为人类科学思维中固有的组成部分,其早于计算机的出现,所以对计算思维的培养决不能被限制在信息技术课程之中。计算思维的培养需要结合STEM教育跨学科知识融合的理念,从全方位出发,与多门学科的知识有机融合[10]。培养计算思维时,不能只通过机械的概念理论教学来实现,情境化的学习更容易从能力的提升上升到思维的养成。培养计算思维时,教师需要在教学过程中有目的地引入或创设情境,激发学生的情感[7]。情境学习可以为学生提供良好的暗示或启迪,有利于锻炼学生的创造性思维,培养学生的适应能力。
以上提到的两方面和STEM教育的理念不谋而合,一个已经具有基本计算思维的学生进行STEM教育,在贯通不同学科、设计问题解决方案、整合资源等方面具有较大优势。
三 STEM视野下发展计算思维的新变化
STEM视野下计算思维的发展打破了传统计算思维发展的局限,从发现问题的视角、挖掘问题的深度、处理问题的应变力以及培养的途径与方法四个方面论述STEM视野下发展计算思维的新变化。
1 发现问题的视角不同
只要能够以一种运用计算机解决的方式提出问题,传统的计算思维者就可以不加批判地接受这些问题的描述,因此会妨碍学生创造性思维和创新意识的发展。STEM视野下的计算思维弥补了这一缺陷,可以让学生运用多门学科知识发现并解决现实情境中的问题,全面考虑有关该问题的相关性知识,在解决方案中从多维度进行评估,培养学生的发散性思维,强化学生在信息技术方面的知识和技能,锻炼学生从多种视角发现问题、分析问题的能力。
2 挖掘问题的深度不同
传统的计算思维往往根据固有的步骤解决问题,在解决方案中倾向于采用简单的、线性的方法,很少在多个时间尺度上或从多个角度进行评估,并且还可能忽略解决方案的系统性。STEM视野下的计算思维可以让学生通过自己的思考、观察和实践掌握解决问题的方法,根据知识所处背景信息辨识问题本质并灵活解决问题,在问题解决过程中培养学生的知识迁移能力,提升学生的科学素养,使学生在学习过程中锻炼自己的思维能力与实践能力。
3 处理问题的应变能力不同
传统的计算思维没有涉及关于如何在复杂系统中发生变化的理念,其解决方案往往根据信息的形式或者信息的来源发生变化。传统的计算思维根据固有的步骤解决问题,从而限制了人们思维的灵活性与创新性。STEM视野下的计算思维通过学科整合,培养学生的学科融通和知识迁移能力,在参与问题解决的过程中培养学生灵活解决问题的能力以及创新力。
4 培养的途径与方法不同
现在对计算思维的强调更多还是体现在信息技术课程中,计算思维作为人类科学思维中固有的组成部分,早于计算机的出现,所以对计算思维的培养绝不能被限制于信息技术课程中。计算思维的培养应该从全方位出发,与多门学科的知识进行有机融合。与传统教学相比,在经过教学设计的情境之下学习更容易从能力的提升上升到思维的养成。STEM教育具有跨学科与情境教学的特征,因此在STEM教育中培养计算思维可以取得较好的效果。
四 STEM视野下发展计算思维能力的策略与教学案例
1 STEM视野下培养计算思维能力的策略
STEM教育的教学过程需要计算思维能力的支撑。学生只有具备基本的计算思维能力,才能在STEM教育的教学过程中完成相应的学习任务。同时,在STEM教育的教学过程中也会相应地培养学生的计算思维能力。因此,为了更好地实施STEM教育,需要在STEM教育的教学过程中培养学生的计算思维能力。可以通过以下STEM教学过程中的五个步骤来引导学生找出解决方案(具体流程如图2所示),每个步骤会在相应程度上锻炼他们的计算思维能力:
①确定问题。向学生提出一个主题,通过这个主题将他们引入一个问题或一种需要改善的情况。为了使问题更容易解决,可以将问题分解成较小的部分,培养学生的“问题分解”能力。也就是说主要考察:学生能否用自己的语言来解释问题;学生能否描述如何判断自己是否成功地解决了问题;学生能否将问题分解成更便于管理的小问题。
②规划。想象问题的不同解决方案,然后制定一份详细计划执行其中一种方案,并确定执行解决方案的步骤。通过发现任务中可能遇到的问题,培养学生的“概括”能力。也就是说主要考察:学生能否列出要编程的操作;学生能否确定要使用的程序;学生能否重新使用部分程序。
③尝试解决方案。学生需要完成最终的解决方案,在此阶段,他们要使用编程语言来激活模型。在学生对自己的想法进行编程的过程中,他们的“算法思维”将得到培养。也就是说主要考察:学生能否将解决方案编写成一个程序;学生能否利用序列、循环、条件语句等技巧。
④修改。学生要根据程序和模型是否符合成功标准来评估解决方案,并利用自己的评估技能,确定是否需要更换、修改、调整或改善程序的某些部分。也就是说主要考察:学生是否使程序实现了迭代;学生是否修复了程序中的问题;学生能否判断解决方案是否与问题相关。
⑤交流。学生要向同学展示自己最终的解决方案,并解释自己的解决方案为何符合成功标准。在解释解决方案的过程中,学生的抽象化能力和沟通技能将得到培养。也就是说主要考察:学生能否解释解决方案中最重要的部分;学生是否描述了足够的细节来使他们的解决方案更易理解;学生能否清楚地说明他们的解决方案为何满足成功标准。
图2 STEM视野下培养计算思维的流程图
2 STEM视野下发展计算思维能力的教学案例
根据以上分析,本研究对STEM视野下发展计算思维能力的教学过程进行了设计。案例选自于高一年级“算法的质疑与拓展”的程序设计研究课中计算思维能力培养部分的教学活动。该案例选择计算机奇偶校验模拟软件设计与制作来诠释算法,以渗透计算思维训练,并在算法的质疑与拓展中丰富学生对算法的理解和对技术哲学的思考。
①确定问题。2016年3月9日,“人狗大战”迎来首轮战局。经过3个多小时,九段李世石向“阿尔法狗”投子认输。针对“李世石究竟输给了谁?算法究竟是什么?计算机是如何工作的?”等问题,本节课的设计围绕“算法是什么、计算机是如何工作的”的问题与如何培养计算思维两条线索展开。
②规划。借助魔术,揭秘计算机检测错误的方法——奇偶校验法:首先,出示25张整齐排列、黑白两面的牌,由学生任意翻动牌;然后,增加一行一列,待老师转身后,学生翻动一张牌;最后,老师找出被翻动的牌。魔术中增加的一行一列和计算机中奇偶校验位的作用相似,目的是为了将行列黑纸牌数量偶数化,这样一来,一旦某张牌被翻动,教师便能迅速找出被翻动的纸牌位置。通过揭秘魔术,让学生了解计算机奇偶校验的基本原理,为奇偶校验法模拟软件进行数学建模和算法描述做铺垫。
③尝试解决方案。引导学生用N-S工具描述算法,一行一行、一列一列枚举,寻找黑色纸牌为奇数的行和列,找到二维矩阵中黑色纸牌为奇数的行列相交点便是要纠错的数据。其实,循环体部分包含了迭代算法,这也是一种重要的计算思维。设置一个代码查错和一行代码填空,弱化了代码编写,旨在引导学生既亲历程序设计的完整过程,又突出本课的重点,引导学生深度思考算法及其工作流程。
④修改。学生能够使用程序实现该算法,当学生出现问题时,教师通过引导帮助学生解决问题。在此阶段,学生要能够判断出自己的方案是否符合问题解决的要求。
⑤交流。学生展示成果后,通过描述细节使其解决方案更易被他人理解,能清楚地说明解决方案满足成功标准的原因,并能轻松理解计算的发展史是算法不断被质疑、被优化的历史。
在上述案例中,学生从现实问题产生认知冲突,亲历一个项目从开始到结束的完整过程,理解算法是程序设计的灵魂,阿尔法狗的胜利是算法的胜利、李世石是输给了一帮人的智慧,从而升级学生对算法的思辨,追问失控的技术所带来的道德恶果。在解决教学问题的同时,学生的批判性思维能力、深度学习能力与计算思维能力均得到了培养。
五 相关建议
随着创客教育、STEM教育等新型课堂教学模式的涌现,计算思维的培养模式也面临着新的发展与变革。本研究认为,STEM视野下计算思维能力的发展可从以下方面着手:
1 全方位出发,多种途径培养
作为人类科学思维中的组成部分,计算思维的出现早于计算机,虽然需要信息技术课程的专业支持,但是对计算思维的培养决不能被限制于信息技术课程中。STEM视野下计算思维的培养应从全方位出发,结合STEM教育理念,将多门学科的知识有机融合,培养学生解决综合应用问题的能力,提高学生的创新能力、运用计算思维解决问题的能力。
2 设置教学情境,打破思维局限
培养计算思维时,不能仅通过机械的概念理论教学来实现。与传统教学相比,情境化的学习更容易从能力的提升上升到思维的养成。STEM视野下培养计算思维需引导学生综合运用多门学科知识去发现、解决问题,有目的地创设情境,激发情感,培养创造思维,锻炼适应能力。通过体验活动,培养学生信息素养和解决实践应用类问题的能力,鼓励其学习、探索与创新。
3 多重视角看问题,挖掘问题本质
在信息大爆炸时代,只有认清问题的本质,才能从根本上提高解决问题的效率。STEM视野下发展计算思维时,要让学生在问题解决过程中从多重视角看问题的本质,全面考虑有关该问题的相关性知识,在解决方案中要多维度进行评估;要注重培养学生的动手实践能力,使学生在参与的过程中掌握解决问题的方法、发现问题的本质并灵活解决问题。
4 培养知识迁移能力,注重培养创造力
在学生参与问题解决的过程中,要注重培养灵活解决问题的能力,使其能在复杂系统中从容地应对变化。STEM视野下发展计算思维时,要善于突破思维定式,用发散思维修改现有的知识结构,形成新的知识结构,从而有效地接受和灵活运用新知识。通过学科渗透和教学创新培养创造力,运用跨学科知识整合的方式使学生突破学科知识的定式,提高创造性思维水平。
[1]牟琴.“轻游戏”对计算思维能力的培养——教育游戏对程序设计基础课程教学的影响[J].远程教育杂志,2011,(6):94-101.
[2]Wing J M. Computational thinking[J]. Communications of the ACM, 2006,(3):33-35.
[3]Hatice Y D, Mustafa S. Analysis of the relation between computational thinking skills and various variables with the structural equation model[J]. Computers & Education,2018,(116):191-202.
[4]任友群,隋丰蔚,李锋.数字土著何以可能?——也谈计算思维进入中小学信息技术教育的必要性和可能性[J].中国电化教育,2016,(1):2-8.
[5]Atlantis Press. From computational thinking to systems thinking: A conceptual toolkit for sustainability computing [OL].
[6]蒋家傅,张嘉敏,孔晶.我国STEM教育生态系统与发展路径研究——基于美国开展STEM教育经验的启示[J].现代教育技术,2017,(12):31-37.
[7]赵慧臣.STEM教育视野下中学生探究学习的设计与实施[J].现代教育技术,2017,(11):26-32.
[8]Selby C, Woollard J. Computational thinking: The developing definition[OL].
[9]奥创STEAM. STEM与计算思维[OL].
[10]李廉.计算思维——概念与挑战[J].中国大学教学,2012,(1):7-12.
[11]朱珂,杨冰,高晗蕊,等.活动理论指导下的STEM学习活动模型研究[J].现代教育技术,2017,(11):33-38.
[12]中小学信息技术教育.计算思维:编程教育的价值追求[OL].
Research on the Development Strategy of Computational Thinking Ability Under the View of STEM
ZHU Ke JIA Xin-xin
Computational thinking is the thinking activity that occurs when individuals utilize the thinking method of computational science to solve problems, which plays an important role in cultivating students’ innovative thinking and practical ability. However, with the emergence of new classroom teaching models, such as Maker education and STEM education, the cultivation strategy of computational thinking faces new challenges. This paper analyzed the development tendency from computational thinking to system thinking. Meanwhile, the necessity of developing computational thinking ability under the view of STEM was expounded based on the supporting role of computational thinking ability to STEM teaching process, as well as the two advantageous aspects of developing computational thinking in STEM education. The training strategy of computational thinking ability in STEM field was constructed in this paper and further demonstrated with case method. Finally, relevant suggestions were put forward, expecting to provide reference for the cultivation of computational thinking ability under the STEM view.
computational thinking; STEM education; development strategy;Maker education
G40-057
A
1009—8097(2018)12—0115—07
10.3969/j.issn.1009-8097.2018.12.017
基金项目:本文受2019年度河南省高校科技创新人才支持计划(人文社科类)“大规模在线协同学习行为分析及干预机制研究”(项目编号:2019-cx-016)、河南省教育厅2018年人文社会科学研究项目“个人学习空间支持教师专业成长的生态模型及进化机制研究”(项目编号:2018-ZZJH-246)、河南省教育厅2018年度教师教育课程改革研究项目“互联网+背景下中小学教师专业成长的生态模型及行动路径研究”(项目编号:2018-JSJYYB-018)资助。
朱珂,副教授,博士,研究方向为教育数据挖掘,邮箱为ezhuke@qq.com。
2018年4月9日
编辑:小西