APP下载

让非编程教学绽放“计算思维”火花

2021-07-11史敏敏

中国信息技术教育 2021年12期
关键词:计算思维编程动画

史敏敏

自周以真教授提出计算思维的概念以来,关于计算思维培养的研究与实践越来越多。计算思维作为信息技术学科核心素养之一,与其他学科思维相比有何独特性?计算思维的内涵多元,有何本质特征?除了程序设计,如何在非编程模块的教学中培养计算思维?针对这些问题,笔者进行了思考与探索。

探索:非编程教学中计算思维的培养模式

程序设计是培育计算思维的沃土,因为学生可以主动构建自动化规则,使用明确而有限的指令将解决问题的思路映射到计算机世界,调试无误后让计算机自动执行。但是,程序设计是培育计算思维的唯一途径吗?能否在非编程模块的教学中另辟蹊径,探寻“可计算”火种,绽放“计算思维”火花呢?带着这些疑问,笔者对非编程教学中计算思维的培养模式进行了探索。该模式如下页图1所示。

1.面向问题解决

人类历史就是一部问题解决史,人类解决问题的过程可分为发现与分析问题、设计解决方案、实施与验证方案、系统维护,继而发现新问题。在这个过程中,主观能动的思维活动是解决问题的关键,因此,培养计算思维与解决问题密不可分。

计算思维培养不能泛化,不能认为使用计算机等数字化工具来解决问题就是培养计算思维。在非编程教学中,并不是所有的问题解决过程都指向计算思维,其落脚点在于解决问题的方案是否固化在了计算工具之中,是否可以被反复执行且每次都严格按照解决方案执行,是否能自动化执行且不需要人脑的参与。

2.指向抽象与自动化

《普通高中信息技术课程标准(2017年版)》提出:计算思维具体表现为解决问题中的形式化、模型化、自动化、系统化。抽象是方法,贯穿于整个思维活动;形式化与模型化是抽象结果的不同表现形式;自动化是抽象的目标,但抽象往往难以直接抵达自动化,需要经历形式化表达与模型化构造;最后迁移到与之相关的其他问题解决中,形成系统化的思维方法路径。

计算思维培养不能狭隘化,不能认为没有编写程序来解决问题就无法培养计算思维。学生并不是在学习程序设计的那一刻才开始拥有计算思维,计算思维在学生体验无处不在、时刻发生的“计算”时就有所渗透。组织什么类型的数据让计算工具进行处理?如何合理地设置参数让计算工具处理得更好?按照计算机科学领域的什么思想方法构造解决问题的模型,从而与计算工具内部的自动化运行不谋而合?如何根据运行结果优化解决问题的模型?这些问题都是计算思维在学生头脑中的体现。

探讨:非编程教学中培养计算思维的案例

基于上述分析,笔者选用“制作多媒体作品”模块的教学内容,以《让幻灯片动起来》一课为例构建通达计算思维的教学模式,以期探究计算思维在非编程教学中的培养。

1.教学模式的构建

(1)教学分析

教学内容是基于学生的PPT已初具规模,进一步学习创作动画的方法,为作品增添动感和趣味。本单元开展项目学习,要求学生围绕主题“好书共享”创作一份完整的演示文稿,并分享自己最喜爱的一本名著,体会数字化工具协助演说的优势,即有条理地表达观点,可视化地呈现想法。

教学重点是掌握添加动画效果和调整动画顺序的方法,难点是根据需要合理地设置动画。学生对学习动画具有浓厚的兴趣,有个别学生在前期制作PPT时已探索了动画的某些功能,但常会忽略动画效果与内容表达的统一。

(2)模式构建

笔者构建的教学模式如图2所示。以“如何生动表现名著中的精彩故事”这一问题需求作为教学切入点,将PPT动画创作与现实世界中导演拍戏相联接,带领学生进入“导演”角色。指导演员表演看似是一个简单问题,但要把“导演”的思维模式固化在计算机中实属不易,因为人与人之间的思想交流具有主观能动性,而计算机的处理过程看不见摸不着。基于问题情境的创设,学生以分析动画情节、表达动画要素、构造动画模型、调试动画效果、推广动画创作为活动主线开展学习,始终处于抽象、形式化、模型化、自动化、系统化的计算思维方法路径之中去解决问题,从而达成学习目标。

2.计算思维方法路径的培育

(1)对动画情节的抽象

抽象的目的是剔除问题中不必要的细节,提取问题的关键要素与基本特征,这是将现实世界问题转化为计算机可解决问题的关键一步。指向自动化的抽象主要体现为对象的抽象和规则的抽象:每个对象有各自的状态,每种状态可通过若干个属性和行为来描述,属性和行为反映了对象最核心的内容,用以区分不同的对象;现实中描述问题的规则往往错综复杂,规则的抽象就是从问题描述中梳理出规则,且这些规则可以转换成计算机可执行的表达形式。

