47TheoryofEducationalTechnology2017.5364培养计算思维,发展STEM教育*——2016美国《K-12计算机科学框架》解读及启示(1.东北师范大学计算机科学与信息技术学院,吉林长春130117;2.青岛十七中,山东青岛266013)摘要:计算思维是信息时代每个人都应具备的基本素养,是计算机科学的核心思想。STEM教育则是计算思维培养与计算机科学教育的重要途径之一。该文通过对2016美国《K-12计算机科学框架》的解读及其核心概念、核心实践、实施过程的梳理,挖掘计算思维培养在中小学计算机科学教育中的重要性,以及STEM教育在节约时间与师资、减轻学生学习负荷、强化知识技能等方面的作用,并在此基础上提出了该框架对我国中小学信息技术教育的几点启示,以期能够缓解目前计算机科学应用普及化与教育边缘化间的矛盾,使学生能够获取最优化的学习途径,真正成为未来的创造者。关键词:计算思维;计算机科学;STEM中图分类号:G434文献标识码:A一、引言从算盘到现今的智能手机,计算已经从诸多方面改变了世界,包括教育、文化、经济等,并将仍然持续改变着。计算机科学作为一个具有高实用价值与强推动力的学科,其教育目的除了造就单纯的计算机技术工作者外,相应思维方式、问题解决方式、创造方式的渗透与培养也不容忽视。计算思维是计算机科学实践的核心,是21世纪数字公民的一项基本素养。美国卡内基·梅隆大学周以真教授提出,计算思维是运用计算机科学的基础概念进行问题解决、系统设计与人类行为理解的过程[1]。计算思维提供了一种能够广泛应用于工作、学习和生活中的组织与分析问题的新视角,同时它可以连结计算机科学与其他学科知识领域[2],突破了专业知识技能与思想的局限,促使学习者进行技术使用者到创造者的角色转变。但在现有的教育体制中,计算思维的培养并未得到应有重视;作为计算思维主要培养途径的计算机科学教育也面临着课程监管与师资储备等多方面问题。因此,美国计算机科学协会(ACM)、计算机科学教师协会(CSTA)、网络创新中心(CIC)、国家数学与科学计划中心(NMSI)针对州、地区和学校计算机科学教育供需不匹配的状况,于2016年指导并发布了《K-12计算机科学框架》(以下简称《框架》)。其目的是剖析计算机科学的发展与教育情况,通过推进STEM教育等方式,促进学科间的融合,借助数学、科学等传统学科的优势,缓解目前计算机科学课程监管不完善、专业教师缺乏等问题。STEM教育注重学生创新思维与实践能力的培养[3],与《框架》精神不谋而合。另外,通过STEM教育,可以在一定程度上节约学习时间[4],减少多学科中重复学习共同主题而带来的认知负荷。《框架》体现了相关组织机构对学生参与计算机科学学习的愿景。从小学、初中到高中,学生逐步奠定计算机科学知识基础,学习问题解决的新方法,以便运用计算思维的力量,成为计算机技术的使用者与创造者[5]。《框架》涉及对象广泛,包括1到12年级、甚至高校的不同种族、性别、健康情况的学生;目标明确,为各地区计算机科学教育标准的具体制定提供参考与指引;内容详尽,对计算机科学涉猎范围及各年级预期达到的水平进行详细分析与描述,响应社会、学生与家长对计算机科学教*本文受全国教育科学“十二五”规划教育部重点课题“可视化技术支持下学科知识自主学习模型研究”(项目编号:DCA130224)资助。文章编号:1006—9860(2017)05—0047—0748TheoryofEducationalTechnology2017.5364育的诉求。《框架》的提出有利于提升计算机科学教育与应用水平,使所有学生都能积极参与计算机科学的学习与实践,并用计算机科学的思维与方法创新性地解决问题。本文通过对《框架》的解读及其核心概念、核心实践、实施过程的梳理,挖掘美国计算机科学教育的培养目标与方式,为我国中小学信息技术教育的开展提供借鉴与参考。二、发布背景《K-12计算机科学框架》是以现有政策文件为基础,以美国当前教育研究与实践情况为考量,为解决计算机科学教育未得到充分发展的现实状况与社会对计算机科学强烈需求间的矛盾而开发的。首先,德国、波兰和新西兰等国家的计算机科学框架为该框架涉及的核心概念与实践提供了基准,而2016新版《美国学生教育技术标准》则为该框架的制定提供了借鉴。该标准强调了学生在整个学习生涯的每个年龄层次应获得的技能与应达到的水平,具体包含7个方面:有主动权的学习者、数字公民、知识建构者、创新设计者、计算思维者、创造性的沟通者、全球合作者[6]。其思想、理念与《框架》相辅相成,均注重学生计算思维、创新能力的培养及信息时代基本素养与意识的形成。其次,该框架与国家认可的《K-12科学教育框架》相一致。计算机科学框架与其他学科框架并行实施,相互作用。因此,该框架需参照其他学科相关文件,综合考量教育中涉及的要素,协调构建。《K-12科学教育框架》提出三个维度,即核心概念、科学与工程实践、横切概念[7]。《K-12计算机科学框架》在此基础上进行了改进,保持维度定义的相似性,支持各学科的协同与发展;并且关注计算机科学本身的特点,强化学科特色。另外,2015年计算机科学被定义为美国总统奥巴马签署的《让每个学生成功法》中“全面教育”的一部分[8]。可见,计算机科学对信息时代学生的发展至关重要。据统计,运用计算机科学的工作大部分薪酬高、发展快[9],并且社会需求量大[10]。而计算机科学本身是2010年以来所有STEM领域成长最快的学科之一[11],也受到学生家长的广泛认可。美国大多数父母希望孩子所在学校能够提供计算机科学教育,且认为学习计算机科学与学习阅读、写作、数学同等重要。然而在实际教学中,学生了解计算机科学概念与实践的机会非常有限,许多学生只能等到高中才接触相应课程,且内容覆盖面与纵深度难以匹配社会需求。《K-12计算机科学框架》通过一系列概念与实践来展示计算机科学的重点内容。核心概念代表计算机科学的主要领域,核心实践代表与核心概念相关的学习者行为。对这些概念与实践进行设计与整合,从而能够为学生参与计算机科学学习提供真实、有意义的体验[12]。三、《框架》解读《K-12计算机科学框架》在《K-12科学教育框架》三个维度划分的基础上,将横切概念整合到每个核心概念的学习进程中,形成核心概念与核心实践的二维模式,如图1[13]所示,从而使其更易理解与实现。(一)核心概念《框架》的核心概念包含计算系统、网络与互联网、数据与分析、算法与程序、计算的影响五部分,主要解决“学什么”的问题。每个核心概念划分为多个与之紧密相关的子概念,如下页表1所示,通过子概念展开对核心概念的描述。如数据与分析包含收集、存储、可视化和转换、推理和模型四个子概念,《框架》分别对这四个子概念的含义、问题、能力要求等进行说明,将各独立细化的说明聚合起来,即形成了对核心概念数据与分析的解释。计算思维关注利用计算机科学解决问题的能力,这种能力既表现为“结构分解、实体抽象、模型建设”等应用特征,也包括“明确问题、设计方案、实施反馈、修订完善”等一般性解决问题方法[14]。由核心概念及其子概念的关联可以看出,该框架的构建有利于计算思维的培养。核心概念计算系统网络与互联网数据与分析算法与程序计算的影响核心实践培养包容的计算文化围绕计算进行协作识别和定义计算问题形成并运用抽象创造计算产品测试与改善计算产品针对计算进行交流图1K-12计算机科学框架49TheoryofEducationalTechnology2017.5364表1核心概念与子概念核心概念子概念计算系统设备硬件和软件故障排除网络与互联网网络通信与组织网络安全数据与分析收集存储可视化和转换推理和模型算法与编程算法变量控制模块化程序开发计算的影响文化社会互动安全、法律和道德1.核心概念的细化分解抽象与分解是运用计算思维完成复杂任务或设计复杂系统时常用的方法。分解即为将任务拆分为更简单的任务,使其模块化,以及将简单任务组合起来以创建复杂任务。核心概念分解为子概念,供学生进行模块化学习;达到一定知识水平后,再根据其相互关联进行系统性的问题分析与解决,有利于学习者知识技能的掌握与计算思维水平的提升。以算法与编程为例,在低年级时,学生可以从算法、变量等相对独立、细小的部分着手,建立对算法与编程的基本认识,随着学习的进步,学生能够辨别与归纳问题解决范式,重新组合现有知识与方案,利用一般的、可重复使用的方案来处理常见问题。2.核心概念的横向联结横切概念即为多个核心概念间的联结,具体表现为同一个有意义词多次出现在不同核心概念的描述中,如表2中“抽象”“系统关系”等词多次出现在《框架》对每个核心概念的阐述中,反映出各核心概念教学中共同关注的目标或重点,表明各核心概念间具有一定交叉性与一致性,是核心概念的横向联结。该框架将横切概念整合到核心概念的学习进程中,未设立单独的第三维度。学习进程描述了学生对核心概念及其子概念从基本理解转向精细认知的过程,按学段划分为1-2年级、3-5年级、6-8年级、9-12年级,每个学段的学生在各核心概念领域内应达到不同目标。因此,《框架》对核心概念及其子概念的描述按学段进行了细化与分解,进而精准地提取出各部分的横切概念,如表2所示。根据其出现的频次列出前五个分别为抽象、系统关系、人机交互、隐私与安全、交流与协作[15]。表2不同学段各核心概念涉及的横切概念学习进程核心概念计算系统网络与互联网数据与分析算法与编程计算的影响1-2年级人机交互、交流与协作、系统关系人机交互、隐私与安全、交流与协作抽象、系统关系、隐私与安全、人机交互抽象、系统关系、人机交互人机交互、隐私与安全3-5年级抽象、系统关系、交流与协作抽象、交流与协作、隐私与安全抽象、系统关系、人机交互抽象、系统关系、人机交互、交流与协作系统关系、人机交互、隐私与安全6-8年级抽象、系统关系、人机交互、隐私与安全、交流与协作抽象、隐私与安全、交流与协作抽象、人机交互、隐私与安全抽象、系统关系、人机交互系统关系、人机交互、隐私与安全、交流与协作9-12年级抽象、系统关系、人机交互、隐私与安全、交流与协作抽象、系统关系、人机交互、隐私与安全、交流与协作抽象、系统关系、人机交互、隐私与安全、交流与协作抽象、系统关系、人机交互、隐私与安全抽象、系统关系、人机交互、隐私与安全由表2可知,随着学习进程的推进,学生在各方面涉及的横切概念整体呈增多趋势。也就是说,学生对各方面内容的掌握愈发深入,同时关注的目标与学习的方式方法也愈发全面。在9-12年级的学习进程中,与计算系统、网络与互联网、数据与分析、算法与编程、计算的影响五方面关联的横切概念均包含抽象;且根据《框架》整体的词频统计,抽象一词出现在横切概念的首位。由此可见,抽象作为计算思维的常用方法,是计算机科学教育主要培养目标之一。抽象是将某一过程或某一信息集合简化,只保留某些重要特征以便计算处理的方法。通过去除个别化属性、提取公共要素来概括多种情境或事物,从而创建普适性方案。培养学生的抽象能力,有利于促进其知识迁移。在实际学习与生活中,学生运用抽象能够快速提取事物的关键特征,并与其他事物建立关联关系,从而根据以往经验制定合理的解决方案。3.核心概念的探究培养《框架》指出,在计算机科学教育中,应鼓励学生进行主动探究,而非填鸭式教学。如在计算系统这一核心概念的学习中,教师应引导学生积极发现实际生活中计算系统出现的故障,在力所能及的范围内进行排查,分析是何种原因引起的,进而探索问题的解决方案并通过实践检验方案的合理性。这一过程伴随学生计算思维的培养,同时也是计算机科学教育的必要方式。(二)核心实践《框架》的核心实践描述了接受计算机科学教育的学生参与核心概念学习的行为和思维方式。概50TheoryofEducationalTechnology2017.5364念与实践相融合,从而为学习计算机科学的学生提供完整的体验。核心实践包括七部分:(1)培养包容的计算文化;(2)围绕计算进行协作;(3)识别和定义计算问题;(4)形成并运用抽象;(5)创