欧昭旋
【摘要】本文以佛山市小学信息技术小学五年级部分课程为例,讨论如何借助流程图培养小学高年级学生的计算思维能力,通过三个不同的案例从不同角度来讨论如何利用流程图帮助学生建立模型,从而促进计算思维的养成。
【关键词】流程图;计算思维;问题解决能力
一、引言
人工智能时代来临,小学编程教育已成为趋势,然而小学编程教育的目的是不是就是教会学生编程呢?实际上小学编程教育并不是要教会学生编程,而是将编程教育作为一种载体去培养学生的计算思维,教给学生一种问题解决的能力。但是要如何将这种抽象的思维方式教给学生呢,我们可以借助一种可视化的学习工具将复杂的、不可视的思维过程和思维方式清晰得呈现出来。而流程图正好符合这种学习工具的要求,它可以将复杂的问题过程化、直观化。
本文将以佛山市小学信息技术五年级部分课程为例,讨论如何借助流程图辅助小学高年级学生形成计算思维,提出教学设计方案,并在佛山市顺德区均安中心小学展开教学实践,从流程图应用于小学编程教育的策略与实施等方面进行探索。
二、可行性分析
(一)学生思维方式分析
根据皮亚杰的认知发展理论,小学高年级的学生正处于形式运算思维期。这个时期,儿童发展到抽象逻辑推理水平,思维形式摆脱思维内容,可以关注假设的命题,可以对假设的命题进行推理演绎。这恰恰为培养小学高年级学生的计算思维提供了认知条件,而难点在于如何将这个推理过程清晰化、直观化,流程图刚好可以将整个过程呈现出来,所以就学生思维方式来分析,借助流程图辅助小学高年级学生形成计算思维这个方式是可行的。
(二)学习工具可行性分析
本文的实验对象是佛山市顺德区均安中心小学五年级的学生,佛山市小学五年级上学期的學习内容是图形化编程,所使用的软件是编程猫公司开发的源码编辑器。这款编程软件摆脱了传统程序编程给人留下的复杂、枯燥的印象,它的编程方式非常简单,像搭积木一样,将代码拼接完整即可,学生在编程过程中不需要去记忆那些复杂的代码,编程过程所见即所得,更能够调动学生的学习兴趣。
而且这种积木式编程与流程图一样都是可视化的,将流程图转化为对应的积木式代码相对来说比转化为传统的程序代码来说更加容易。利用流程图作为学习工具,能够帮助学生将解决问题的想法和步骤映射到流程图中,学生再将流程图转化为对应的积木式代码,获得程序的解决方案,因此就学习工具来说,借助流图辅助小学高年级学生形成计算思维这个方式是可行的。
三、策略与实施
根据高中信息技术课程标准对计算思维的定义,计算思维是指个人在计算机技术领域和形成问题解决方案过程中的一系列思维活动。具有计算思维能力的学生,可以界定问题、抽象特征、建立建构模型、并在信息活动中合理的组织数据;在形成解决问题的方案之前,需要经历问题判断、内容分析、整合信息资源,以及确定如何运用何种算法流程;总结利用计算机解决问题的过程与方法,并迁移到与之相关的其他问题解决中。我们可以将计算思维总结为以下四个步骤,如图1:
流程图可以应用于计算思维的整个过程,学习者自主思考,由简单、基础的子问题着手,并借助流程图中的框线和符号逐渐抽象、设计问题解决的计算逻辑,最终建模型,并通过归纳推理进行总结和迁移。其中,流程图在计算思维的第三个步骤建立模型的应用最为有效,下面我将通过三个不同的案例从不同角度来讨论如何利用流程图帮助学生建立模型,从而促进计算思维的养成。
(一)主题任务流程化
在信息技术课中,学生有时候要完成一些比较复杂,非单一的任务,对于这类任务学生可能会比较难以下手,不知道如何去建立模型,这时候我们就可以通过流程图将复杂、抽象的问题具体化,引导学生将一个复杂的、非单一的主题任务流程化,让学生明确各个步骤之间的时序。
例如,佛山市小学信息技术五年级上册第三课《画正多边形》中循环的嵌套这一知识点,学生需要利用循环的嵌套来绘制由正多边形作为基本图形的组合图形,如图2。学生一开始看到这样一个组合图形可能会不知道从何入手,于是,笔者先向学生展示了这个图形的绘制动画,引导学生利用流程图梳理出这个图形的绘制步骤,如图3,这就是我们所要完成的一个主题任务,但是观察图三发现,这个流程图的步骤还不够具体,因此我通过提出四个问题(如图4),引导学生继续加工流程图,从解决一个复杂的问题,分解为解决几个简单的小问题,将整个步骤更加具体化,并要求学生对每个步骤的注意事项进行标注,得出图5。通过梳理、和加工,绘制组合图形的步骤和执行时序一目了然,这时,学生很快就能根据流程图拼接出相应的程序,如图6。最后,归纳总结出绘制组合图形的规律(如图7)。
通过绘制流程图的过程帮助学生理清编程思路,学生在绘制流程图的过程中,层层分析、分解问题,将非单一的复杂任务简单化、流程化,从而建立模型,找到问题的解决方案,并通过思考和修改将其运用于同类问题的解决过程中,例如,由绘制六个正四边形的组合图形的脚本,归纳出绘制正多边形组合图形的规律,进而绘制出其他正多边形的组合图形。
(二)问题求解流程化
通过绘制流程图帮助学生提取问题的核心,进一步分析解决问题,将复杂的问题分解为简单可行的操作。在信息技术教学中,除了课堂教学,我们还可以将流程图运用于学生的竞赛培训中。例如,在培训学生参加循线小车比赛时,学生遇到的难题就是理不清如何用两个循线传感器去判断小车的行进方向是否偏离轨道。那么,如何借助流程图帮助学生找到问题的解决方案呢?
1.提出问题清单
2.建立模型
在列出问题清单后,引导学生分析在不同情况下,左右两个巡线传感器返回的值与0大小的对比,来判断小车是否偏离轨道,以及应该执行何种操作,将整个思考的过程绘制成一个流程图(如图8),利用流程图来梳理解决问题。
1.获得问题解决方案
通过流程图理清编程思路,学生会快就能利用图形化编程软件编写出对应的程序(如图9)。通过借助流程图,引导学生提取问题的核心,将一个复杂的问题,层层分解、寻找解决问题的方法,学生在解决问题的过程中一步步梳理编程思路,最终建立为一个完整的模型,同时也在解决问题的过程中潜移默化地培养了学生的计算思维。
(三)项目分析流程化
在综合应用案例的学习中,可能会涉及多个不同角色的不同操作,通过绘制流程图可以帮助学生分解任务,理清每个角色所要实现的效果以及编程思路。以佛山市小学信息技术五年级上学期第七课《接苹果》为例,结合计算思维的四个步骤来讨论如何利用流程图如何展开项目分析,从而促进计算思维的养成。
2.问题识别与抽象特征
首先通过试玩游戏和小组讨论环节,引导学生分析游戏的规则,将需要解决的问题提取出来,并根据不同的角色将问题进行分类,从而将一个复杂的任务,分解为两个部分,并将每个角色所要实现的功能通过文字语言描述出来,抽象出问题的特征(如表1所示)。
3.建立模型
按照文本要求,通过流程图将每个角色相应的功能表示出来(如图10所示),帮助学生梳理所有角色的每个动作之间的先后顺序,引导学生根据流程图搭建出对应的程序,从而提高学生的逻辑思维能力和算法能力。
1.问题迁移
在每个项目结束后,我们可以通过一个拓展任务,让学生进一步回忆程序的设计逻辑,并尝试对建立的模型进行调整和修改,思考如何将这个模型运用于其他问题的解决上。例如,在接苹果这一课,我们可以提出让学生继续加工这个游戏,试试看模仿苹果的脚本,加入炸弹角色,设计游戏结束的条件,以此提供给学生进一步思考和優化的机会,这个过程其实就体现了计算思维的优化过程。
四、结束语
由于计算思维不可视的特点,所以在计算思维的培养上我们需要更多的关注如何帮助学生去呈现整个思维过程。在探索中发现,流程图作为一种可视化的学习工具,能够有效地帮助学生提取问题的核心,梳理思路,建立问题解决的模型,从而促进思维的发展。我们要根据不同的教学情境,引导学生合理使用流程图。因此,我们需要从不同的角度去研究流程图在信息技术课堂的应用,希望更多的老师加入到这一项研究中来,让流程图在计算思维培养上的应用更加科学。
参考文献:
[1]叶浩生.西方心理学理论与流派[M].广东高等教育出版社,2004.
[2]李锋,赵健.高中信息技术课程标准修订:理念与内容[J].中国电化教育,2016(12):4-9.