逆向思维,培养计算思维的另一个视角
2022-03-24李素卿
李素卿
摘要:本文从小学编程教育如何培养计算思维这一问题出发,探讨了逆向思维的重要性,让学生意识到思维瓶颈的存在,并提出小学编程逆向思维能力培养的具体策略。作者认为必须加强编程逆向思维能力的培养,摆脱思维定势的束缚,以此来帮助学生综合提升编程核心素养。
关键词:逆向思维;计算思维;小学编程
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2022)05-0000-02
逆向思维也叫求异思维,是一种思考普遍事物或观点相反的方式,敢于反其道而行之,让对立面方向的思维不断延伸,从不同角度深入地进行分析探索,构建学习新思想,塑造新形象。
逻辑思维能力和创新思维能力是小学编程必须着重培养的基本能力。因此,笔者从阐述逆向思维的特征出发,提出了培养学生逆向思维能力的策略。
● 更新认知,正视逆向思维
1.特征
逆向思维的基本特征是:①普遍性。由于事物方向性的客观规律伴随正、反方向思维,两者对立统一。人们面对事情时习惯采用固有思维路径去思考,即正向思维,对应的另一种角度——逆向思维也是普遍适用的。②新颖性。面对问题,人们习惯于从积极的方向思考问题和寻求解决方案,而如果脱离惯性思维,巧妙运用逆向思维,往往会取得令人耳目一新的功效。
2.优势
在编程学习中,对于某些问题,逆向思维法往往能使问题简单化,有时甚至能得到创造性解决方法。拥有逆向思维能力的学生,其思维更具流畅性和敏捷性,在编程中就体现为创新力和渗透性。
● 注重策略,培养逆向思维
1.能力储备,提升逆向思维
笔者认为,要培养逆向思维,必须帮助学生构建一个完整的“知识管理体系”。首先,在小学编程中,学生要明确顺序、循环、事件、并行、条件、运算符和数据等常用计算概念。教师在学生由浅至深地迭代构建编程知识的同时要充分调动学生的学习兴趣,发挥其主观能动性,引导学生多角度思考问题,灵活运用知识,将知识转化为思维能力。其次,学生在编程学习中,容易局限在自己单一、封闭的思维中,因此教师除了平时多注重多样化的训练外,还要善于引导学生“复盘”具有沉淀价值的经验进行领悟。最后,懂得在众多数据信息中,甄别有效信息。
2.技巧训练,启迪多元思维
(1)广度谋全局
逆向思维是逻辑思维能力之一,在编程设计类项目中,逆向思维可以帮助设计者突破常规思维的局限,重构人们的习惯认知,设计出一份独特而有创意的方案。
例如,在设计“小猫走迷宫”游戏时,关于小猫行动的控制,学生容易受之前项目的干扰,大部分会使用“移到鼠标指针”积木,笔者在肯定学生的方法后,及时分享用键盘进行交互的方法,开拓学生的思维,并让学生进行对比,结合自己的方案选择更适合的方式。在进行游戏难度思考时,学生很容易想到采用设置时间、静态障碍、将迷宫复杂化等方法,笔者引导学生采用逆向思维法进行思考,如可以设置动态的障碍,学生马上根据自己的兴趣设计出不同形象、不同运动形式的障碍,还有的学生设计出动态的迷宫……
在编程项目设计的过程中,教师不妨多引导学生利用逆向思维,从游戏的场景、关卡、玩法和规则等角度进行逆向思考。
(2)深度瞄目标
在编程中一味顺着问题描述的方向进行求解,有时会将问题复杂化,甚至不得解,而如果从结论往回推,则会使思路突然变得清晰。因此,在编程课堂中要引导学生深入思考,培养学生发现问题、追溯问题的本质、解决问题的能力。
例如,在信息学竞赛复赛题中,二进制手表(如图1)中的矩形代表时间,圆代表分钟,编写程序表示二进制手表显示规律:执行程序 WATCH 21 30,表示晚上9点30分。二進制手表显示如图2所示。
以第一个参数21为例,正向思维思考路径:①判断参数是否大于等于12,如果是将参数值减去12,表示PM状态,否则表示AM状态;②依次判断参数是否大于等于8、4、2、1,如果是,将参数值减去对应数值,并点亮LED灯。正向思维的方式也可以达到目标要求,但相对比较烦琐。这时运用逆向思维,抓住小时或分钟表示规律的问题本质为数值转化为二进制,LED灯上对应的数值是相应二进制位上的权值,但不需要全部转化为二进制再进行判断LED状态,直接用除二取余法由小往大逆向判断,简单高效。
再如,在设计数字24点游戏时,运算优先级简化就变成了两个数的四则运算,程序需要记录加、减、乘、除四个按钮的状态,一般会想到用四个变量,0表示初始化,1表示被激活,但这样变量多,程序思路容易混乱。逆向思维路径:每次运算,这四个按钮有且只有一个会被激活,这样只要设置一个全局变量,通过给变量赋予不同的值分别表示加、减、乘、除按钮被激活,程序变量少,容易理解。
在小学编程学习中运用逆向思维有利于学生发现新的思考路径,促进计算思维的领悟。因此,教师在常规训练中,要注意逆向思维的训练,正确引导学生观察、分析、总结、思考,在计算实践中潜移默化地提高学生的逻辑思维能力。
总之,培养逆向思维能力是过程,计算思维发展才是最终目标。在小学编程中,教师应灵活运用教学方法,帮助学生主动思考并明确计算概念,奠定发展逆向思维能力的基础,引导学生辩证合理地运用逆向思维解决问题,让其学会在实践中思考,在思考中学习,逐渐培养逆向思维能力、创新思维能力,最终全面提升计算思维能力。
参考文献:
[1]王国森.初中数学教学中学生逆向思维的培养策略[J].知识窗(教师版),2021(08).
[2]苏爱荣.逆向思维在初中数学解题中的应用研究[J].课程教学与管理,2021(09).
[3]陈智敏,黄细光.创新思维品质培养的信息学教学实践——从“数字三角形”一题谈起[J].中国信息技术教育,2021(07).
本文系福建省教育科学“十四五”规划2021年度立项课题“基于思维导图优化小学编程教学计算思维培养的策略研究”(立项批准号:FJJKZX21-265)部分研究成果。