小学信息科技学科计算思维培养的“四化”策略
——以《“韩信点兵”的图形编程实现》为例

2023-07-26 09:53孙婷婷
小学生 2023年6期
关键词:图形化编程情境

☉孙婷婷

2022 年义务教育阶段信息科技课程标准颁布后,“计算思维”成了热门话题。熊璋教授说:“计算思维是信息科技学科里最本质的核心素养,课程的实施一定要突出解决问题,并且是最真实的问题。”那如何培养学生的计算思维呢?计算思维的培养落实到课堂教学实践中,就要遵循学生思维发展规律,优化组织教学内容,精心设计课堂主题活动,有效落实课堂探究活动以及跟踪评价活动。[1]面对学生思维训练匮乏、新旧教材更替过渡、教学内容难以把控、项目迭代快等现状,笔者在教学中设计实施了“韩信点兵”的图形化编程项目,借以探索面向计算思维培养的“四化”策略研究,希望对学生成长、课程建设和学科发展有所帮助。

一、计算思维的重要性

(一)课程标准的内在要求

国内外专家从不同层面界定了计算思维的内涵。结合2022 年版新课标中关于计算思维的定义,本文认为,计算思维是一种问题求解思维,其一般经历抽象—形式化表达—分解—建模—自动化。具备计算思维的学生,能够对问题进行抽象、分解、建模,并通过算法,形成解决方法,并最终验证、优化方案,迁移运用其他问题(见图1)。

图1 计算思维轨迹

(二)计算思维发展的内在规律要求

计算思维是人类高阶思维之一,是以解决计算问题为出发点,具有收集数据、抽象特征、建构模型、思维框架等解决问题的能力,并且能迁移到其他领域。根据皮亚杰儿童认知发展理论,5 ~6 年级这个年龄段的孩子思维模式是以命题形式进行的,即能够进行逻辑推理、归纳总结、理解符号的意义,具备了系统思维能力,故此阶段提供编程化项目教学是锻炼学生计算思维发展的黄金时段。

二、面向计算思维培养的“四化”策略

计算思维是核心素养最本质的构成要素之一。而激活计算思维需要存在特定的困惑、疑虑或问题等,并在一定的加工处理过程中发展。因此,在培养计算思维的过程中,真实的情境是前提、形成的概念是原料、图形化编程是手段、素养导向的评价是目标,对这些环节进行不同的处理,关系到学生计算思维的发展。

笔者试从情境、问题、技术、评价四个方面出发,提出问题化、条件化、能力化和结构化的“四化”策略,以提升学生的抽象、认知、分析和迁移的能力,从而发展学生的计算思维。

(一)情境问题化,提升抽象能力

根据第三学段(5 ~6 年级)孩子的年龄特性,他们的认知发展处于从具象内容到抽象内容的过渡时期,所以如何将具象的情境过渡到抽象的计算机能够识别的程序,继而形成系列问题,引发学生主动思考?这是笔者首先平衡考虑的问题。

情境是问题产生和运用的前提。相对于孤立地向学生抛出一定的问题,特定的情境不仅能够激发学生的学习兴趣,还能通过融合其他学科元素,让学生从不同的认知角度和思维角度掌握学科知识,理解问题之间的联系、需要的条件和范围,等等[2]。“情境问题化”就是舍去故事成分,打破思维限制,对主要问题进行符号化精简,根据项目探究的需要抽象出关键问题,在目标引领下设计系列问题,再将问题转化成计算机可以处理的脚本,进而促进目标达成的系列学习活动。

例如,“韩信点兵”情境:刘邦命韩信带兵打仗,结果带去的1500 名士兵,战死四五百人。刘邦又让韩信点兵,告诉其剩余人数。只见韩信首先让士兵每3 人一排,多出2 人;每5 人站一排,多出3 人;每7 人站一排,多出2人。由此,他很快算出了剩余士兵人数。请你在x-ding 软件中编写图形化程序脚本,让计算机实现韩信的工作。

在学生利用原有知识解决这个问题之前,首先要提取出核心关键点,如关键数字,并将其用数字化、符号化描述,最后实现自动化解决。其实,抽象提炼的过程,就是学生问题重构的过程。那怎么进行二次描述呢?

通过教与学的追问讨论,故本情境可重新描述如下:一个数在1000 ~1500 之间,它同时依次满足“被3 除余2、被5 除余3、被7 除余2”这三个条件,问这个数是多少?通过简略、提炼,排除干扰信息,降低解决问题的复杂性,抽象出问题解决的核心要素,促进学生主动思维,提升学生抽象能力。

(二)问题条件化,提高认知能力

所谓“问题条件化”,就是教师基于学生前概念认知体系以及思维习惯,根据教学内容的形式、目标等,不断跟进问题难度,寻求思维角度,让学生掌握知识,弄清问题本质,明白实现应用的条件,最后推敲验证,提高学生认知能力。而要使问题易于处理和可计算,学生要形成一定的概念即问题形式化表达,例如选择合适的逻辑关系、条件之间的因果关系等,寻求相应的问题求解策略,建立相应的问题求解模型。在此过程中,学生能够主动提炼与核心问题相关的知识,具备了对信息进行有效判断和选择优化的能力,计算思维的培养在问题求解过程中逐渐渗透。

