APP下载

培养计算思维,发展STEM教育

2017-05-30赵蔚李士平等

中国电化教育 2017年5期
关键词:计算机科学计算思维

赵蔚 李士平等

摘要:计算思维是信息时代每个人都应具备的基本素养,是计算机科学的核心思想。STEM教育则是计算思维培养与计算机科学教育的重要途径之一。该文通过对2016美国《K-12计算机科学框架》的解读及其核心概念、核心实践、实施过程的梳理,挖掘计算思维培养在中小学计算机科学教育中的重要性,以及STFM教育在节约时间与师资、减轻学生学习负荷、强化知识技能等方面的作用,并在此基础上提出了该框架对我国中小学信息技术教育的几点启示,以期能够缓解目前计算机科学应用普及化与教育边缘化间的矛盾,使学生能够获取最优化的学习途径,真正成为未来的创造者。

关键词:计算思维;计算机科学;STEM

中图分类号:G434 文献标识码:A

一、引言

从算盘到现今的智能手机,计算已经从诸多方面改变了世界,包括教育、文化、经济等,并将仍然持续改变着。计算机科学作为一个具有高实用价值与强推动力的学科,其教育目的除了造就单纯的计算机技术工作者外,相应思维方式、问题解决方式、创造方式的渗透与培养也不容忽视。

计算思维是计算机科学实践的核心,是21世纪数字公民的一项基本素养。美国卡内基·梅隆大学周以真教授提出,计算思维是运用計算机科学的基础概念进行问题解决、系统设计与人类行为理解的过程。计算思维提供了一种能够广泛应用于工作、学习和生活中的组织与分析问题的新视角,同时它可以连结计算机科学与其他学科知识领域,突破了专业知识技能与思想的局限,促使学习者进行技术使用者到创造者的角色转变。但在现有的教育体制中,计算思维的培养并未得到应有重视;作为计算思维主要培养途径的计算机科学教育也面临着课程监管与师资储备等多方面问题。因此,美国计算机科学协会(ACM)、计算机科学教师协会(CSTA)、网络创新中心(CIC)、国家数学与科学计划中心(NMSI)针对州、地区和学校计算机科学教育供需不匹配的状况,于2016年指导并发布了《K-12计算机科学框架》(以下简称《框架》)。其目的是剖析计算机科学的发展与教育情况,通过推进STEM教育等方式,促进学科问的融合,借助数学、科学等传统学科的优势,缓解目前计算机科学课程监管不完善、专业教师缺乏等问题。STEM教育注重学生创新思维与实践能力的培养,与《框架》精神不谋而合。另外,通过STEM教育,可以在一定程度上节约学习时间,减少多学科中重复学习共同主题而带来的认知负荷。

《框架》体现了相关组织机构对学生参与计算机科学学习的愿景。从小学、初中到高中,学生逐步奠定计算机科学知识基础,学习问题解决的新方法,以便运用计算思维的力量,成为计算机技术的使用者与创造者。《框架》涉及对象广泛,包括1到12年级、甚至高校的不同种族、性别、健康情况的学生;目标明确,为各地区计算机科学教育标准的具体制定提供参考与指引;内容详尽,对计算机科学涉猎范围及各年级预期达到的水平进行详细分析与描述,响应社会、学生与家长对计算机科学教育的诉求。《框架》的提出有利于提升计算机科学教育与应用水平,使所有学生都能积极参与计算机科学的学习与实践,并用计算机科学的思维与方法创新性地解决问题。本文通过对《框架》的解读及其核心概念、核心实践、实施过程的梳理,挖掘美国计算机科学教育的培养目标与方式,为我国中小学信息技术教育的开展提供借鉴与参考。

二、发布背景

《K-12计算机科学框架》是以现有政策文件为基础,以美国当前教育研究与实践情况为考量,为解决计算机科学教育未得到充分发展的现实状况与社会对计算机科学强烈需求间的矛盾而开发的。

首先,德国、波兰和新西兰等国家的计算机科学框架为该框架涉及的核心概念与实践提供了基准,而2016新版《美国学生教育技术标准》则为该框架的制定提供了借鉴。该标准强调了学生在整个学习生涯的每个年龄层次应获得的技能与应达到的水平,具体包含7个方面:有主动权的学习者、数字公民、知识建构者、创新设计者、计算思维者、创造性的沟通者、全球合作者。其思想、理念与《框架》相辅相成,均注重学生计算思维、创新能力的培养及信息时代基本素养与意识的形成。

