APP下载

科学教育中的计算思维:理论框架与课程设计 *

2018-11-06周佳伟王祖浩

中国电化教育 2018年11期
关键词:科学思维课程

周佳伟,王祖浩

(1.华东师范大学 教师教育学院,上海 200062;2.华东师范大学 课程与教学研究所,上海 200062)

自2006年美国卡内基梅隆大学Jeannette M.Wing教授提出计算思维(Computational Thinking)[1]以来,国际计算机教育界已对此展开了激烈的讨论。有计算机教育的学者认为,现如今“计算”已融入日常生活的方方面面,计算思维的培养应该从高等教育下放至基础教育中去。同时还强调,计算思维是一项跨学科的基本素养,不仅限于计算机领域,科学、社会学等领域也涉及到计算思维的思想方法[2]。“低龄化”和“跨学科”是计算思维培养的整体趋势。

从科学教育的立场上说,有学者认为,由于未来大部分的STEM职业都与计算机相关,计算工具的使用影响着人的思维方式与思维习惯,因此计算思维可谓是现代STEM学科人才所应具备的核心要素[3]。还有学者认为,计算思维所包含的抽象、建模、问题分解等诸多概念,在科学教育中十分重要,有助于学生深入地学习科学[4]。因此提出将计算思维整合到科学课程中去。

恰逢其时,美国最新颁布的K-12科学课程标准《新一代科学标准》(Next Generation Science Standard,以下简称NGSS)将“运用数学和计算思维(Using Mathematics and Computational Thinking)”列入七大科学与工程实践之一,并分学段描述了其学习表现[5]。然而遗憾的是,NGSS并没有直接给出计算思维的定义,也没有系统地梳理计算思维的能力要素,将计算思维融入科学课堂仍缺乏可操作性的指导。而且目前国际上立足于科学教育而谈论计算思维的文献还比较少,其理论与实践较多地模仿计算机教育。为此,本文综合了科学哲学、计算机教育和科学教育领域,详细论述了计算如何作为自然科学的固有组成,从而作用于科学教育中的思维属性以及实践表现,建构了从观念到思维再到实践的理论框架,并基于此探讨了如何设计整合计算思维的科学课程。本文所谈论的科学教育、科学课程限于基础教育领域,不涉及高等教育。

一、计算与科学的本质联系

尽管有关计算思维的讨论兴起于计算机教育,但是整合计算思维与科学教育并不意味着将计算机教育的计算思维“外加”到科学教育中去,或者简单地把两门学科组合起来,而应首先思考计算与科学的本质联系,再由内而外地理解整合的关键点与路径。计算思维作为一项跨学科的素养,其理念在于以计算的视角认识世界,通过计算的方法研究世界。同理,对于自然科学领域来说,计算是认识论,也是方法论。

(一)计算认识论

由信息和信息传递而构成的数字世界不只是科幻小说中虚构的情境,哲学家、科学家、计算机科学家纷纷认为,我们所生存的宇宙就是一台不断处理信息运算的计算机[6]。“世上所有过程,无论是自然的还是人为的,皆可视为计算。”[7]为什么这么说呢?实际上人们在认识世界的过程中往往将所观察到的现象和所收集到的信息诉诸于有规律的理性判断,将事物的复杂变化简化为可描述、可推演/计算的“简单逻辑”[8](即软件),世间万物便是执行这些逻辑的信息载体(即硬件),这就是计算的基本规律。

古往今来,不少科学家在用计算的视角认识世界——将客观事物的变化总结成“可计算的”的表达形式。莱布尼兹曾受亚里士多德形式逻辑思想的影响,打算开发一套通用的代数系统(逻辑语言),用来描述和判断任何命题,即用符号描述对象,呈现关系,建立法则来判定正误。他曾构想土、气、火、水四大物质构成的本源与干、热、湿、冷四种性质的关系,譬如干热生火、湿冷为水等,并且将其规律用代数和几何形式来表示[9]。莱布尼兹的挚友牛顿更是创立了力学的公理化体系,将现实世界的命题通过数学的方式进行证明或求解,并推广至其他情况,这些成果都汇总在他所著的《自然哲学的数学原理》[10]。时至今日,越来越多的科学家赞同“自然计算(Natural Computation)”的观点,认为自然过程充满计算[11]。例如,DNA转录和翻译可以理解为信息的编码和传递,蛋白质的相互作用机理则蕴含着一系列条件逻辑(If-then Statement)。尽管自然界的变化过程十分复杂,但似乎都可以通过数学公式、算法语言描述出来,并且可重复地运算、执行下去。