例如,在上述“韩信点兵”问题中,在知道“总人数”“战亡人数”这两个关键要素的基础上,知道人数范围是1000 ~1100 之间,同时还需要依次满足三个条件,学生需要考虑它们之间的关系,梳理出相应的计算模型:将人数基数设为1000,一共重复101次,三次条件逐个判断,否则人数加1,直至脚本停止。

此时,学生知道程序脚本表达,用循环结构中的重复语句让计算机自动化检索执行;用选择结构中的条件判断语句给出相应的结果;用顺序结构实现依次执行。结合前面学生的原有认知,在此基础上,是否可以选用其他的计算模型,优化实现同样的效果呢?

进一步可在上述算法基础上,增加如下条件:将三次判断修改为一次判断,精简脚本,优化程序。此时,从原来的顺序结构,变成了“逻辑与”控件并列算法,描述如下:将人数设为1000,且每次循环加1,重复执行,逐个判断从1000 ~1500 中的每个数是否同时满足题目中要求的3 个条件,直到“人数>1500”时,停止脚本。若满足,将符合条件的“人数”添加到“解”的列表中,最后结合条件,寻求最接近的答案。

通过两种不同计算模型的比较、条件的变换,引发学生问题的思考,让学生可以寻求多角度解决问题的方法,感悟优化脚本的便利,提高学生认知能力。

(三)技术能力化,增强分析能力

技术能力化就是学生将获取的知识内化成一种能力,这种能力能够借助计算机辅助其解决问题。例如计算机编程,学生需要掌握“抽象、建模、算法、编程、调试、优化”的方法,明确每个步骤的关联,设计流程图,并选择比较合适的算法。技术能力化的过程就是计算的过程,是算法实现的过程,是学生计算思维提升的过程。

一个程序算法的实现,如果在课堂上只是简单、直接地用语言表述抽象的过程和规则,那么课堂会显得枯燥乏味,学生缺乏兴趣,导致记忆效率低下。而流程图是具象的。借助流程图不仅可以聚焦学生思维,还能厘清整个项目脉络,流程清晰,提升学生分析能力。

学生通过观察、思考、描述、评估流程图,引发学生的认知冲突,将理论引向实践操作,激发学生主动建构。在此过程中,学生的算法分析能力也得到了提升。

在上述“韩信点兵”程序设计中,计算模型确定以后,需要设计相应的算法,然后将算法用编程语言描述,流程图显示。在构造算法时,可以采用模块化的思想,将大问题拆解细化成若干个小问题,再通过解决这些细小问题,组合得出原来大问题的解。针对“韩信点兵”程序设计,首先采用判断结构,确定判断条件为“人数除以3 余2,且人数除以5余3,且人数除以7 余2”,然后将合适的人数加入列表解中,否则,人数加1 继续判断。接着采用循环结构,将判断条件加入到循环体中,实现整个问题的求解过程。

学生后续再接触类似的情境问题时,便具备了分析问题与解决问题的能力,条理性更加流畅,全局统筹思想扎根,计算思维得到了显著提高。

(四)评价结构化,增进迁移能力

在上述“韩信点兵”程序设计中,学生能够根据算法,写出程序脚本。那学生调试成功是否意味整个活动的结束?当然不是,学生写出脚本只是解决了这个学科知识,而让学生能够举一反三,具备迁移能力,才是计算思维培养的核心目标。

评价结构化就是每个阶段都要设计可以证明学生达成学习结果的证据,教师通过评价目标、评价标准、评价任务和评价方式等要素,引出学生计算思维核心素养所蕴含的关键能力,分析内在关联,并推断他们的逻辑关系,建构联系,进而内化知识,迁移应用,促进计算思维素养转化(见图2)。

图2 评价结构模型

最后,为了检验学生是否掌握了“韩信点兵”的方法,笔者还设计了与之类似的“孙子算经”拓展活动:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?请同学们编写程序来计算”。

通过此活动反馈,查阅学生是否具备发现问题、抽象问题、分解问题、问题建模并最终实现计算机执行的自动化结果,并考察学生触类旁通、迁移的素质和能力,教师依据评价结构,渗透计算思维。

三、总结与反思

“韩信点兵”问题是一个经典的数学问题,不仅为学生使用图形化编程提供了契机,而且是新课标中鼓励广大中小学教师主动探索的一个范例。它融合了信息科技、语文、数学等学科知识,将图形化编程的基础知识、算法、程序控制三种基本结构等内容贯穿整个教与学的活动当中。信息科技学科由原来的学科割裂,渐变,过渡到了学科融合。从某种意义上来说,往后的课程会打破学科界限,将以大单元跨学科的课堂教学设计成为主流,学科间彼此渗透、知识点互相交叉成为必然,最终形成学科大概念,培养学生学科核心素养。

作为图形化编程学习项目,把握其难易程度成为教师的首要考虑要素。所以,教师需要基于本校的真实学情,选择有适应性、开放性、拓展性、延伸性的图形化编程项目开展教学。魏雄鹰说:“大单元的项目设计和策略是通过创设情境,渗透学科核心素养的形成;通过巧设项目活动,提升核心素养水平;利用多元评价,促进学科核心素养落实。”结合专家引领,教师在教学中要运用“四化”策略,通过“教、学、评”一体化培养学生计算思维。

猜你喜欢
图形化编程情境
不同情境中的水
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
创设情境 以说促写
纺织机上诞生的编程
LKJ自动化测试系统图形化技术研究
护患情境会话
特定情境,感人至深
运用图形化听写式复习,构建高效地理课堂