其次,该框架与国家认可的《K-12科学教育框架》相一致。计算机科学框架与其他学科框架并行实施,相互作用。因此,该框架需参照其他学科相关文件,综合考量教育中涉及的要素,协调构建。《K-12科学教育框架》提出三个维度,即核心概念、科学与工程实践、横切概念。《K-12计算机科学框架》在此基础上进行了改进,保持维度定义的相似性,支持各学科的协同与发展;并且关注计算机科学本身的特点,强化学科特色。

另外,2015年计算机科学被定义为美国总统奥巴马签署的《让每个学生成功法》中“全面教育”的一部分。可见,计算机科学对信息时代学生的发展至关重要。据统计,运用计算机科学的工作大部分薪酬高、发展快,并且社会需求量大。而计算机科学本身是2010年以来所有STEM领域成长最快的学科之一,也受到学生家长的广泛认可。美国大多数父母希望孩子所在学校能够提供计算机科学教育,且认为学习计算机科学与学习阅读、写作、数学同等重要。然而在实际教学中,学生了解计算机科学概念与实践的机会非常有限,许多学生只能等到高中才接触相应课程,且内容覆盖面与纵深度难以匹配社会需求。

《K-12计算机科学框架》通过一系列概念与实践来展示计算机科学的重点内容。核心概念代表计算机科学的主要领域,核心实践代表与核心概念相关的学习者行为。对这些概念与实践进行设计与整合,从而能够为学生参与计算机科学学习提供真实、有意义的体验。

三、《框架》解读

《K-12计算机科学框架》在《K-12科学教育框架》三个维度划分的基础上,将横切概念整合到每个核心概念的学习进程中,形成核心概念与核心实践的二维模式,如图1所示,从而使其更易理解与实现。

(一)核心概念

《框架》的核心概念包含计算系统、网络与互联网、数据与分析、算法与程序、计算的影响五部分,主要解决“学什么”的问题。每个核心概念划分为多个与之紧密相关的子概念,如下页表1所示,通过子概念展开对核心概念的描述。如数据与分析包含收集、存储、可视化和转换、推理和模型四个子概念,《框架》分别对这四个子概念的含义、问题、能力要求等进行说明,将各独立细化的说明聚合起来,即形成了对核心概念数据与分析的解释。计算思维关注利用计算机科学解决问题的能力,这种能力既表现为“结构分解、实体抽象、模型建设”等应用特征,也包括“明确问题、设计方案、实施反馈、修订完善”等一股性解决问题方法。由核心概念及其子概念的关联可以看出,该框架的构建有利于计算思维的培养。

1.核心概念的细化分解

抽象与分解是运用计算思维完成复杂任务或设计复杂系统时常用的方法。分解即为将任务拆分为更简单的任务,使其模块化,以及将简单任务组合起来以创建复杂任务。核心概念分解为子概念,供学生进行模块化学习;达到一定知识水平后,再根据其相互关联进行系统性的问题分析与解决,有利于学习者知识技能的掌握与计算思维水平的提升。以算法与编程为例,在低年级时,学生可以从算法、变量等相对独立、细小的部分着手,建立对算法与编程的基本认识,随着学习的进步,学生能够辨别与归纳问题解决范式,重新组合现有知识与方案,利用一般的、可重复使用的方案来处理常见问题。

2.核心概念的横向联结

横切概念即为多个核心概念问的联结,具体表现为同一个有意义词多次出现在不同核心概念的描述中,如表2中“抽象”“系统关系”等词多次出现在《框架》对每个核心概念的阐述中,反映出各核心概念教学中共同关注的目标或重点,表明各核心概念问具有一定交叉性与一致性,是核心概念的横向联结。该框架将横切概念整合到核心概念的学习进程中,未设立单独的第三维度。學习进程描述了学生对核心概念及其子概念从基本理解转向精细认知的过程,按学段划分为1-2年级、3-5年级、6-8年级、9-12年级,每个学段的学生在各核心概念领域内应达到不同目标。因此,《框架》对核心概念及其子概念的描述按学段进行了细化与分解,进而精准地提取出各部分的横切概念,如表2所示。根据其出现的频次列出前五个分别为抽象、系统关系、人机交互、隐私与安全、交流与协作。

由表2可知,随着学习进程的推进,学生在各方面涉及的横切概念整体呈增多趋势。也就是说,学生对各方面内容的掌握愈发深入,同时关注的目标与学习的方式方法也愈发全面。在9-12年级的学习进程中,与计算系统、网络与互联网、数据与分析、算法与编程、计算的影响五方面关联的横切概念均包含抽象;且根据《框架》整体的词频统计,抽象一词出现在横切概念的首位。由此可见,抽象作为计算思维的常用方法,是计算机科学教育主要培养目标之一。