与其说将自然世界比作计算机,倒不如从计算认识论的角度说,两者统一于形式逻辑。计算不只是计算机的工作方式,也是自然世界的运行规律。广义的计算在自然界无处不在,这使得理解科学学科的计算思维与其他学科的有所不同,其基本观点是承认物质世界的“计算实在”[12]。

(二)计算方法论

计算可作为一种认识论,描绘了在广义的计算理论下自然科学的根本面貌,计算之于自然科学的意义还体现在方法论的层面。计算是继理论、实验之后的第三大科学研究范式,起源于20世纪80年代的计算科学(Computational Science)运动[13]。计算科学又称为科学计算(Scientific Computing),是自然科学的一个领域,其基本方法是用计算机模拟、预测自然世界的变化。计算科学家(Computational Scientist)认为,计算不仅仅是科学研究的工具,而更是一种进行科学思考和科学发现的崭新方法。

计算在自然科学研究中的作用体现在自然现象的数字化模拟和信息收集与处理两个方面[14]。前者是对于那些既无法用理论进行推导的,又很难通过实验的手段开展研究的复杂对象或体系,利用计算技术通过建构系统进行模拟实验[15]。例如核反应研究,要测量一次核试验中的细致反应过程十分困难,也无法用理论系统地描述。反应堆模拟器则能够通过计算机模拟,估算反应结果。后者是对于数据量庞大的研究工作,传统的人力和工具远不及所需运算效率,需要借助强大的计算机(网络)来进行数据处理和可视化。例如气象预测、DNA分析等。

因此,从方法论的角度来说,计算范式是科学研究的方法,其蕴含着计算科学固有的思维方式——何时何地、如何利用(超级)计算机开展科学研究。甚至身为计算机专家的Peter J. Denning都认为,计算思维最早是由计算科学家Kenneth G.Wilson等人提出的,而计算机科学家对此“后知后觉”[16]。

对于自然科学来说,计算认识论和计算方法论有着本质上的联系:认识是方法的哲学基础,方法是认识的实践体现。计算机在计算认识论中充当了语义上的修辞比拟,而在方法论中将这些“计算比喻(Computational Analogue)”[17]变成了现实。计算认识论和计算方法论是在自然科学背景下所形成“计算观念”,为理解计算思维与科学教育的整合奠定了基础。

二、科学教育中计算思维的涵义

计算思维作为一项培养信息时代高素质人才的目标,发起于高等教育,延伸至基础教育;形成于计算机领域,扩散至其他领域。近年来一些计算机领域的学者专注于将计算思维整合到基础教育的科学课程中去,但他们几乎没有直接回答什么是科学教育中的计算思维,声称“计算思维取自计算机科学的基本概念和实践,包括认知和表现的一系列行为,它们同样也是发展数学和科学学科专业知识(Expertise)的核心”[18], “以概念代思维”[19]和“以实践代思维”[20]是目前常见的阐述逻辑:前者是用分解、建模等计算机术语描述科学课程的计算思维的组成要素,相当于不加修饰地采纳计算机领域的计算思维,缺乏在科学情境下的意义阐述;后者以数据处理、计算问题解决等实践反映科学课程的计算思维,如此一来跳过了认知层面的思维特征。这都不足以说明科学教育中计算思维的内在涵义,因此笔者采取这样的阐述逻辑:立足于科学教育,从科学的计算认识论和计算方法论中提炼出计算思维作为一项心理活动所固有的内在属性——抽象、模拟和自动化。

(一)抽象思维

