APP下载

面向小学低年级学生计算思维培养的实体编程教育研究

2024-04-14武欣李云文

中小学数字化教学 2024年3期
关键词:编程实体思维

武欣 李云文

随着信息科技的迅猛发展和社会对计算能力的需求日益增长,计算思维成为现代教育领域中的关键概念。经检索文献发现,我国对于计算思维培养的研究主要集中于小学中高年级及以上,对低年级学生的研究较少,一些教师对此存在困惑。低年级学生是否需要培养计算思维?何种教育方式有益于培养其计算思维?在教育过程中可以采用什么样的教育策略?本文就这些问题展开相关论述。

一、小学低年级学生计算思维培养的必要性

(一)计算思维已成为新时代学生的必备能力

国内外学者从不同的角度阐述了计算思维所涵盖的内容,其中较为典型的是周以真教授将其概括为“利用计算机科学的概念解决问题、设计系统和理解人类行为”的一种方式。塞尔比(Selby)描述了计算思维过程包括算法思维、评估、分解、抽象、概括这五个核心要素。美国国际教育技术协会(ISTE)将计算思维分为创造力、算法思维、批判性思维、问题解决能力、合作及交流技能。经对上述概念的比较与分析,本文认为计算思维是对问题逻辑分析、问题分解、给出详细的解决方案、设计相应的算法实施以及反思与优化的思维过程,包含分解思维、抽象思维、程序化思维、迭代思维及概括评估思维五个核心要素。可见,计算思维涉及范围广,影响着人们发展的方方面面。

虽然目前计算思维还没有完全统一的定义,但随着社会对人才培养需求的变化,其重要性日益凸显,且受到各国的高度重视。国外对计算思维教育的研究较早且较为成熟。2011年起,美国、澳大利亚、英国、芬兰、新西兰、韩国等国家先后发布相应政策文件,大力推动K-12阶段计算思维教育,一些国家甚至将计算思维作为一门国家级课程。近年来,我国也意识到计算思维培养的重要性。2017年,中国计算机学会中小学计算机教育发展委员会指出,应从小培养学生的计算思维[1];2022年4月,《义务教育信息科技课程标准(2022年版)》发布,其中将计算思维作为学科核心素养之一,并明确提出计算思维在各个年级的培养目标。可见,被视为“21世纪新素养”的计算思维,已成为继读、写、算之外每个数字时代青少年都必须具备的一项关键能力[2],其发展培养已成为当前中小学教育领域的一个重要目标。

(二)小学低年级阶段学生计算思维处于迅速发展时期

我国计算思维教育的培养对象最早主要集中于高等教育阶段的大学生。随着高中信息技术课标以及义务教育信息科技课标的发布,其教育培养对象逐渐转向中学生及小学高年级学生,但是对于小学低年级学生却不够重视。

对此,一些专家学者对低龄儿童的计算思维发展进行了相关研究。孙立会教授通过对五个省市的小学生开展横向调查实验,指出小学低年级学生计算思维发展表现突出,特别是二年级,速率提升高于平均发展趋势线[3]。高宏钰教授指出,计算思维在低龄阶段具有显著的年龄差异,低龄儿童的计算思维处于迅速发展状态[4]。李宏扬等学者在研究中指出,低龄学生可塑性较强、思考问题方式独特、有较强的探索欲望,在此阶段更容易建立起计算思维方式,且建构起一种高效能、低成本、可持续的计算思维培养系统,有利于发展更高阶的思维能力[5]。经合组织(OECD)也提出,我们应该帮助幼儿从小建立计算思维,从而使他们能够有意义地参与数字环境,并以创造性的方式使用数字技术[6]

低龄阶段是学生智力迅速发展的重要阶段,也是各种行为习惯养成的关键时期。从上述研究可见,小学低年级学生发展计算思维是非常必要且十分重要的,教育培养应抓住低龄学生这一关键阶段,且要从中高年级逐渐延伸扩展到小学低年级和早期教育[7]

二、实体编程对培养小学低年级学生计算思维的优势分析

(一)编程教育成为计算思维培养的主要方式