抽象是将某一过程或某一信息集合简化,只保留某些重要特征以便计算处理的方法。通过去除个别化属性、提取公共要素来概括多种情境或事物,从而创建普适性方案。培养学生的抽象能力,有利于促进其知识迁移。在实际学习与生活中,学生运用抽象能够快速提取事物的关键特征,并与其他事物建立关联关系,从而根据以往经验制定合理的解决方案。

3.核心概念的探究培养

《框架》指出,在计算机科学教育中,应鼓励学生进行主动探究,而非填鸭式教学。如在计算系统这一核心概念的学习中,教师应引导学生积极发现实际生活中计算系统出现的故障,在力所能及的范围内进行排查,分析是何种原因引起的,进而探索问题的解决方案并通过实践检验方案的合理性。这一过程伴随学生计算思维的培养,同时也是计算机科学教育的必要方式。

(二)核心实践

《框架》的核心实践描述了接受计算机科学教育的学生参与核心概念学习的行为和思维方式。概念与实践相融合,从而为学习计算机科学的学生提供完整的体验。核心实践包括七部分:(1)培养包容的计算文化;(2)围绕计算进行协作;(3)识别和定义计算问题;(4)形成并运用抽象;(5)创造计算产品;(6)测试与改善计算产品;(7)针对计算进行交流。七个核心实践的顺序循环即展示了计算产品的开发过程。计算思维是计算机科学实践的核心,其中实践(3)、(4)、(5)、(6)分别对计算思维进行了阐释,如图2所示,而实践(1)、(2)、(7)则是对计算机科学的另外补充。

无论是问题解决抑或系统设计,计算思维的运用基本反映为“明确问题—设计方案—实施反馈—修订完善”的系列过程。实践(3)、(4)、(5)、(6)就是这一过程的具体展现。12年级结束时,学生在各实践方面都应具备一定能力。下面将以“学生学习交流系统开发”为例进行说明。

1.明确问题——识别和定义计算问题

识别合适时机应用计算的能力是需要经过长期培养的。欲利用计算的方法解决问题,需预先定义问题、将问题模块化、对每一模块进行评估,从而辨别该问题是否适合应用计算机科学方法或计算思维方式进行解决。如,当今时代的学生课余学习时间较多,学习内容较丰富,但由于缺少学习同伴也存在某些交流方面的问题。基于此,某班同学要开发一个在线学习交流系统,首先,该班学生明确他们要解决的问题是“通过系统开发实现在线学习与交流”;其次,他们需将系统开发分解为多个模块,再针对每个模块进行分析与判断,进一步评估系统开发的可行性。

2.设计方案——形成并运用抽象

学生研究现有的在线学习交流系统,归纳总结它们共有的属性,并能够对这些属性进行评估,发现其优点与不足,从而摒除现有系统中存在的问题,借鉴其精华,将某些属性整合到自己的设计中,构建自己的抽象模型与设计方案。同时,学生也应具备模拟系统的能力,利用已有模型模拟系统的运行,以便更深入探索与评价系统的功能。运用抽象也就是使用普遍化的解决方案简化复杂事物开发的过程。

3.实施反馈——创造计算产品

这一实践是上述模型或方案的具体实施。当然,计算产品不仅包括软件、系统等显性内容,也包括解决计算性问题的创新理念等隐性内容。计算产品可以通过两种方式完成,一是组合和修改已有产品,二是开发新产品。就学习交流系统开发而言,学生可以在现有的相关开源系统基础上进行二次开发与完善,使其满足自身需求;也可以完全按照自己的想法从初始进行创建。无论哪种方式,都要求学生具备制定计划与实际操作的能力。

4.修订完善——测试与改善计算产品

正确的测试与修改是提高产品质量的一个关键过程。系统测试甚至投入使用后,学生在学习与交流中会发

现新的问题或产生新的需求,整合大家反馈的信息不断进行改进,才能使系统更完善,获得最佳的学习效果与交流体验。