在计算认识论中提到人类用符号化、数学化的形式逻辑来认识世界,如此化繁为简的力量来自于抽象思维。抽象是指剔除事物的非本质的细节从而概括出共同的核心要素[21],所谓的核心要素对于科学理解来说中往往表现为能够进行有效运算或推理的符号以及符号之间的关系,例如数学公式、因果关系。因此在科学学习中抽象具有两层含义,一是去粗取精,突出事物的本质;二是可计算性,创造了能够通过以符号变换的形式来实现运算的机会。在科学学习中,那些物理量、公式都表面上已经“抽象好了”,但实际上真正的抽象是伴随着学生理解这些符号的主观过程,机械地记忆并不会起到化繁为简的作用。对于那些完全未知的领域,学生更需要抽象思维来找到关键变量,把感性的认识组织成计算可解的研究问题与方法,正如前文中莱布尼兹、牛顿等人所为。

(二)模拟思维

计算认识论和计算方法论都支持自然现象存在与之相像的计算过程这一论断,即“计算等效性(Computational Equivalence)” ——自然现象的演变与计算任务的运行是等效的[22],构建两者的等效关系即为模拟,既存在计算模拟自然,也可以自然模拟计算[23]。模拟的思维方式实质上是一种折中。折中对于计算来说是减少误差,对于自然来说是控制所选系统的复杂性,使得计算和自然两者相互靠近,以至于能够相互验证和预测。在科学学习中,我们可以通过计算机建模来模拟自然过程,尤其是那些无法直接观察到的或持续时间较长的现象,例如气体扩散、自然选择等[24],还可以通过构造函数来拟合变量之间的关系,其目的都是为了验证规律或预测变化。毕竟计算模型是自然过程的近似,学生在选择和使用模型的时候需要考虑到模型的条件和局限性,以及如何解释计算模拟与真实情况的差异。

(三)自动化思维

自动化属于计算方法论范畴,带有问题解决的性质。它是指通过计算工具执行信息处理,从而节省劳动力(Labor)和提高效率的方法[25]。信息自动化处理的过程有赖于算法的支持,它使得输入的信息经过层层运算而输出为最终结果,而且该过程是可重复、可追溯的。显然,计算工具为信息处理带来的极大便利,降低了人脑的运算负荷。然而,自动化思维要求人们在实现机械设备的自动化 之前,先完成思维的自动化[26]。即先将解决问题算法在头脑中构建出来,包括将复杂问题进行分解,把信息流分别“打包”为一个个独立而彼此关联的运算单元,并尝试推演一遍。在科学学习中,解决同样类型的问题往往存在类似的数据处理过程,而这些过程可以经过转化后完全地或部分地“外包”给计算工具,例如根据浮力公式而发明的密度计、基于方程式求解的化学方程式配平程序,或者是用Excel绘制溶液浓度的标准曲线图。换句话说,自动化思维是构建以计算工具为基础的自动化问题解决的思想方法,尤其体现在利用计算机软硬件工具进行数据量大而变量复杂的科学实践,包括数据的测量、制表、绘图等。

从计算认识论到计算方法论,抽象、模拟和自动化是科学教育中计算思维的主要特 征。在这三者之中,抽象是基础,模拟和自动化都需要通过抽象来形成“计算可解”的问题;模拟和自动化与实践的联系较为紧密,都需要基于计算工具的应用而思考,从而指向问题解决。以上从思维本身所界定的科学教育中计算思维的内涵,将有助于制定课程相应的培养目标以及教学实践。

三、体现计算思维的科学实践

现如今在科学课堂中采用计算机技术辅助教与学已经不陌生了,学生可以通过技术手段来参与科学实践[27]。但“用技术”不等于“学思维”,“形而下者谓之器,形而上者谓之道”,具体怎样的科学实践才能体现计算之“道”?其中怎么样的实践是科学教育的而不是计算机教育的?有部分学者给予了回答。作为NGSS的编者之一的Cary Sneider列举了模拟、数据挖掘和数据自动收集与分析三项实践[28]。西北大学计算机系David Weintrop等人根据NGSS等文献以及课堂观察,提出了数据、建模与模拟、计算问题解决和系统性思考四大实践类型[29]。综其所述,笔者将科学教育中带有计算思维特征的科学实践分为建模与模拟和数据收集与分析两大类,并举例说明这些实践是如何体现计算思维的。

