基于计算思维发展的儿童编程教学模式设计研究*

2022-05-19 06:29常咏梅王雅萍
中小学电教 2022年1期
关键词:编程解决问题儿童

常咏梅 王雅萍

(西北师范大学 教育技术学院,甘肃 兰州 730070)

一、引言

信息时代,计算思维必须像“阅读、写作、算数”一样普及,成为每个合格公民的必备素质[1],发展儿童计算思维已势在必行。近几年,儿童编程作为发展儿童计算思维的主要途径,在我国得到了长足的发展。但细察我国儿童编程教学现状,当前我国儿童编程教学对儿童计算思维的促进作用却微乎其微。孙立会先生表示,当前儿童编程教学的开展主要依赖于校外培训机构,打着儿童编程是学业选拔的筹码或能为儿童未来职业选择做准备的广告,以竞赛和编程应用为主要教学目标[2]。但这种以竞赛训练和编程应用为目的的儿童编程,不仅不能有效发展儿童的计算思维,还使不少儿童对编程望而生畏。可见,当下的儿童编程,迫切需要以发展儿童计算思维为核心和根本落实教学,以实现其长远发展。

二、计算思维的内涵与表现形式

我国《普通高中信息技术课程标准(2017年版)》将计算思维定义为个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。具体表现为解决问题的形式化、模式化、自动化和系统化。形式化,即在信息活动中,能够采用计算机科学领域的思想方法界定问题、抽象特征;模式化,即通过判断、分析与综合各种信息资源,建立结构模型、合理组织数据,运用合理的算法形成解决问题的方案;自动化,即总结利用计算机解决问题的过程与方法,实现问题解决方案的自动化运行;系统化,即形成解决问题的系统过程, 将其迁移到与之相关的其他问题解决中[3]。

三、基于计算思维发展的儿童编程教学模式的设计过程

(一)儿童学习编程的特征分析

本研究特针对小学中高年级儿童,该年龄段的儿童正处于具体运算学习阶段,具备一定的逻辑运算能力,且通过信息技术教育对计算机有了一定了解,能够较好适应儿童编程学习。皮亚杰儿童认知发展理论认为,在具体运算阶段,儿童只能进行简单的抽象思维,思维运算高度依赖具体事物的支持。

儿童对情境具有较强的依赖性。根据梅洛-庞蒂的儿童研究,身体活动是儿童认知发生的基础。且这里的身体活动不仅包括具体的肢体活动,也包括内隐的、利用身体进行感知和想象的活动[4]。这就意味着,在儿童编程教学中,不能脱离身体感知进行知识传授和技能训练,应当以学生为主体,尽可能为儿童提供可感知的情境。

儿童缺乏学习的持久动力。在石晋阳等人的调查中,大多数儿童都表示对编程感兴趣,但研究表明,这种直接的兴趣非常容易消退,并不能为儿童学习编程提供长久动力[5]。石晋阳等人认为,以兴趣和努力为核心培养儿童学习编程的内在动力,为儿童提供足够的外部支持,能够有效培养儿童学习编程的持久动力。

基于儿童学习编程的特点,儿童编程教学应该注重编程情境的创设,具象化编程对象,构建以兴趣和努力为核心的学习系统,为儿童提供充足的教学指导和学习资源。

(二)计算思维训练的一般步骤

在杜威看来,思维的演进是推动问题解决进程的关键,他将问题解决过程分为五个阶段,提出了“思维五步法”。第一步发现问题,即主体从客观情境中感受困难。第二步明确问题,主体通过观察分析掌握客观情况,明确问题的性质。一般来说,对困难的定位会随着困难的出现而完成,但也存在感受到困难及问题所在,却并不知道具体问题及性质的现象,这就需要通过第二个步骤明确具体困难和性质。第三步提出假设,假设是主体运用联想提出的问题解决方案,通过联想形成的方案,或多或少带有一定的猜想和推测性质,需要以不同推测来印证对比。第四步推理判断,即通过认真细致的思考,选择合理假设的过程。第五步验证假设,若某个假设所依据的种种条件都已完备,且通过实践问题的确得到解决,则该假设得到验证,问题解决主体也会因此形成自己的信念;反之,则需要重新明确问题或提出新的假设进行推理验证,最终实现问题的解决[6]。该方法揭示了问题解决过程中思维的发展进程,对思维训练的过程确定具有重要意义。