对于计算思维培养,大多数研究者认为编程教育具有较大优势。多召军等人以30名小学生作为研究对象,开展了为期5周的教学实验,发现学生的计算思维水平在5周的编程学习之后有了显著的提升[8]。张银荣等人采用元分析方法,量化分析了国内外32项利用协作编程培养学生计算思维的相关研究,结果表明利用编程合作完成任务能够显著提升学生的计算思维水平,且中小学段效果更佳[9]。國外学者莱伊(Lye, S. Y.)等人分析了27篇基于编程的计算思维培养实证研究,发现大中小学生均可采用编程的方式培养计算思维[10]。以上研究表明,在计算思维培养方面,编程教育以其特有的逻辑思维和创新能力培养的潜能成为使用最多且至关重要的方式[11]

(二)实体编程更加适合于小学低年级学生计算思维培养

随着编程教育的发展,其教育形式趋于多样化。目前,小学常见的编程教育有文本编程、图形化编程和实体编程[12]。还有一种存在分歧的不插电编程,它与实体编程之间的界定目前仍无统一定论,本文不做论述。

表1简要概括了小学常见的三种编程类型及特征,下面结合小学低年级学生认知发展特点以及数字化学习与创新的要求,进行具体分析。

1.从低年级学生认知发展分析,实体编程具有优势

在皮亚杰认知发展理论中,小学低年级学生(通常为6~8岁)处于前运算阶段到具体运算阶段的过渡期。在感知方面,他们主要通过感官经验来认知世界,比较关注物体的外观、形状、颜色等可见特征。同时,他们缺乏逻辑推理和抽象思维能力,在其形象思维主导下需要凭借具体的符号或事物来形成直观经验。

对于小学低年级学生而言,他们首先需要学习的不是编程语言,而是策划构思、逻辑分析、模式识别、问题分解、测试纠错的编程思维,从而提高计算思维[13]

通过分析上述三种编程类型的特点,结合皮亚杰认知发展理论,我们发现文本编程抽象复杂,学生理解起来相对困难,不适合小学低年级学生。

图形化编程和实体编程都具有形象直观的特点。图形化编程需借助计算机中的软件实现,需要学生具有一定的计算机使用基础,而现今大多数小学低年级还未开设信息科技课程,学生缺乏计算机操作经验,对于图形化编程学习较为吃力,且小学低年级学生处于视力发育的关键时期,应限制他们每天面对电子屏幕的时间,防止视力损伤,由此排除图形化编程形式。

可见,从学生实际认知发展角度分析,零基础、无屏幕、实物化、游戏化的实体编程更加适合小学低年级学生。

2.从数字化学习与创新的要求分析,实体编程具有优势

《义务教育信息科技课程标准(2022年版)》中的课程总目标明确提出要提高数字化合作与探究能力,发扬创新精神,用数字设备与团队合作解决学习问题,协同完成学习任务,在数字化学习环境中发挥自主学习能力,采取新颖的视角思考和分析问题。

相较于文本编程和图形化编程,在嵌入式系统、机器人和物联网设备等领域,实体编程可以轻松集成传感器、执行器等硬件设备,更容易连接到物理世界。它更多地借助学生感兴趣的机器人、传感器等物理实体设备,进行远程监控、自动化控制等,具有多种玩法和模块支架。它能通过物理形式的输入与输出结果,为学生提供真实的交互体验。学生在理解抽象的编程概念与编程结构过程中,可以接触到更多的数字设备,进行更丰富的数字化体验,并应用这些数字设备去解决问题并加以创新,从而更好地促进计算思维和问题解决能力的发展。与此同时,学生的学习兴趣和创新能力也会大大提升。

对于低龄学生而言,计算思维培养工具需要具有低门槛和高上限两个特性,既要适合初学者入门,又要具备较好的扩展性,便于学习者进一步拔高。根据上述对比分析可知,实体编程对于小学低年级学生计算思维培养更具优势。

三、面向计算思维培养的小学实体编程教学策略——以KUBO实体编程为例

笔者所在学校对小学低年级学生进行了为期半年的KUBO实体编程教育探索,通过实践发现,学生对实体编程的学习兴趣浓厚,且计算思维得到了显著提升。本文根据文章开头论述的计算思维的五个内涵“分解思维、抽象思维、程序化思维、迭代思维以及概括评估思维”,结合多召军教授构建的编程问题解决过程与计算思维核心要素的承载关系模型[14](如图1),以KUBO教学实践为例,分析形成面向低年级学生计算思维发展的五种实体编程教育策略(如图2)。