从上述核心实践可以看出,美国1-12年级计算机科学教育为学生计算思维的培养打下了坚实基础。该框架指出:计算思维可广泛应用于科学、技术、工程、数学(STEM),以及艺术与人文等多个学科;反之,《框架》提倡基于STEM教育进行计算思维的培养,如图3所示。美国国家科学基金会赞助的Bootstrap和GUTS项目致力于将计算机科学与数学、科学课程整合,且研究结果表明,学生可以在数学和科学课程中兼顾计算机科学概念与实践的学习以及计算思维的培养。核心概念与核心实践是《K-12计算机科学框架》的主要组成部分,二者结合形成计算机科学的教育标准,《框架》与相应标准对计算思维的培养与STEM教育的实施具有重要指导与促进作用。同时,计算思维对人们学习、生活、工作的重要性及STEM教育多学科融合的特性则在一定程度上影响着计算机科学核心概念与核心实践的选择。

计算思维是计算机科学教育的核心之一,同时也被包含在其他学科的教育标准中。例如,在美国多个州的科学标准中明确提及计算思维,在数学标准中也进行了间接影射。表3展示了计算机科学(CS)、科学与工程(S)、数学(M)在实践中的交叉。其中多次出现与计算思维相关的实践,在计算机科学领域表现为CS(3)、CS(4)、CS(5)、CS(6),在科学与工程领域表现为S(1)、S(2)、S(3)、S(5)、S(6),在数学领域表现为M(2)、M(4)、M(7)、M(8)。而在此表的三种整合方式中,计算机科学、科学与工程、数学的共同整合明显涵盖更广泛的实践,能够激发学生更多的学习行为;对计算思维培养与运用也更显著。由此可见,将各学科进行不同形式整合,基于STEM形式开展计算机科学教育更有利于学生计算思维水平的提升。

(三)《框架》实施

计算机科学迎合了目前跨学科教育发展的趋势,在教学中,几乎所有其他学科都可以与计算机科学整合,包括数学、科学、艺术、语言、社会科学、体育等。该框架在对计算机科学的核心概念与核心实践进行阐述基础上,也对具体实施标准与实施途径进行了说明,强调计算机科学与其他学科整合及其在其他学科中的应用,尤其注重与科学、数学的综合探究,为STEM教育的发展提供了更开阔的空间与更具化的指引。

1.实施标准

该框架作为各州、各地区中小学开发计算机科学教育标准的基础而被设计出来,它通过对K-12年级计算机科学基本內容与形式的阐述,为各地区教育标准的开发提供指南,允许不同地区的不同学校在此基础上针对自身教育情况进行个性化设计与开发。标准在计算机科学教育的实施方面发挥着重要作用,通过设置具体的学习目标和预期结果使计算机科学变得大众化。所有学校都将为不同学段、不同水平的学生提供实现这些目标的机会,使他们获得完整的计算机科学知识与体验。

该框架在标准开发建议中指出,计算机科学标准要与数学、科学等其他学科标准相匹配。也就是说计算机科学标准应与其他学科标准建立联系,以便教学中更好地融合,为学生提供连贯的教育体验。例如,若三年级计算机科学标准中需要结合的数学知识,直到五年级在数学标准中才涉及,那么三年级教师需要将这一知识添加到计算机科学课程,而五年级教师也需要再次教授这一知识。课堂学习时间有限,重复的内容学习会在一定程度上造成时间的浪费与负荷的增加。通过STEM形式对各学科进行趋利式整合,有益于教学的开展与学生的进步。当然,整合并不意味着兼并,针对某些知识的教学,计算机科学作为独立课程存在同样可行。

2.实施条件

教师是教育的基本要素,是教学顺利开展的基本条件。《框架》指出,获得正式认证的美国计算机科学教师人数很少,而在教师培训计划中,增加计算机科学教师人数是最困难的。由此可见,美国计算机科学教师人数短缺。STEM教育为多学科问的协作提供了机会,同时可以减少学校对特定计算机科学教师的需求,增加了学生接触计算机科学的机会。

另外,通过教师培训计划,相关部门为教师提供更多计算机科学方面的知识,使他们能够将其纳入实际教学中。《框架》对如何构建教师培训计划进行了补充,以期教师能够教授多个学科或将计算机科学融入其他学科。伊利诺伊州立大学的一个计算机科学教育计划,即与数学教育专业整合,进而作为职前教师的学习者可以获得双重认证。将计算机科学内容纳入所有教育专业的必修课程,则可以使所有职前教师都接受计算机科学教育。例如,普渡大学教育系将为期一周的计算思维课程纳入中小学相关专业的必修课程。通过计算思维理念的学习,教师可以更好地将其整合到其他学科教学中,运用于其他学科的问题解决过程,也有利于提升教师培养学生计算思维的意识。

3.实施途径