(一)建模与模拟

建模与模拟是围绕计算环境中的科学模型(软件)而展开的科学实践,有助于学生理解科学概念以及开展科学探究。这些实践包括理解模型、使用模型、修改和构建模型以及评价模型等[30]。例如,“封闭鱼缸”软件是一个有关生态系统的模型,其中包含鱼、水草和细菌三个物种,以及阳光、水、氧气和二氧化碳等环境因素。学习者可以通过操作软件了解到生态系统的基本组成,以及物质变化与能量传递的规律,也可以修改或添加条件来控制系统的复杂性,还可以在此基础上通过编辑“任务块(Block)”建构新的模型(如图1所示)[31]。可见,科学模型软件集“教科书”与“实验室”于一身,促进学生发挥想象力和创造力,更好地学习科学。

图1 “封闭鱼缸”程序界面

Irene Lee等人对于有关模型的实践提出了“使用—修改—创造”的学习进阶模式[32],抽象、模拟和自动化思维贯穿其中。在使用阶段,学生通过抽象思维将复杂概念或现象与模型中可操作的变量联系起来,从而认识模型和模型运行的科学意义。在多次尝试运行模型以后,学生可能会提出新的问题,那么可以修改模型的初始条件来实现新的模拟,这就要用到模拟思维来折中考虑计算与真实的平衡,同时会也用到自动化思维对代码进行结构性的调整。到了创造阶段,即自主选取研究对象来建构模型,那么就需要抽象、模拟和自动化思维综合地考虑。

(二)数据收集与分析

数据收集、转换、分析、可视化等有关数据的一系列实践一直以来都是科学活动必不可少的环节,现如今计算技术使这些环节变得愈发高效,可谓造就了由数据驱动的科学实践。在数据收集方面,使用各种传感器等检测工具便可灵敏地采集数据,并配合相应的软件将数据以表格或图像的形式自动生成。美国Vernier公司为中小学科学实验开发了60款传感器和探针,包括pH计、CO2传感器、加速度传感器等等。学生在使用这些手持的设备(Handheld Devices)过程中能够学习到数据是如何通过软硬件技术自动生成和转化的,同时培养辩证看待技术、使用技术的素养。在数据分析方面,Cary Sneider采用当下较为流行的“数据挖掘(Data Mining)”一词。他认为数据挖掘与一般的数据分析的区别在于其数据量之庞大,并强调是从已有的数据中发现规律[33]。MY NASA DATA是基于NASA的地球数据库而开发的指向中小学科学教育的数据平台,学生可以获取一段时间内地球各地的气温、气压、紫外线等各种数据,并进行制表、绘图等可视化处理。图2展示的是利用该数据库所绘制的2002-2012年上海地区上空二氧化碳含量变化图。如今科学研究越来越依赖庞大的数据集,如此基于大数据的分析活动能够让学生初步体会数据驱动的科学研究范式,能够为将来从事相关行业打下基础。

图2 MY NASA DATA数据库界面

技术增强的(Technology-enhanced)数据收集与分析不仅是软硬件的操作,还要求学生首先理解技术,知道技术能做什么和不能做什么,及其背后的基本原理。在实践中,抽象思维体现在定性与定量的数据转化,一方面将研究问题或研究对象参数化、变量化,另一方面把数的信息解读出科学的意义。模拟思维体现在将数据进行拟合形成函数曲线的过程中发现、解释和处理误差,使得结果更加符合真实情况。当然,计算技术内嵌了无数的数据自动化处理的过程,只有充分理解不同模块所具有的不同功能,才能够享受自动化带来的便利。

总的来说,以上对计算思维与科学教育整合的论述可分为观念层、思维层和实践层三个层次,层层递进。首先是观念层,从认识论和方法论的视角阐述了计算与自然科学的内在联系,从而论证了计算是科学所固有的属性,为由内而外地整合理念打下基础。然后是思维层,提出了在科学的情境中计算作为一项思维活动的本质属性——抽象、模拟和自动化,这些属性在与计算思维相关的科学实践中有所体现。最后是实践层,以建模与模拟和数据收集与分析两大科学实践为例,分析其过程是如何体现计算思维的(如图3所示)。