教学中,笔者以问题链引导学生构想故事画面,分析动画情节,结合对导演工作的认知,对动画中对象的属性、行为以及对象之间的互动规则进行抽象(如上页图3)。

以“孙悟空玩转金箍棒”为例,对象和规则的抽象如表1所示。

(2)对动画要素的形式化表达

形式化表达是抽象结果的表现形式,即提取对象属性、行为、规则等核心要素之后,以计算机可执行为目标,合理组织数据,用自然语言、流程图等方式清晰地表达问题,精简的符号是形式化的高级表现形式。形式化表达有助于推动学生对问题求解过程的深入思考,促使学生迸发无限创意。

教學中,不同学生具备的抽象能力不同,形式化程度也有所区别。有的用简单的自然语言表达,有的用思维导图表示某个对象及其可操作的属性、行为、规则等,还有的用流程分解对象的动作序列,以表达动作发生的先后顺序。之后展开小组活动,探讨表达形式是否完备?是否可操作?有了这样的学习体验,今后在分析问题阶段学生会尽可能地以形式化的方法表达抽象结果。

(3)对动画模型的构造

在形式化表达的基础上,判断、分析与综合各种信息资源,有序组织计算机可识别的求解步骤,逐步形成解决问题的完整方案。构造是为解决问题提供一个框架,对构造的模型进行初步评估也是重要环节,是学生对方案的自我验证。学生已在头脑中对计算机解决问题的过程进行了整理和规划,且这种整理和规划一定是基于对自动化特征的理解。

教学中,模型化的过程可借助流程图、思维导图等可视化工具作为学习支架,也可以在脑海中直接形成。真正的学习支架是帮助学习者建构知识、获得能力的框架,提供必要的支持。一旦学习者能够独立解决问题,学习支架就像建筑竣工后的脚手架,会被逐渐撤离。由于需要梳理多个对象的多个关键要素,表格以直观的分类、有序的排列等优势脱颖而出,可以在行、列之间将关键要素之间的关系诠释得清晰明了。在完成表格的同时,动画剧本已经构造成型。

以“孙悟空玩转金箍棒”为例,构造的动画模型如表2所示。

(4)对动画效果的自动化调试

构造的模型未必十全十美,需要在自动化的计算工具中验证解决问题的方案。计算工具或系统相当于一个黑箱,学生不知道也无需知道其背后蕴含的自动化机制。在课堂上,学生的大部分时间是处于与计算机或网络的“人机对话”状态,学生将自己的构想转变为计算机可执行的操作,计算机立刻给予响应和反馈,速度快到没有给学生思考的余地。这种响应与反馈本身就是一种评价,只不过这种评价时常被学生忽略或不被学生所理解。此时需要引导学生去解读计算机提供的隐性评价语言,不断调试与完善。自动化调试的环节培养了学生缜密的、基于自动化的推理能力,强化了学生对抽象、构造与自动化的理解,从而感悟计算机世界解决问题的方法观。

教学中,部分学生对动画窗格视而不见,没有透彻地认识到动画窗格其实涵盖了动画的各项精髓(如图4),值得深入挖掘。当学生能有效运用动画窗格,通過动画窗格解读计算机正在执行的动画剧本时,就能在调试中体会到自动化与再构造的快乐和成就感。在反复调试的过程中,学生不断地将预设的动画模型与PPT反馈的动画效果进行比较,进一步调整方案直至问题解决(如图5)。

(5)对动画创作的系统化推广

最后,归纳提炼解决问题的系统性策略,聚合为优化的有机整体,形成解决同类问题的通用方案,并将其迁移到与之相关的其他问题解决中,不断拓展形成创新创造。最终目的不是让学生成为技艺精湛的动画大师,而是让学生在导演动画的过程中,把问题从不能解决转变为计算机可解决、可执行、可识别、可调试运行成功。

其实,学生是在现有的计算机系统的基础上再次进行抽象、构造与实现自动化,固化了所构想的精彩故事。对于欣赏PPT的观众而言,这是一个更加智能、更加“傻瓜”的计算工具,因为他们只需要单击“放映幻灯片”按钮,就能品读学生对这本名著的精彩介绍,就能欣赏融入了学生思维方式的多媒体作品。至于如此美妙的多媒体作品是如何创作的,拥有同样计算思维的人将会进一步还原与解构,会有一些与普通欣赏者不一样的、出于好奇心的、基于计算思维视角的思考,会设想动画模型,猜测核心功能,并通过一些输入和系统反馈来验证自己的想法。

结语

相信随着大数据、人工智能等的蓬勃发展,计算思维的内涵将被进一步挖掘与重构,期待计算思维教育会在更广阔的领域和更长远的时间跨度上开展。

猜你喜欢

计算思维编程动画
玩游戏学编程,Blockly Games上手玩
纺织机上诞生的编程
编程屋完成数百元万天使轮融资
学编程,先画画
揭秘油画动画 逐帧堆砌的精致艺术
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养
动画总动员