该框架对中小学计算机科学教育的实施途径进行了概括。其中小学与初中(1-8年级)的教学形式一般更为灵活,可通过在通用技术或艺术课程中插入计算机科学的教学单元来展开,也可开设独立的计算机科学课程,以及将计算机科学与其他学科内容融合,以STEM形式进行综合教学。高中(9-12年级)则必须面对具有不同计算机科学学习经验、水平不等的学生,教学实施过程中,除了根据教学内容与学校自身条件选择恰当的教学形式,还要注意学习难度的区分。如,将计算机科学课程或包含计算机科学的STEM课程分为基础探究、中度探究、广泛和深入探究三个层次,基础由低到高的学生分别参与对应层次的课程学习,以便进行个性化与适应性教学。

由此可见,该框架在重视计算思维培养的同时,亦关注STEM教育为中小学教师与学生带来的助益。除了节省时间与资源,STEM教育中学生多采用探究的方式进行学习,树立多学科不同事物、方法间的联动意识,体验从发现问题到解决问题的完整过程,与计算思维的培养与应用理念相一致,能够增强学生的记忆与迁移能力。

四、《框架》启示

当今时代,计算机科学日新月异,简单的操作能力培养已难以适应技术发展的节奏,创新能力与问题解决能力等核心素养的形成应作为教育关注的重点。我国高中信息技术新课标中,界定信息技术学科的核心素养要素为信息意识、计算思维、数字化学习与创新、信息社会责任,与《框架》具有较高一致性。因此,针对计算思维、创新能力等核心素养的培养,美国计算机科学教育的实施为我国提供了借鉴与启示。

(一)融合STEM教育,拓展计算思维培养空间

我国中小学信息技术作为独立课程,教学一般围绕自身知识内容展开,教师布置的任务大多通过简单的计算机操作即可完成,学生需要进行深入思考与探究性实践的机会较少。而发现问题、解决问题是计算思维的主要内容,因此,针对计算思维需要进一步拓展培养空间,挖掘信息技术教学新形式。《框架》提倡计算机科学与数学、工程、科学等多学科整合,通过STEM促进计算机科学教育的开展与学生计算思维能力的提升。STEM教育能够丰富学习活动,增强学习任务的探索性与实践性,使学生的计算思维得到充分发挥与发展。例如,将智能机器人的设计、编程、制作作为STEM教育内容之一,使每位学生都有机会参与,而非仅作为竞赛内容供兴趣小组学习。设计需根据机器人的功能需求进行精细数学计算;编程是信息技术基本内容;制作则可根据设计的模型,运用3D打印技术等生成或组合产品,涉及工程学的运用。该学习过程中,学生对相关知识技能、思维方法的掌握更深入,易于应用与迁移。

(二)多学段多年级联动,构建计算思维培养体系

我国小学、初中、高中信息技术课程中,Word、Excel、PowerPoint及网络应用等内容重复率较高,且学段之间难度梯度较小,内容基础性强。美国《框架》强调各学段各年级计算机科学教育间的连贯性,明确规划了从小学到高中每一阶段学生应达到的目标,内容难度逐渐提升。各学段各年级的统一规划、联合培养使美国学生计算思维能力与知识技能水平逐步提升,在高中毕业后可完成基本的计算机故障排除、数据收集与处理、程序开发与设计等。综合考虑学生思维发展过程,整体设计不同学段的教学方案与学生应达到的目标,协调构建信息技术课程标准,有利于形成完整的信息技术课程知识与计算思维培养体系,减少教师与学生时间的浪费,优化教学效果。

(三)创设仿真环境,完善计算思维培养过程

《框架》的核心实践解释了一个相对完整的計算思维过程,即明确问题、设计方案、实施反馈、修订完善。可见,计算产品的实施与改进亦是计算思维培养的重要环节。但由于客观条件的限制,实施反馈与修订完善在实际教学中常被简化或忽略,实现真正产出与应用的学生作品较少。对此,我国中小学信息技术教学中,可运用虚拟仿真技术为学生创设模拟环境,使其了解作品是否与预期目标相匹配,如在仿真环境中智能机器人能否按照预设路线绕过障碍物。通过提供仿真环境,学生可完成针对作品的客观评价与改进,能够完善计算思维的培养过程,同时节约资源。而在之后的学习与生活中,学生会更注重将自身的想法付诸实践,有利于创造性产品的形成与创造能力的提升。

猜你喜欢

计算机科学计算思维
探讨计算机科学与技术跨越式发展
浅谈计算机科学与技术的现代化运用
重庆第二师范学院计算机科学与技术专业简介
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养
浅谈在计算机科学中的创新精神