APP下载

计算思维实践框架研究

2021-09-22李泽李伟毛顿龚志辉夏立

中小学信息技术教育 2021年9期
关键词:思维培养计算思维问题解决

李泽 李伟 毛顿 龚志辉 夏立

【摘 要】对计算思维内涵的解读,以及在K-12阶段对学生计算思维的培养,已经成为教育研究者们重点关注的议题。该研究基于计算思维三维框架,以问题解决为主线,以设计和创造为核心,提出了一套系统且具有可操作性的计算思维实践框架。该研究基于过程要素和行为表现的分析,并融合了学科的特色,丰富了计算思维实践的具体内容,旨在为计算思维培养提供理论和实践方面的指导。

【关键词】计算思维;计算实践;思维培养;问题解决;设计过程

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

【论文编号】1671-7384(2021)09-005-04

随着信息技术的发展,其在众多行业的优势愈加明显,计算思维逐渐引起了人们的关注。英、美、韩、澳等国家相继将计算思维纳入课程体系[1]。我国教育部发布的《普通高中信息技术课程标准(2017版)》中,也将计算思维作为信息技术课程培养的学科核心素养之一[2]。围绕计算思维的具体含义和组成,本文从计算实践角度提出了一个包含四个维度的计算思维实践框架。该框架能够为计算思维相关的教学、课程设计以及表现性评价提供参考,为学生计算思维的培养,尤其是在K-12阶段的落地,提供一套可操作性的指南。

计算思维的构成与计算实践

自计算思维概念提出以来,对于计算思维的具体构成,人们提出了不同的看法。多数文献都是将计算思维分解成数据分析、问题分解、抽象、算法等多个子概念或实践[3][4][5],而缺乏对学生学习过程和思维培养过程的关注。2012年,Brennan和Resnick以基于设计的Scratch互动学习为基础,提出了计算思维的三维框架,包含计算概念、计算实践及计算观念三个维度[6]。计算概念指的是在编程中广泛运用的概念:序列、循环、事件、并行、条件语句、运算符号和数据。计算实践指的是作者对一个作品的创作过程,研究中将其分解为四个部分:试验与迭代、测试与调试、重用与改编、抽象与模块化。计算观念指的是学习者对超出作品本身事物的思考和理解能力,包括表达、联系和质疑。该框架为计算思维的教学和培养提供了参考,也为计算思维的评价提供了依据。计算作品是反映学生计算思维能力的重要载体。该研究也尝试从受访者的计算作品入手,用多种方式评价学生的计算思维。但是,该框架基于对创作实践部分的维度划分比较粗略,对学生的创作过程缺少关注,对计算思维培养的落地缺乏明确的指导。思维的过程是思维结构重要的组成部分之一[7],而作品创作的过程正是反映思维过程的重要方式。因此,对计算作品创作过程的关注,是培养学生计算思维的重要环节。

计算实践导向的计算思维实践框架

本文提出的计算思维实践框架,是基于上述三维框架中的计算实践维度进行补充和架构的。从过程要素和行为表现的层面分析,计算思维的过程是问题解决中的逻辑思维、算法思维和系统思维的具体作用过程[8]。在各国的计算思维课程设计中,都强调问题解决的能力[9]。因此“问题解决”是本研究架构计算思维实践框架的主线。思维具有生产性,人们会为解决问题制作思想产品,故评价“作品”是分析思维的一个重要途径[10]。在计算思维实践中,学习者产出的计算作品就是思想产品,而产出作品的过程离不开利用计算工具和计算原理进行设计,通过设计作品来建构知识,正是建造主义所强调的学习过程[11]。因此,设计因素是我们对计算思维实践框架进行架构的另一重点。

结合计算思维的内涵,以及根据建造主义的基本理论和借助计算机解决问题的一般过程,本文构建了如图1所示的计算思维实践框架。学习者以问题解决为目的,从具体问题情境出发,历经分析、设计、创造和评估四类行为表现。在每一类行为表现下,分别由三至四个不同的具体实践组成,最终形成计算作品。需要注意的是,尽管框架对计算思维实践按照行为表现进行了不同维度的划分,但是在实际学习过程中,每个实践行为之间是高度相关、相互交织并不断迭代的,实际教学中也应综合使用以完成教学目标。接下来本文将对各个维度进行阐述。

1.计算思维实践之“分析”维度