图3 科学教育中计算思维的理论框架

四、整合计算思维的科学课程

以上论述了科学教育中计算思维的理论框架,那么应如何以框架为基础面向基础教育设计相关课程呢?目前国际上已有一些尝试,像麻省理工学院的Project GUTS、西北大学的CT-STEM和新墨西哥州立大学的GK-12 DISSECT等。笔者以上述理论框架为基础,结合已有的课程案例,从目标、内容和评价三方面探讨如何设计整合计算思维的科学课程。

(一)课程目标

在课程目标方面首先应树立科学教育的主体地位,辅之以计算机技术的专业知识。换句话说,学生所学的主要是科学概念以及科学探究的思想方法,应避免追求工具理性而花费过多精力在计算技术本身。另外,课程目标的设立体现计算思维作为一种素养,从观念到思维再到实践,整体地与科学教育进行整合。计算认识论和计算方法论需纳入科学本质观教育的范畴,另外要通过计算的科学实践来培养学生的计算思维。

(二)课程内容

课程内容是课程设计者应重点思考的两个问题:怎样的科学学科内容与怎样的计算思维与实践进行整合?如何安排这些内容和实践才能符合学生的学习规律?对于第一个问题,首先应当承认不是所有的科学内容都适合且有必要与计算思维与实践进行整合的。相比于科学内容的选择来说,计算思维与实践的选择更加局限,因其往往会受制于技术水平以及能否获取。因此不妨从计算实践出发来选择科学内容。例如,Project GUTS是基于StarLogo软件进行建模和模拟,该软件的特点是能够创建多代理(Multiple Agents)来模拟复杂系统,于是该课程选取了生态系统、化学反应作为内容主题,以支持多代理的建模和系统模拟。

以下技术资源可供课程开发者使用:MY NASA DATA、Earth Exploration Toolbook等平台开放了大量的气象、气候、地质等方面的数据,并为在线数据分析提供了支持和指导;Vernier、Pasco等公司以传感器为基础研发了一系列数字实验仪器,可用于物理、化学、生物等学科的实验,并编写了配套的实验教材;NetLogo、StarLogo等基于代理的(Agent-based)编程软件内置了化学、物理、生物等多种的科学模型,供大家模仿和修改;PhET提供了一百多个互动模拟程序,供学生在线自主探究科学实验。

回答第二个问题主要是处理好计算内容与科学内容的编排次序和呈现形式,Project GUTS与CTSTEM采取不同的处理方式。Project GUTS课程分为四个模块,模块一介绍计算机建模和模拟的基本知识,以及StarLogo软件的使用,接下来三个模块分别以不同的科学主题逐步开展建模和模拟的应用。CT-STEM则将计算思维的培养融入现有的化学、物理、生物等分科课程中去,将建模与模拟、数据收集与分析等作为各科课程的实践活动。总的来说,前者注重计算机基础与科学建模应用的衔接,以自成体系的课程让学生经过“使用—修改—创造”的学习过程,对计算应用形成整体而连贯的认识;后者保留了原有的分科课程体系,通过计算实践来解决不同学科领域的问题。

(三)课程评价

目前有关计算思维的测评几乎都面向计算机课程,尽管存在少数面向科学领域的,但也带有强烈的编程色彩。既然在课程目标中坚持以科学为主、计算为辅,在课程内容中整合科学内容与计算思维与实践,那么在课程评价方面应当兼顾科学与计算,而且不能将它们割裂开来。最理想的方式是让学生通过计算工具进行科学创作,作品可以是模拟某个自然现象的科学模型、经过数据挖掘而得到科学发现等。既能体现学生对科学内容、科学本质的理解,又能展现学生计算思维与实践的能力。另外,学生需要经历“使用—修改—创造”的过程,不同的阶段都应该给予必要的反馈与评价。

五、对于我国开展整合计算思维的科学课程的建议