赵国庆、赵姝等人在前人研究的基础上提出“思维训练三阶段理论”,将思维训练划分为三个阶段,为每个阶段的实现提供了操作性建议[7]。第一阶段,隐性思维显性化。通过思维图示、思维导图和概念图等可视化认知工具呈现思维过程与效果,以降低思考者的认知负荷,是该阶段的中心任务。第二阶段,显性思维策略化。通过思维策略工具的应用,来指引、激发和组织思维,塑造高效思维模式。常见的思维指引策略有5W1H 分析法、SWOT 分析法、因素分析法等,目的在于规避思考者原有思维模式的误差,以拓展感知,形成对问题的全面认识。思维激发策略则以“头脑风暴”为代表,它以激发创新思维为目的,需要在对原有思维模式进行识别评价的基础上创造突破,建构新的思维方式。思维组织策略以高度结构化为特点,能够有效解决问题解决过程中的思考流程的问题,以“六顶思考帽”“麦肯锡问题解决七步法”为代表。第三阶段,高效思维自动化。即通过重复强化“去工具化”,将有意识的高效内化成为无意识的高效,实现思维训练的目的。

用计算机解决问题需通过提出问题、分析问题、设计算法、编写程序、调试程序五个步骤的迭代与实现来实现[8]。综合分析思维五步法、思维训练三阶段理论和计算机解决问题的一般步骤,本研究认为,通过分析客观情境提出问题、分析问题明确问题要素、构建算法解决问题、总结评价反思、应用实践迁移五个步骤,可以实现计算思维的训练。

(三)儿童编程教学模式的提出

为发展儿童计算思维,本研究从计算思维的内涵与表现形式角度出发,结合用计算机解决问题的一般步骤和思维五步法,认为在契合儿童学习编程特点的前提下,针对性训练儿童运用计算机解决具体编程问题过程中的思维活动能够有效促进儿童计算思维发展。为更好落实计算思维训练,结合思维训练三阶段理论进行合理建构,从引入问题情境、明确问题要素、构建解决方案、总结评价反思和实践应用迁移五个环节展开教学活动设计,可以有效实现儿童编程课程中儿童计算思维的形式化、模型化、自动化和系统化,关于具体模式建构过程如图1。

图1 模式建构过程

(四)儿童编程教学模式的解析

该模式依托于可视化编程环境展开,可视化编程以“所见即所得”为原则,具有简洁的编程逻辑和直观的操作界面,有效规避了编程学习中繁琐的语法调试,能将复杂的编程代码用直观可视的积木块或图像表现出来,有利于儿童感知问题解决过程,与问题解决过程产生直接联系。模式将儿童编程教学分为五个环节,以儿童解决问题为主线,突出了儿童编程中学生活动的主体地位,通过教师的及时组织和有效指导,落实儿童编程过程中计算思维的形式化、模型化、自动化和系统化,以发展儿童计算思维,关于具体模式如图2。

图2 基于计算思维发展的儿童编程教学模式

1.引入问题情境

有效创设编程问题情境,是教学活动顺利展开的关键。儿童编程的问题情境由教师创设,教师可通过讲故事、播放视频、角色扮演等多种方式引入问题情境,尽可能选择儿童感兴趣的生活活动作为问题情境的创设素材,以便于儿童理解情境,发现问题。

2.明确问题要素

在发现问题后,明确问题要素是解决问题的重要前提。儿童需要通过可视化认知工具进一步分析问题,收集问题情境中的各种数据,明确解决问题的关键要素及各要素间的关系,教师则提供必要的支持,帮助儿童掌握相关工具的同时,控制学习进度,实现计算思维形式化。该模式中教师的引导主要以两种形式存在,即教学流程指引和活动策略指导。教学流程指引,是指教师需要在教学实施的各个环节严格把关,引导学生在特定时间完成当前活动进入下一环节。活动策略指导,是指教师需要指导儿童使用教学实施过程中所要用到的可视化编程软件、思维图示、思维导图和概念图等工具。

3.构建解决方案

构建解决方案是解决问题的核心所在。儿童需要假设问题解决的方案,在推理判断基础上设计相应算法,并进行程序调试,教师负责监督儿童完成以上活动,并进行有效指导。该环节中的迭代主要体现在学生活动中,如推理判断或程序调试不通过,就需要儿童提出新的假设,甚至是重新分析问题整理数据。每一次迭代都意味着儿童对一个方案的取舍,要求儿童首先对原有方案做出评价,并在实践测试或理论的支持下提出新的解决方案,这就有可能需要儿童回到方案模型化阶段,重新进行数据分析与模型建构,甚至可能需要回到分析问题要素阶段重新对问题进行界定。联想是学生利用现有数据假设方案,进行算法设计的重要思维过程,不同学生联想时在反应速度、联想范围、深刻程度上都可能存在不同,但这并不意味着学生反应慢就是错误的,有的孩子可能因为思考深入而表现为外在的迟钝。故而构建联想方式丰富的小组合作,尽可能穷举所有问题解决的可能,对促进儿童计算思维发展具有重要意义。根据“六顶思考帽法”,儿童形成假设的方法多种多样,可以是基于数据分析的,也可以是基于直观感受的。该方法可以很好地指导儿童形成解决问题的假设方案,并对其合理性进行推理判断,帮助儿童完成算法设计,既能运用于小组讨论,也能运用于个人思考。