分析问题是学习者进行问题解决的开始。本文将该维度分为问题定义、问题分解和数据分析三个实践过程。问题定义是问题解决的起点,它指的是学习者识别并理解计算问题的过程[12]。在明确了问题的目标与本质后,学习者便可尝试将复杂问题分解为易于控制和实现的子问题。在此过程中,学习者还应基于经验或理论判断可行的计算方法,将实际问题转化为能够使用合适计算工具解决的问题[13]。

在对问题进行界定后,学习者还应当对问题中的相关数据进行分析。数据视角是一种新的理解问题的方式。如何高效地获取、处理和分析数据,并从中总结出规律和结论,是科学研究的核心。在教育部发布的《普通高中信息技术课程标准(2017版)》中,对学生信息意识的描述也涉及了学生能够根据解决问题的需要,自觉、主动地使用恰当的方式获取与处理数据,并且采用计算机可以处理的方式界定问题和合理组织数据[14]。在对数据进行合适的处理后,学习者还应使用计算工具从数据中提取有价值的信息,识别规律和关系,进行推理和预测,并使用可视化的方式將结论表达出来[15]。

2.计算思维实践之“设计”维度

在对问题有了基本的理解并确定需要达成的目标后,学习者就可以形成解决问题的思路,并对解决方案进行设计。计算作品是学习者最直接明显的产出,而作品的设计过程是评估学习者计算思维能力的重要组成部分。学习者在设计中首先要关注方案的整体性,抽象出问题解决的模型;然后明确模型中具体的算法设计,确定完成问题的基本指令;最后从系统的角度审视解决方案,既要关注系统的内在结构和行为,也要注意到系统和外部环境的相互作用和影响。因此,本文将设计过程分为抽象建模、算法设计和系统思考三个实践过程。

抽象建模是解决计算问题的核心,它帮助人们应对易变和复杂的环境,深化对现实世界的理解[16]。模型是对现实的简化,是对特征的概括,而概括能力又是学科能力和思维能力的基础[17]。在概括了必要的特征后,学习者就需要对模型进行建构。使用合适的方式建构模型有助于学习者探究系统的内在逻辑和关系。而如何有效地使用模型,关键在于理解模型与现象之间的关系,这就包括阐述模型与现象之间的异同,提出影响其有效性的因素,以及识别模型所隐含的内在假设。

完成了模型的建构之后,学习者就要针对问题解决进行算法设计。算法是完成特定任务的一系列自动化步骤,是呈现问题解决方案的逻辑和有序指令。在设计的过程中,学习者首先应当理解算法的应用情境、基本概念、逻辑流程和设计原则,而后用自然语言、流程图或伪代码等形式进行表达,最后从经验、逻辑、数学等方面对算法的正确性和有效性进行分析。

计算作品是由相互联系、相互作用的元素为完成特定目标而组成的集合,学习者应该以系统化的方式对计算作品进行思考和设计。系统思考是一种重要的思维方式,它对科学发展及培养公民的科学素养起到重要作用[18]。按照从整体到局部的逻辑顺序,学习者应先忽略底层交互细节,从整体上理解系统的行为和特征,而后识别系统的构成元素及其行为,厘清整体与局部的关系,理解元素之间的交互作用和层次关系,并进行模块化或层次化设计。按照从内到外的逻辑顺序,在设计过程中,应先定义系统的边界、范围和大小,在控制系统复杂度的同时,确保系统包含必要的元素,以完成既定目标,而后理解系统与环境的相互作用,识别系统外的关键影响因素,调整和优化系统的设计。

3.计算思维实践之“创造”维度

在问题解决的过程中,最关键的步骤就是将设计方案在实际情境下借助计算工具加以实现和实施。本文将“创造”维度分解为计划制定、作品创造、实验迭代三个实践过程。

创造过程可以看做是按照一定的目的、任务和形式管理的项目过程。因此在作品创作之前,学习者应当用计划描述项目的目标、范围、过程及预期结果,采用合适的方式监控项目进展,并在发生变更时对项目做出及时调整。之后学习者应当依据设计方案和项目计划,使用合适的工具和材料创造作品;另一方面,学习者还能对已有作品进行改编,采用组合和重用的方式创造作品,并设计可复用的组件,使其适应变化的需求。而创造的过程并不是一蹴而就的,往往需要不断地通过实验验证想法,并以迭代的方式调整和完善设计方案或作品,解决计算问题以适应新的需求。

4.计算思维实践之“评估”维度

评估是学习者对计算作品进行总结的过程。学习者对计算作品进行评价,确认其是否达到预定的问题解决的目标,是否实现预期的功能,以及是否成功解决了计算问题。本文将该维度分解为测试调试、作品分析和评论反馈三个实践过程。

