吐尔逊阿依·阿不来提 李龙
摘要:信息技术和数学的相互整合是现阶段的新的教学模式。逻辑思维在中小学中培养计算思维上占重要的地位,因为数学中的逻辑思维、发散性思维、逆向性思维都可在解决问题的能力上发挥重要的作用。而且信息技术课中的计算思维能够帮助学生理解数学中难以理解抽象概念情景可视化,学生可以利用编程解决学生难以理解的抽象化概念。本文结合教学,以Scratch编程应用于数学中的经典数学问题为例,从具体问题到问题的可视化方面进行试探性的回答,培养创新意识和计算思维。
关键词:信息技术;计算思维;编程;数学
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2020)26-0083-02
开放科学(资源服务)标识码(OSID):
1 Scratch简介
Scratch是一款由麻省理工学院(MIT)设计开发的少儿编程工具。其主要优点是学习者可以不认识英语单词,也可以不熟练地使用键盘。它带有提供自带的程序命令和参数,可以轻松地使用鼠标将积木模块拖拽到角色的脚本区域进行搭建程序来实现目的[3]。中小学生可以通过Scratch编程来创作出自己设计的动画、艺术、故事和游戏,提高中小学生对程序设计概念的认知与对编程的兴趣,且帮助学生灵活运用数学知识,对于学生理解数学中的抽象概念有着积极的意义[2]。
2 Scratch与数学的紧密联系
编程其实是一种计算思维,在思考设计的过程中会涉及数学、物理、几何等各方面的知识,是一种综合能力的展现和提升。编程可以使小学生拥有比同龄人更严谨的思维,让学生更具有探索精神。在程序的世界里,没有“标准答案”,可以完全按照自己的思路去解决问题,这可以大大提升他的独立思考和逻辑判断的能力。
Scratch是一个图形化的积木式编程工具,以简单易操作的八类指令块为基础,只需要把一连串可视化的代码积木模块进行组合,为学生提供了一个自由创作的平台。且每一类指令都离不开数学知识,除了设置长度、角度、粗細值以外,还包含逻辑运算知识。学生在玩转Scratch过程中,是在绘制图形、编写短故事或编程一个小游戏,都离不开数学知识的支持[2]。它不只是编程工具,还可以提升学生解决问题的能力,因为它使计算过程变得可视化,有利于中小学生的理解和创造[3]。它的可视化结构特点有利于完善学生思考的方式,拉近逻辑思维与计算学思维的距离,学生在运用数学知识创作Scratch的过程中,潜移默化地巩固了所学的知识,从而提高了数学学习的效果。
3 实践运用 Scratch与数学相结合的案例分析
3.1 教学目标
(1)知识与技能:熟悉编程界面;熟练Scratch编程的变量、链表的建立、添加、引用及删除的使用方法;熟练其他功能模块的基本语法规则和使用方法;在编程环境下模仿、继续或创新程序。
(2)过程与方法:能够熟练指令模块,进一步建立问题与程序之间的关系,掌握和体验编程方法;在编程环境下模仿、继续或创新,表达对问题的体验、观点和意见;编程与数学问题相结合,通过运用编程中的穷举算法思想,求解数学中百钱百鸡问题。
(3)情感态度与价值观:能够理解到计算思想的重要性并养成良好的编程习惯;培养自主、合作和创新精神,提高解决问题的能力和创新能力;养成认真学习,寻求真理的学习态度;按照要求积极参与课堂学习活动,增强自信心,培养积极向上的性格。
3.2 创设情境,激发学生学习兴趣
Scratch编程与经典的数学问题相结合,通过利用编程中的穷举思想来求解数学问题。穷举法指的是把所有可能的答案都全部验证一遍,它的关键就是如何设计编程规则,保证所有的可能答案都能全部被验证到。对于自然数来说,最常见的方法是通过循环结构来遍历所有的备选答案,从而激发学生对编程的兴趣。
3.2.1 问题导入建立概念
问题导入,如:这里五块钱可以买一只公鸡,三块钱可以买一只母鸡妈,一块钱可以买三只小鸡,现在花了100块买到了100只鸡。请问:买到了多少只公鸡,多少只母鸡,多少只小鸡?你们知道如何用程序来实现经典的数学问题吗?共有几组数字成立?
3.2.2 整体规划建立算法模型
假设三个数字,先假设公鸡有0只,母鸡有0只,小鸡有0只,分析这个假设的数字,能否同时满足两个条件,即鸡的总数为100只,花费的总钱数为100元,很显然这组数字是不满足要求的。接着假设另外一组数字,公鸡有0只,母鸡有0只,小鸡有1只,再看看是否满足题目的要求。以此类推。数学中数字是有无穷的,实际上人工不可能尝试所有的数字,但通过分析题目,可以缩小尝试的范围。比如:鸡的总数有100只,不管公鸡、母鸡还是小鸡,数量都不可能大于100,否则就没有意义。因总钱数是100元,所以公鸡的数量不能超过20只,母鸡不能超过33只,否则也不满足题目条件。
通过缩小数字的有效范围,把可能的答案限定在有限的数字之内。这时,只需要把所有可能的有限的数组都尝试一次,可以确切地知道究竟有哪些组数组是可以满足题目要求的。如果用人工来完成这个工作,工作量是非常大的,需要很多时间,且过程中出现错误的概率较大。但通过计算机编程可以很快地完成大量的数据计算工作。因此只需要把这个计算的思路,通过编程的形式告诉计算机,计算机就可以在很短的时间内完成运算并求出答案。实现《百钱百鸡》典型数学问题的算法思路如下:
第1步:母鸡的数量设置为0;公鸡的数量设置为0;小鸡的数据设置为0;
第2步:设置第一层循环条件:母鸡数量:0~33;
第3步: 设置第二层循环条件:公鸡数量:0~20;
第4步: 设置第三层循环条件:小鸡数量:0~100-(公鸡+母鸡);
第5步:如果 公鸡+母鸡+小鸡=100(只),并且公鸡×5+母鸡×3+小鸡÷ 3=100(元), 满足条件跳到第6步执行,否则小鸡数量增1跳到第3步执行;
第6步:输出公鸡、母鸡、小鸡的数量;
第7步:如果公鸡的数量超过20满足条件跳到第8步执行,否则母鸡的数量增1并跳到第4步执行;
第8步:如果母鸡的数量超过33结束运行程序,否则母鸡的数量增1并跳到第2步执行。
上述编程思想就是利用了计算机算法中的穷举法。其中,第2步至第8步重复执行直到条件不满足为止;第2、3、4步是控制循环的重要条件;第5步是实现百钱买百鸡的重要核心算法。我们通过设计控制条件可以缩小数字的范围,可以把答案限定在有限的数组之内。
第一层控制循环是计算小鸡的数量,小鸡计数从0到100循环101次,然后比较两个条件,一个是公鸡加母鸡加小鸡是否等于100只,另一个是公鸡、母鸡、小鸡的花费是否等于100元。如果两个条件都满足,则说明这组数字是符合题目要求的,因此把这组数字保存在答案链表当中。
当小鸡循环结束后,让第二层控制循环计算公鸡的数量,即公鸡数量+1,这个时候母鸡=0只,公鸡=1只,小鸡再次从0开始到100做一次循环。当公鸡循环达到20时,母鸡数量+1,重新开始循环遍历所有数字。通过这样一组三层循环的结构,我们就可以對所有的备选答案进行验证,并将符合条件的数字作为正确答案,存入最终结果链表中。
3.2.3自主搭建完成操控
在Scratch中,首先定义三个变量,分别是公鸡、母鸡和小鸡。这三个变量用于存储我们假设的备选答案。新建三个链表,通过编写的程序将三个变量符合条件的数字作为正确答案保存在相应的链表当中。经过计算,可以得到以下四组答案。
3.2.4抽象知识直观化,便于学生理解
学生的解决问题的经验和能力有限。学生对抽象知识的学习和理解是有一定的限制,相比之下,形象直观的积木模块更容易被小学生接受。抽象、静态的内容可以通过Scratch中的形象、动态的形式表现,直观地揭示内在原理和逻辑,从而可以帮助小学生更快更好地掌握数学知识。
4 结束语
学生掌握Scratch编程的使用方法,了解程序运行的过程,这能锻炼逻辑思维能力、能提高任务拆解能力、能培养跨学科结合能力和团队协作能力、能提升学生的计算思维。在设计面向计算思维培养的小学Scratch教学设计上,从主题切入,即通过经典案例的展示,激发学生的兴趣,这便于学生任务拆解。进一步引导学生分析Scratch指令模块的功能,将解决问题的任务进行拆解,列出思维导图或者流程图。通过一系列的思考,结合具体教学内容,最后概括出实现作品的步骤,并找到相应的程序模块来完成脚本的搭建完成作品的代码,激发学生的知识得到迁移,可以解决数学上的问题。通过Scratch解决数学中的经典问题可以看出,在问题解决的过程中利用所学的基础知识与基本技能克服困难,并不断内化、深化相关知识,最终形成相对稳定的计算思维方式。
参考文献:
[1] 李冬梅.信息技术教育课堂教学模式改革[J].中国电化教育,2001(3):17-20.
[2]吴泽.Scratch与学生数学素养的培养[J].中国电化学与教,2002(5).
[3] 赵兰兰.运用Scratch软件培养中学生计算思维的研究[D].上海:上海师范大学,2013.
[4] 马楠.基于Scratch的信息技术与小学数学课程整合的实例探究[J].中小学电教,2017(Z1):62-64.
[5] 毛爱萍.谈《儿童数字文化创作课程Scratch程序设计》的教学内容与模式[J].中国信息技术教育,2013(1):89-91.
【通联编辑:光文玲】