例谈基于计算思维的 图形化编程教学策略
2021-05-10陈露遥
陈露遥
随着人工智能的快速发展,编程逐渐成为信息技术学科教学的主要方向之一,但在实际教学中,存在学生思维理解差异大,机械性记忆、训练,课程学习不成体系、关联性差等问题,这在很大程度上影响了学生对编程学习的兴趣,限制了学生思维的发展,无法有效提升学生的综合素养能力。面对这些问题,笔者在教学实践中将计算思维与图形化编程融合,从教学情境选择、教学目标设置、教学内容设计、教学活动设计和教学评价设计五方面进行策略探究,以期让课堂教学更富情境性与融合性,让教学设计更富整体性与规划性,让学科思维更富有序性与结构性,助力学生思维能力的提升。
● 教学情境:基于已有经验,有效链接生活
笔者基于日常教学经验的总结,发现已有经验与现实生活对学生有着较大的吸引力,因此,通过以往案例和生活情境引入和衍生到图形化编程教学,让学生基于真实的情境学习编程,能有效激发学生的兴趣与探索动力。
例如,在初识图形化编程软件时,对于控件的认识与操作、脚本的搭建,可将学生熟悉的搭积木、“俄罗斯方块”游戏等相似情境衍生到课堂,将不同形状的控件组合完成脚本搭建。又如,在学习绘制角色时,将之前学习画图的经验与方法引入到“角色”新建、绘制中,在提升学生学习动力的同时提高课堂效率。将这些已有经验引入图形化编程教学,与学生已有认知建立有意义的关联,让学生在现有认知与概念的基础上学习新技能,把原有对积木搭建的思维迁移到编程脚本的搭建上,更容易促进学生对编程概念、模块、语法与操作思维、方法的理解,以计算思维能力的迁移与转化激发学生学习激情。
● 教学目标:分层设置目标,关注学生差异
学生是教学的主体,教学设计首先要考虑学生的特征与差异,了解学生真实的学习能力与需求。在图形化编程教学中,融入计算思维问题解决的层次性,按难易程度分层设计教学目标,即将教学目标按学生学习能力层次划分为入门、进阶、提高三个层级,让不同能力程度的学生对应达到不同层次的教学目标,这样能使每一位学生都能在原有基础上得到提升。
例如,在“火柴人跳舞”一课中,针对“掌握绘制角色造型和切换造型的方法”目标,可将其按入门、进阶、提高三个层级进行细化。①入门目标:能够绘制3种简单的“火柴人”造型,学会利用“下一个造型”与“等待1秒”控件的结合,重复叠加起来让火柴人跳起来。②进阶目标:能够绘制3种不同的“火柴人”造型,且造型美观;学会运用“下一个造型”“重复执行”与“等待1秒”控件的结合,实现火柴人跳舞的效果。③提高目标:能够绘制3种连续变化的“火柴人”造型,且造型美观;学会运用“将造型切换为……”“重复执行”与“等待1秒”控件的结合,让火柴人跳舞动画更加逼真。
● 教学内容:系统设计内容,建构有序思维
在圖形化编程教学中,融入计算思维问题解决过程的结构化与思维活动的有序性,能使教学内容设计更加有序,更赋逻辑。在实际教学中,很多学生在运用编程进行问题解答时,往往无法准确、有效地链接前后所学习的知识、技能,只能零散地呈现不完整的程序语句,使得知识零存而无法整取。围绕教学目标,对教学内容进行系统性、结构性设计,让零散的知识有序地存储到学生的认知中,即将知识按类别划分、设定标签,与软件中对应的模块关联,并在教学过程中潜移默化地熏陶、引导学生模仿与思考,有序地输入知识,能帮助学生建构自身的知识体系,便于知识的有效激活与运用。
例如,在“火柴人跳舞”一课中,要实现“火柴人跳舞”的动画效果,首先,要明确本课主要教学内容分为三部分:①创建新角色。②让“火柴人”跳起来,实现动画效果。③改变舞台背景,营造绚丽多彩的舞台;按照先后顺序开展教学。其次,划分类别、设定标签:将“火柴人”绘制这类使用绘图编辑器的应用,归入“绘图工具”应用库中;将“火柴人”跳起来、营造绚丽舞台这类造型切换、背景颜色改变的应用,与编程模块中“外观”建立联系,归入“外观”应用库中;对于需要重复执行的程序,与编程模块中“控制”建立联系,归入“控制”应用库中。让每种应用类型、方法,与程序模块建立联系,归类到相应的知识应用库中,建立同一库中新旧知识的联系,结构化处理各类编程应用,帮助学生归类、划分知识结构。以计算思维的结构化、有序化设计教学,提升学生的编程思维能力和计算思维能力。
● 教学活动:微项目式教学,强化问题解决
编程课程是基于程序基础语法知识、算法思维,培养学生问题解决能力和思维能力的课程,强调知识技能到思维能力的转化。在图形化编程教学中,将知识、技能融入到动画、情境故事、小游戏等微项目作品中,让学生基于特定的项目任务或问题,探索并理解编程的模块功能应用与问题解决过程,在实践体验中强化对学生计算思维能力的培养。
1.细化项目模块,优化问题解决
在项目活动设计中,按照分解、模式识别、抽象、算法思维、评估和迁移的思维过程设计活动。①分解:有效组织学生对活动总目标进行分析、分解,按照教学内容设计把总项目分为若干个相关联的子项目,将知识要点、内容与程序模块功能融入到子项目中,明确各子项目的目标任务,以驱动维持学生对问题探究的兴趣与激情。②模式识别:依据子任务目标,引导学生探索问题解决的最优路径,将目标任务或问题转化为可实施的问题解决流程图,让学生系统性地理解问题解决的思路与过程。以连贯的问题对该过程重用,明确程序解决问题的方法与思维逻辑。③抽象与算法思维:将流程图的每个关键步骤,转化成编程模块,并组合搭建脚本,通过不断地运行调试、迭代完善程序,助力学生理解模块的功能用途。④评估:提供同伴间互动交流的机会,表达并分享经验打造共生资源,通过真实的问题解决体验和项目展现、质疑、辩论,寻求模块功能的真实应用和用法,强化学生知识技能的运用与观察能力。⑤迁移:扩展程序功能,进一步优化程序,强化学生对所学知识、技能的运用能力,提升学生的问题解决能力和知识迁移能力。
例如,在“小猫出题”一课中,要求由“小猫”随机产生2个加数来构成加法计算题,学习者输入答案,程序自动判断答案的正确性,学习变量的建立方法、计算与比较大小。①分解任务:引导学生分析问题,并把总项目分成三个子项目——“小猫”随机出题、学习者回答、“小猫”判断答案;每个子项目融入相应的知识点,在“小猫”随机出题子项目中学习变量的建立与赋值,在“小猫”判断答案子项目中学习变量的计算与比较,在学习者回答子项目中解决“询问”的问题。②绘制思维流程图:分别在每个子项目中将问题解决的思维方法转化成流程图。③寻找程序模块,搭建脚本,根据流程图的思维路径,搭建脚本,运行调试效果。④学生展示交流:对学生作品进行评价,表扬好作品,发现问题与不足。⑤拓展迁移:将加法计算题修改成乘法运算题,然后将出题数量设置成5道,让学生自主探索,提升学生编程思维的迁移能力。通过整个项目作品的制作,深化对学生计算思维观念的培养,让学生系统性地理解问题解决的思路与过程。
2.搭建学习支架,助力思维发展
中小学是编程教育的起始阶段,学生对图形化编程中的模块功能、语法涵义较为陌生,学习探究中难免会遇到一些难以理解或不了解的知识和过程方法,教师应及时搭建相应的学习支架,为学生排疑解难,有效促进学生的探究效能和思维发展。
①搭建知识支架。运用计算思维相关概念解释说明编程中涉及的模块、语法知识等,促进学生对各模块功能用法的了解,完善学生的程序知识结构和思想,提高学习效率。如在运用“变量”时,可将其形容设计为会变魔法的盒子,能随机变出不同的数字,结合形象的图例帮助学生理解。
②搭建思維支架。图示化的项目分析与问题解决框架,为学生解决问题提供思路和算法思维观念的引导,指明学习方向。例如,在搭建脚本过程中,教师可在投影上展示师生共同分析的程序思维流程图或算法思维导图,供学生搭建脚本时参考问题解决的过程,发展学生的逻辑思维能力。在支架学习运用相对成熟时及时撤掉,让学生能够独立而有效地完成任务,形成自己的认知与思维。
● 教学评价:持续跟踪教学,多元融合评价
教学评价是教学过程中的一个重要环节,全面地了解学生学习状况,及时反馈教学效果,是课堂教学质量提升的关键。在基于计算思维的图形化编程教学中,不仅要注重对学生学习过程的观察和学习目标达成度的评判,而且要加强对学生计算思维能力发展情况的考查。
例如,在教学过程中,可从学生的课堂参与度、自主学习能力、协作能力和创新情况四个维度对学生课堂表现进行观察总结,通过自评(占30%)、组内互评(占30%)和师评结合(占40%)的方式综合评测学生的表现,及时反馈教学设计与关键环节的有效性。在课程结束后,利用Dr.Scratch工具对学生提交的编程作品进行评价,从作品的代码或功能方面了解学生的计算思维能力发展程度。与过程性评价相结合,分析出学生在哪些知识点、哪一教学环节存在困难,精准反馈,有利于教师针对性地指导学生,助力学生编程技能的提高,进而提升学生计算思维能力和课堂学习成效。
计算思维是学生编程学习和思维能力培养的关键素养,也是数字时代的一项基本素养。对编程兴趣的培养与计算思维能力的提升,在于选择适合课程的教学策略和方法。面对不同学生的差异,教师应立足于图形化编程特点,有效融合计算思维思想,在项目探索中促进学生理解,加强学生思维表达练习,提高学生问题解决能力,助力学生计算思维能力的培养,提升编程教学效能。