测试调试是有意识地提升计算作品质量的过程,同时也是深入理解计算系统和环境的过程。在软件工程中,使用测试用例对计算作品进行系统化的测试,识别并分析异常现象,调试并修复作品中的错误,是测试调试必不可少的环节。在完成作品后,学习者应当能够从运行效果、功能性、可靠性、易用性和可维护性等方面对自己或他人的计算作品进行分析。在分享作品的过程中,学习者应当理性探讨或接受他人的反馈,并对自己或他人的作品进行恰当的评论。

总  结

本文提出的计算思维实践框架,以问题解决为主线,设计和创造为核心,全面地总结了学习者在解决计算问题过程中需要进行的实践行为,能够有效地确定学习目标并指导学习者计算思维能力的培养。该框架结合了我国K-12阶段计算思维培養的现状,以及国内外目前对计算思维领域已有研究的总结,是一套系统的、具有可操作性的计算思维培养指南。同时,本文也从学科融合的视角,重新审视了计算思维,融入了系统思考和计划制定等具有学科特色的实践,并要求学习者将评估贯穿于整个项目中,旨在培养学生用科学的思维方式识别、思考和解决生活中现实问题的能力。

该计算思维实践框架经过了九轮计算思维领域专家的讨论和修改,并已逐步在教学实践中推广。但是如何分阶段地培养计算思维实践,以及学习进阶和学习轨迹的设计,仍有待在理论研究和教学实践中进一步探索。

注1:李泽系本文通讯作者

注2:本研究受深圳点猫科技有限公司“3D可视化编程平台——代码岛创业资助项目”(项目编号:CYZZ20180307154623394)资助;本研究为全国教育信息技术研究2018年度重点课题“人工智能时代小学创意编程课程的设计研究”(课题立项号:186220006)的阶段性成果

参考文献

刘敏娜,张倩苇. 国外计算思维教育研究进展[J]. 开放教育研究,2018,24(1): 41-53.

[14]教育部. 普通高中信息技术课程标准(2017版)[S]. 北京: 人民教育出版社,2018.

[13]ISTE C. Computational Thinking in K-12 Education leadership toolkit[J]. Computer Science Teacher Association: http://csta.acm.org/Curriculum/sub/CurrFiles/471.11 CTLeadershipt Toolkit-SP-vF.pdf, 2011.

Selby, C. , & Woollard, J. Computational thinking: The developing definition[J]. In Paper presented at the 18th annual conference on innovation and technology in computer science education, Canterbury,2013.

Yadav, A., Mayfield, C., Zhou, N., Hambrusch, S., & Korb, J. T. Computational thinking in elementary and secondary teacher education[J]. ACM Transactions on Computing Education,2014,14(1), 5.

Brennan K, Resnick M. New frameworks for studying and assessing the development of computational thinking[C]. Proceedings of the 2012 annual meeting of the American educational research association, Vancouver, Canada,2012(1): 25.

[10]林崇德. 我的心理学观——聚焦思维结构的智力理论[M]. 北京:商务印书馆,2008. 4-7.

胡盈滢. 中小学计算思维培养课程设计与开发研究[D]. 上海:上海外国语大学硕士学位论文,2019.

李锋. 中小学计算思维教育:STEM课程的视角[J]. 中国远程教育,2018(2): 44-49.

王旭卿. 佩珀特建造主義探究——通过建造理解一切[J]. 现代教育技术,2019,29(1): 26-31.

K-12 Computer Science Framework Steering Committee. K-12 computer science framework[M]. ACM,2016.

[18]Weintrop, D., Beheshti, E., Horn, M., Orton, K., Jona, K., Trouille, L., et al. Defining computational thinking for mathematics and science classrooms[J]. Journal of Science Education and Technology, 2016,25(1), 127-147.

NGSS Lead States. Next generation science standards: for states, by states[M]. The National Academies Press, Washington, DC,2013.

林崇德. 从智力到学科能力[J]. 课程·教材·教法,2015,35(1): 9-20.

作者单位:1.广东深圳点猫科技有限公司教学教研中心  2. 北京大学教育学院 3. 广东深圳职业技术学院 商务外语学院

猜你喜欢

思维培养计算思维问题解决
思维培养在小学语文作文教学中的应用
“问题解决”课堂教学模式
浅谈小学生数学思维能力的培养
浅谈小学数学问题解决认知模型
如何培养小学生的数学问题解决能力
程序设计课程中计算思维和应用能力培养问题研究
高中化学“问题解决”课堂教学模式的研究与实践
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养