(一)编程主题联系实际,培养分解思维

分解思维是按照问题的功能要素把复杂问题分解为易操作问题的思维过程。将实体编程教学主题与学生的生活实际紧密联系是提升学生分解思维的有效方法。低年级学生年龄较小,对于问题探索的能力与经验不足,实体编程教学主题应从学生的生活实际出发,激发学生的兴趣和求知欲,让学生了解问题后能结合自身的实际生活经验,初步尝试分解问题,从而提升分解思维。

比如,在KUBO实体编程教学中,以“就医之旅”为主题,学生联系实际生活中父母带自己到医院就医的过程,在探索问题的过程中,将其分解为易操作的小问题,如“进入医院—挂号—找医生就医—缴费—取药”(如图3、图4)。学生通过分解该问题,不仅提升了分解思维能力,还巩固了实际生活经验。

(二)編程内容学科融合,培养抽象思维

抽象思维是从问题情境中推理分析解决问题关键信息以及用结构化逻辑表示信息的思维过程。在实体编程教学中,编程内容往往涉及不同学科的知识和概念,且注重艺术、数学、信息科技等跨学科创作。学生在明确需要解决的问题的基础上,还要进行问题表征的活动过程,即获取与每个问题相关的所有信息,提取或补充与这些问题相关的其他学科知识,形成问题空间中所有学科信息的知识网络。构建知识网络需要学生识别信息结构背后的模式与规则,用模型表示各要素的关系与运作过程,而这个过程就是抽象思维的形成过程。

比如,KUBO实体编程“春种秋收”一课融合了信息科技、数学、科学、美术、语文五个学科的内容,学生要达成掌握函数指令块的使用、分辨地图方向、了解水稻的生长过程、创建场景、讲述耕种故事等多个学科领域的目标。在解决“通过编辑函数,让KUBO完成播种、插秧、收获、舂米等环节”这个编程问题时,学生需要完成对各个学科相关信息的提取、理解与表达等一系列过程(如图5)。在整个过程中,学生可以建立更广泛、更深刻的认知框架,逐渐提升抽象思维能力。

(三)编程任务明确具体,培养程序化思维

程序化思维是按明确有序的步骤去解决问题的思维过程。在实体编程教学中,具体的编程任务可以为学生设定明确的目标,指导学生集中精力和资源,使学生在明确任务的基础上,按照清晰有序的步骤生成编程方案,准确执行以完成特定的编程任务或解决特定的问题,使整个学习过程更加具有针对性。

比如,在KUBO实体编程“参观团进校园”的教学中,教师向学生提出让KUBO机器人带领参观团“签到—参观武术社团、舞龙舞狮社团、篮球社团—离校”等明确具体的任务,并商定清晰的参观规则。学生在动手操作的过程中,首先会根据明确具体的任务生成编程方案,然后借助KUBO机器人和指令卡片按照参观任务有序执行(如图6)。在这个根据任务生成方案的过程中,学生的程序化思维得到发展。

(四)编程过程鼓励试错,培养迭代思维

迭代思维是一种不断用变量的旧值递推新值的思维过程。在解决实体编程问题时,学生需要经历有计划地执行的过程,即“设计程序—测试程序—优化程序”。在这个编程过程中,教师引导学生亲自动手实践,并且鼓励学生大胆试错。学生在实践中一次次试错之后,反思结果,分析错误的原因,并思考如何进行调整和改进。这种反思和调整的过程是迭代思维的核心,它促使学生运用迭代思维反复测试与优化原型,直至达到理想状态。

比如,在KUBO实体编程“足球归位”一课中,学生需要“指挥”KUBO机器人将足球送到学校体育器材室,在保证KUBO机器人行走路线畅通的同时,设计最短行走路线,以最快的方式将足球归位。学生规划的路线多种多样,而想要得出最短路线,就需要在地图上反复摆放指令卡片并执行程序,不断试错,一次次进行程序迭代,以达到简化路线的目的(如图7)。