总的来说,目前科学教育中计算思维的理论探讨仍处于起步阶段,整合计算思维的科学课程还比较少,在教学方面还缺乏实证的研究。而且现在研究该领域的主体是计算机专业的专家,鲜有来自科学教育领域的学者。就地域来看,整合计算思维的科学课程主要在美国,我国还没有这方面的研究与应用。恰逢国家正在推行的教育信息化2.0行动计划[34],笔者认为整合计算思维的科学课程作为一项以信息技术为载体、围绕科学教育而开展的交叉学科课程,能够很好地“推进技术与教育教学的深度融合”,实现“全面提升学生的信息素养”。鉴于此,本文最后为我国开展整合计算思维的科学课程提出几点建议。

(一)科学课程的技术升级

当今的学生有着“数字土著”之称,他们在生活中已经接触和使用着各种各样先进的信息技术,然而我们大部分的科学课堂还没有应用信息化技术。计算思维的培养离不开信息技术的支持,技术升级是开展整合计算思维的科学课程先决条件。那么应该如何升级呢?技术对教育的基本作用存在三个基本观点:改变了教学的时空条件(传媒观),提供了学习的工具(工具观)和创造了仿真的环境(环境观)[35]。目前在我国兴起的翻转课堂、云课堂等,都属于传媒观的范畴,而培养计算思维所需的信息技术更多地体现在工具和环境两方面,而且升级的不仅是技术本身,还应有配套的学科内容,方能做到“信息技术与学科教学的深度融合”。传统的科学课堂所用到的实物模型、实验器材等,可以朝计算的方向升级甚至被取代,例如,手持技术、模拟科学探究软件等在我国中小学科学教育中已有尝试[36][37]。以及上文提到的数字实验仪器、在线数据库、科学模型等,都是非常好的课程资源。我们可以引进国外的优质资源,同时结合本土需要进行开发和创新,以提高“信息化学习环境建设与应用水平”。

(二)科学教师的专业培养

践行教育信息化的困难之一是缺乏优质的师资,教师仍需提高“数字教育资源开发与服务能力”。在科学教育中,“数字移民”何以成为“数字土著”的老师?信息素养、科学素养以及应用技术教科学的知识与能力将会是未来科学教师的专业培训的热点之一,这些是教师开展整合计算思维的科学课程教学的基础。而在课程开发方面,由于整合计算思维的科学课程的技术门槛较高,理念较为新颖,若由中小学教师自行组织开发课程则非常困难。上文提到的GK-12 DISSECT、Project GUTS项目都是由高等院校发起,由课程研究人员召集当地的科学教师成立工作坊,将其课程理念与教学案例分享给教师们。教师通过模仿和吸收逐渐学习到此类课程教学与设计的方法,同时也贡献个人的教学经验与智慧,改进和丰富课程资源。而高校的研究者也可以通过教师的课堂实践开展相关实证研究。目前我国高校也可以采取教研工作坊的形式对一线的科学教师进行培训,并开发本土化的课程。

(三)课程整合的标准完善

真正有效地开展整合计算思维的科学课程需要课程标准方面的顶层设计,这涉及到基础教育中科学和信息技术(或计算机)两门学科。上文提到了NGSS已将运用计算思维纳入科学教育标准中。除此之外,美国在2016年发布的《K-12计算机科学框架》也阐述了计算思维与STEM学科的关联,并提出要将计算思维整合到STEM学科中去[38]。NGSS和《K-12计算机科学框架》的颁布标志着基础教育中科学学科与计算机学科在计算思维的培养上的“握手合作”。然而,计算思维在我国基础教育中仍然是一个新颖而陌生的概念,最新修订的高中信息技术课程标准明确了计算思维作为学科核心素养的组成要素[39],而在科学课程标准方面似乎未见有关计算思维的描述。未来我国不妨借鉴NGSS和《K-12计算机科学框架》,将科学与信息技术通过计算思维的纽带整合起来。一方面是学科内容的整合,以学科交叉的情境为素材;另一方面是课程设置的整合,注重各科学时在纵向与横向的分配。

猜你喜欢

科学思维课程
思维跳跳糖
思维跳跳糖
思维跳跳糖
思维跳跳糖
数字图像处理课程混合式教学改革与探索
软件设计与开发实践课程探索与实践
为什么要学习HAA课程?
科学大爆炸
科学
科学拔牙