4.总结评价反思

总结评价反思是实现计算思维自动化的关键。教师应当组织儿童对整个问题解决过程进行总结梳理,引导儿童归纳问题解决的过程、方法和思维活动,并以儿童本身、同伴、教师为多元主体,对问题解决的全过程进行评价,通过加强儿童对于问题解决过程中方法和思维的感知,为儿童编程学习提供积极反馈,加强计算思维训练的效果。

5.实践应用迁移

将儿童通过教学活动所形成的解决问题的思维模式多次应用于相近或不同情境,是促成儿童计算思维系统化的必要手段。儿童需要通过多次实践,熟练运用各思维工具,理解解决问题过程中思维的发展路径,以促成完备的计算思维系统的实现,将计算思维融入生活点滴。

四、基于计算思维发展的儿童编程教学模式的实施策略

在实践层面保障教学模式的顺利实施,是发挥该模式促进儿童计算思维发展的关键所在。基于模式实施的考虑,该模式在具体应用中,应注意以下几点。

(一)注重教师引导的适时与适度

教师引导应当遵循从多到少,从繁到简,从浅到深的规律。工欲善其事,必先利其器。在教学初期,教师不仅要引导儿童使用可视化编程软件,还需要指导儿童学习思维导图、概念图等的绘制方法,引导儿童学习使用“六顶思考帽”等思维工具,以降低小组活动中学生的学习门槛,明确儿童编程课程的教学重心。为提高引导效率,教师可以以图片、视频或导学案的形式提前发放学习资源,引导儿童选择和使用学习资源,根据课堂情况灵活选择重难点进行集中讲解演示,并随着儿童对教学流程的熟悉,逐步减少浅层引导,充分发挥儿童学习的自主性。

(二)强调思维活动的记录与梳理

过程记录有利于帮助儿童形成完整的问题解决总结方案,全面复盘学习过程,引发深层思考。教师可为学生发放学案,或设计相应的程序,要求儿童填写问题解决中的具体操作,形成如“第一步,分析问题情境中存在的对象及对象、对象属性和对象关系,找到解决问题的关键”之类的步骤总结,并填写或上传相关思维导图,引导儿童记录问题解决过程中的思维活动,便于儿童积累经验,在下次遇到该类问题时能够产生联想,优化问题解决过程。与此同时,完备的问题解决过程记录也有利于在儿童编程教学中开展优质的过程性评价。

(三)重视儿童编程的个性化思维

儿童编程中儿童的个性化思维是儿童创新思维发展的萌芽,这既体现在儿童对情境的独特理解,也体现在儿童在构建解决方案环节中对问题解决思路的独特联想。对于这种问题,教师应当引导儿童在编程时添加限定条件或扩展程序功能,在不影响课程进度的前提下鼓励儿童大胆尝试,避免对儿童思维的直接否定。在构建解决方案环节中,教师应当设计完备的游戏规则,充分发挥“蓝色帽子”的控制和调节作用,重视和理解“绿色帽子”所提出的问题解决方案,保证构建问题解决方案过程中“戴着”各色帽子学生发言和思考的比重,并实行角色轮流制,保证每个人都能体验不同的角色,得到思维的全面发展。

(四)选择可视化编程工具的由简到难

拖拽式编程和Python 编程语言是儿童接受度较高的两种编程方式。拖拽式编程中,儿童不需要掌握具体的程序语言,通过拖拽积木块的形式就能构建算法逻辑,实现编程功能。该方法直观有趣,极大地降低了儿童编程的门槛,很适合初学者。但儿童编程决不能止步于拖拽式编程,过分依赖拖拽式编程,反而是对儿童计算思维能力的限制。Python 作为一门高级编程语言,具有简单易学、可移植、可扩展等诸多特点,具有低门槛、高天花板的优势,非常适合用于小学中高年级学生的编程进阶训练。因此,随着儿童编程水平和计算思维能力的发展,教师应该在适当的时候引导儿童学习Python 编程语言,进一步训练儿童计算思维。

五、结语

信息时代的发展日新月异,儿童计算思维培养已刻不容缓。本研究在分析儿童学习编程的特点和探究具备高操作性的思维训练理论的基础上,着力于构建高效促进计算思维发展的儿童编程教学模式,并给出了基于可视化编程平台的教学实施流程,为一线教师组织儿童编程课程提供了理论参考和实践指导。教师在模式应用过程中,需“因地制宜”“因人施教”,结合实际教学情况灵活运用教学模式,以确保有效促进学生计算思维发展。

猜你喜欢
编程解决问题儿童
联系实际 解决问题
助农解决问题增收致富
在解决问题中理解整式
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
解决问题的设计
留守儿童
六一儿童