(五)编程作业水平迁移,培养概括评估思维

概括评估思维是总结与评价问题的解决办法,并扩展给定问题中的现有解决方案以覆盖更多的问题的思维过程。在实体编程教学中,低年级学生具备一定的反思评价能力,能够简单总结概括自己本次编程学习的主要过程与步骤。为使学生能够将所学编程内容应用到其他编程问题中,教师需要以作业的形式让学生进行练习与检验。由于学生年龄较小,认知发展还不够成熟,教师应设计与课堂上相似的编程问题作为作业任务,使学生能够将所学内容水平迁移到其他问题中去。在这个完成作业的过程中,学生的概括评估思维水平会逐步得到提升。

比如,在KUBO实体编程中,学生在课堂上学会了循环指令块的功能及使用方法。为了让学生巩固这一内容,教师可以设计不同主题但任务相似的作业,让学生在反思评价的过程中总结概括学习内容,并将其从一个场景迁移到另一个场景。在这个过程中,学生自身的概括评估思维会逐渐得到发展(如图8、图9)。

四、结语

本文针对小学低年级学生计算思维培养的实体编程教学进行了相关研究,通过研究发现,小学低年级学生处于计算思维迅速发展的关键时期,培养其计算思维具有必要性。编程教育是计算思维培养的有效方式,但对于小学低年级学生来说,实体编程更具优势。笔者根据计算思维的内涵,结合自身实体编程实践,以及其他学者的研究理论,分析总结出主题联系实际、内容学科融合、任务明确具体、过程鼓励试错、作业水平迁移等面向低年级学生计算思维发展的实体编程教育策略。期望以上结论能够给相关教师、学者提供一定的参考与借鉴。

面向小学低年级学生计算思维培养的实体编程教学具有重要的意义和潜力,但目前实体编程教学在小学低年级学生中的广泛应用还面临一些挑战和改进空间。日后,笔者将继续此方面的深入研究。

参考文献

[1] 黄蔚.中小学计算机教育发展聚焦信息技术:应从小培养信息意识和计算思维[N].中国教育报,2017-09-05(7).

[2] Wing J M. Computation thinking[J].Communications of the Acm,2006(3):33-35.

[3] 孙立会,胡琳琳.是什么影响了小学生的计算思维:一项基于五省市小学生的横向研究[J].中国电化教育,2021(7):52-61.

[4] 高宏钰,蒋云宵,杨伟鹏,等.学前儿童的计算思维发展情况及其影响因素:基于北京市101名4~6岁学前儿童的测试分析[J].现代教育技术,2023(7):44-52.

[5] 李宏扬,王吉.儿童计算思维教育价值与培养路径探索[J].中国信息技术教育,2022(17):85-88.

[6] 陈欢.经合组织:幼儿应发展早期计算思维[J].人民教育, 2022(17):20-21.

[7] 高宏钰,李玉顺,代帅,等.编程教育如何更好地促进早期儿童计算思维发展:基于国际实证研究的系统述评[J].电化教育研究,2021(11):121-128.

[8][14]多召军,刘岩松,任永功.编程教育促进儿童计算思维发展的内在机理与教学实践研究[J].电化教育研究,2022(8):101-108.

[9] 张银荣,黄昌勤,韩中美,等.协作编程有助于培养学生的计算思维吗:基于32项实验或准实验研究的元分析[J].现代教育技术,2023(8):77-86.

[10]Lye S Y, Koh J H. Review on teaching and learning of computational thinking through programming: What is next for K-12[J].Computers in Human Behavior,2014(41):51-61.

[11]傅骞,解博超,郑娅峰.基于图形化工具的编程教学促进初中生计算思维发展的实证研究[J].电化教育研究,2019(4):122-128.

[12]傅騫,章梦瑶.实体编程的教育应用与启示[J].现代教育技术,2018(12):108-114.

[13]王佑镁,宛平,南希烜,等.实体编程促进计算思维发展:工具与策略[J].中国电化教育,2021(8):92-98.

猜你喜欢

编程实体思维
思维跳跳糖
思维跳跳糖
思维跳跳糖
思维跳跳糖
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
前海自贸区:金融服务实体
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式