项目式学习架起编程教学和计算思维的桥梁
2022-03-18梁玉芳
梁玉芳
摘要:在中小学信息技术编程教学中,如何结合项目式学习培养学生的计算思维,是一个值得探索和实践的课题。本文作者以《冰上舞蹈——Python之循环结构》为例,运用项目式学习模式,通过创设情境、分析问题、探究实践、拓展交流、总结评价几个步骤,从分解思维、算法思维、抽象思维、发散思维、概括思维几方面提升学生的计算思维核心素养。
关键词:计算思维;项目式学习;可视化编程教学
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2022)05-0016-02
计算思维是信息时代每个人都应具备的基本信息技术核心素养,是人类在未来社会求解问题的重要手段。编程可以有效提升学生的计算思维,但传统的编程教学从语法知识入手,忽视了计算思维的算法思想,学生的计算思维得不到有效提高。项目式学习强调以学生为主体,教师创设相关情境,引导学生在探究问题的过程中理解基础知识,形成计算思维。
项目式学习与编程教学结合,更有利于提升学生的计算思维能力。因此,在项目式学习理论指导下,笔者以Python循环结构教学为例,在小学六年级开展了教学实践,以提升学生的计算思维。
● 创设情境,提出问题,训练分解思维
在本课的导入环节,笔者用2022冬奥会花样滑冰视频片段来创设问题情境:如何利用Python编程语言画出这些美丽的图案呢?然后揭示课题,引导学生思考,复杂的图案都是由简单的图案组合而成的,将复杂的图案一一分解,可得出解决问题的办法。
教学片段1:创设情境,提出问题。
教师播放冬奥会花样滑冰视频。在花样滑冰中有一项比赛为冰上舞蹈,要求根据规定的音乐、图案、步法和重复次数进行比赛。我们可不可以用Python编程来绘制这些美丽的图案呢?
教学片段2:分解问题,揭示课题。
教师出示图案,提出问题:这些图案应该如何绘制(如下图)?
师生共同分析,小组讨论,发现这些图案都有一个共同的特点:它们都是由基本图形通过不断的旋转重复而成。分析后,教师揭示课题:冰上舞蹈——Python循环结构。
分解问题是解决问题的一个重要方法,也是计算思维的一种,在编程教学中通过对问题的分解,将一类图案的绘制归纳分解成多边形的绘制,通过对多边形的不断重复,旋转形成美丽的图案,引导学生在接下来的项目学习中做到有的放矢。
● 分析问题,启发思考,培养算法思维
算法思维是计算思维的核心,那什么是算法呢?算法是解决问题的方法和步骤,有了算法,再将算法转换为编程语言来实现程序。本课中,教师引导学生根据学案分析图形绘制步骤,寻找规律,最后形成算法。
教学片段3:分析步骤,形成算法。
要画复杂的图形,需要先绘制基本图形,根据这一明确任务,通过问题分析引导学生进入思维分析:①是由什么基本图形构成?②如何绘制?③寻找规律:重复的步骤有哪些?重复了几次?
通过记录的方法将思维形象地表示出来,学生学会了初步使用工具解决简单问题。以上页图中左边那个图形为例,其基本图形为正方形,如何画正方形呢?教师引导学生用之前学过的知识将画正方形的步骤完整地写出来,并寻找规律。
通过分析,将问题从自然语言的描述向代码转化,并要求学生在程序中将效果实现,让学生从分析走向实践,从具体向抽象逐步转化。
● 探究实践,问题深入,锻炼抽象思维
抽象思维是计算思维的另一个重要维度,它是在分析问题时抽取最本质的特性形成概念。项目化学习最主要的环節就是学生的主动实践探究,Python编程更是离不开学生的探究实践。
教学片段4:深入问题,循环嵌套。
通过问题深入,进一步让学生思考:图中左边那个图形可以分解为几个正方形?旋转的角度及旋转次数之间有什么联系?分析循环体和循环次数,利用循环结构进行算法设计。
通过具体的实例将循环具象化,学生进一步理解了循环结构,并掌握了其初步应用。参照计算思维解决问题的方式,让学生进行确定问题、分析问题、模式识别、算法设计等一系列思维训练,能突破本课的难点,让学生体验将复杂问题变成简单问题的思维过程。这样的训练让学生不仅拥有了自主思考的机会,而且能够迅速提高计算思维能力。
● 拓展交流,自主创作,提升发散思维
在项目式编程教学中,教师应引导学生发散思维,形成多种解决问题的方案。在本课的教学中,教师可以先展示部分复杂图案,激发学生继续挑战的热情,然后提出创作任务和展示要求,最后小组评价反馈,选出最佳创作作品。
在本课中,学生学会了分析问题和解决问题的过程,从学会画多个正方形的编程到学会画任意个多边形的编程,在计算思维上,实现了由解决一个问题到解决一类问题的思维蜕变,思维也从“碎片化”变得更加“系统化”。
● 总结评价,深入思考,提高概括思维
课堂总结是一个不可或缺的环节,及时总结有助于学生进行知识的再次记忆,同时在总结的过程中提升概括思维。
在本课中,教师可引导学生利用思维导图的方式进行编程知识的总结和反思,将原本抽象的知识进行可视化处理,理顺不同知识之间的关联性,使学生完成知识体系的建构,提升思维的灵活性和深刻性。
● 结语
总之,在项目式编程教学中,引导学生在教学过程中“训练分解思维—培养算法思维—锻炼抽象思维—提升发散思维—提高概括思维”,不仅可以让学生学习到编程知识,还能有效培养计算思维,促进其核心素养发展。
参考文献:
中华人民共和国教育部.普通高中信息技术课程标准(2017年版)[M].北京:人民教育出版社,2018.
本文系江苏省管雪沨网络名师工作室、江苏省“十四五”教育规划课题“小学人工智能教育的项目化学习体系建构和实施策略研究”(编号:D/2021/2/148)阶段性成果。
3339501908204