少儿编程学什么?到底有没有作用?
宇航说
很多家长想知道:“少儿编程学的是什么?是学创作动画、游戏么?还是培养逻辑思维能力?还是掌握一项编程技能?
今天妙苗苗就这些问题和大家一起聊一聊~
编程到底学什么?
先一起让我们来认识一下到底什么是编程~
说白了,编程也就是人和电脑进行对话,用电脑”听得懂的语言“,告诉它,我们想要它完成的事。
那么,电脑对话与人对话,到底有哪些不同呢?
比如说你想喝咖啡了,那你可以跟孩子说:“孩子,去帮我倒杯咖啡吧!”这句话如果想让电脑听的懂的话应该怎么说呢?
我得先告诉它什么是“杯子”、什么是“咖啡”、什么是“倒”,然后再告诉它如何去倒,例如先左转60度,往前两米,右臂往下50度……
人类天性⾥带着感性、随意、散漫等特性,但电脑可是没有。
计算机是这个时代的高科技“铁血战士”,它理性、严谨、一板一眼,我们在和它沟通时,每一步都必须先给出准确的指令,而且你说的它都会严格照办,从来不会任性发挥或是趁你不注意时悄悄偷懒。(非常听话,是个从不偷懒的好孩子)
所以,想要我们想让电脑听懂我们的话,就要让自己也要变得理性、严谨、思路清晰,否则的话,对话的结果会和我们心里想的完全不一致。
当孩子开始用电脑的角度去思考问题时,也就学习和锻炼到了所谓的编程思维。
所以说,学编程不只是掌握一项新技能、培养一个新兴趣,更重要的,是要掌握背后一整套的高效解决问题的思维模式。
那么编程思维到底是何方神圣呢?
相信很多家长朋友都听说过“编程思维”这个词,但却有一种“它就在你面前,你却不认识它”的感觉。
编程思维实际上就是用编程运用的思维嘛,学会了编程就掌握了编程思维,学会了数学就掌握了数学思维,学会了美术你就掌握了....(相信你已经会抢答了)
其实,编程思维是“理解问题——找出路径”的高效思维过程,它由分解、模式识别、抽象、算法四个步骤组成。
(1)分解——锻炼孩子拆解复杂问题的能力
分解,就是把一个复杂的大问题分解成更可执行、更易理解的小问题。
比如,有位小学员想完成一个飞机大战的游戏,他就自己亲自撰写了这个项目计划书,一步一步拆解成自己要实现的每个具体功能。
想不到,一个如此小年纪“骨骼也能如此惊奇”,条理如此清晰,真是让大人都眼前一亮呢~
另外还有小学员,用我们之前讲过的思维导图,拆解逻辑步骤,一点点的理清思路。
我们平时看起来很简单的实现效果,实际实现起来要拆解的步骤却很多!孩子在编程的整个过程,就是不断地训练他把复杂、庞大的问题拆解、理顺的过程。
不要小看这项练习,它可是所有解决问题的基础,只有分解的清楚,才有接下来实现的各种“可能性”。
才会给学习带来很多的帮助!通常会体现在审题能力还有读题能力。分解能力也会很强大,以后无论是在解数学应用题、阅读理解、写作、或是制定一项计划,自然也都不在话下。
例如,几个孩子面对一道有挑战的数学题,分析能力好的孩子会列出清晰解题步骤,搞定一步是一步,即使最后不能完全的解答出来,也可以清楚地知道他的进展。
分析能力差的孩子,可就没有那么好运气,遇到问题以后,大脑就乱成了一锅粥,不知到该从哪下手,但不会的题也不可以空着呀,所以只能想什么写什么了...
(2)模式识别——发现并整合“重复规律”的能力
“模式识别“,简单说就是找出相似模式,高效解决细分问题。在我们在经验库里调用以往类似问题的解决方法,套用解决。识别的模式越多,解决问题的速度也就越快。
比如,我们需要画一百只猫,那你会怎么办?找到一百只猫来临摹?还是要找出猫的“模式”?
如果第二种,你要知道猫有长毛,有眼睛、尾巴、四条腿。接下来,按这个“模式”,你就可以“批量”的画猫了——不用再每次画一个新动物,只需要变换局部的特征:黄猫还是黑猫,长尾猫还是短尾猫。
你有没有感觉出效率瞬间飙升了呢~
编程的过程中,孩子一直在做这样的训练,可以发现一些可以重复的单元,把它整合起来,让计算机反复去重复它。
很多孩子解题很快,就是因为他们善于发现和总结“规律”,脑袋里装备了一个装有各种规律的“方法库”,遇到此类情况就可以直接调用,不用再从头到尾想一遍,不仅可以节约时间,也可以避免出错。
(3)抽象——人深度学习能力
抽象,简单来说就是找到问题本质,过滤掉其他无关紧要因素。
这个不好解释,我们一起来看一个例子,当看到这间房子,我们看到的是:
一栋豪华的别墅
但是在建筑师的眼中,他看到的是这样的:
建筑师可以通过自己的经验,想象到房子里面具体的构造和材料。
懂编程的孩子同样具备这种能力,学编程前是单纯的玩游戏,学了以后可以透过游戏表象,看到背后实现的步骤,了解游戏的本质,突然觉得“玩游戏就是傻玩,创作游戏却可以学知识”。
实现从”游戏玩家“到”游戏发明家“的华丽变身!
电影《教父》中有一句话:“用半秒钟就可以看透事物本质的人,跟用一辈子都看不清事物本质的人,注定着有着截然不同的命运。”
(4)算法——高效的解决问题能力
算法,也就是解决问题的方法,根据之前一系列的对于问题的理解,设计一步一步的解决路径,可以解决整个问题。
实际解决问题的过程中,最关键的两种能力 —— “逻辑思维”和“检查纠错”。
逻辑思维能力
逻辑思维中有一个很重要的原则叫 MECE(Mutually Exclusive and Collectively Exhaustive),中文就是“相互排斥且完全穷尽”,也就是“不重复,不遗漏”。
右图符合MECE原则,左图则没有
在编程的算法里,要处处考虑到MECE原则。解数学题时,也是用同一种道理——要保证答案中所考虑到所有的情况,而这些情况既不能遗漏,也不能重叠。
孩子在拆解好步骤后,就要思考应该如何“通过改变坐标位置实现角色的移动”,“使之循环、条件判断让角色实现想要的重复动作“等等,将代码合理的安排在整个程序中。
期间必须条理清晰,严谨细致,否则可能功亏一篑。
比如,正确的代码呈现出的五角星动态图是这样的:
而如果只把其中两行代码交换顺序,结果就会变成这样:
所以,即使一步不对,结果也会出现很大的差别。
这一点相信很多家长都有着切身体会,孩子通过几节课的学习,做题做事就可以变得更有条理。
思维严谨了,改掉了粗心大意的毛病了,最直接的体现在做题的正确率会大大提高。
检查纠错能力
在编程的过程中,任何一行代码写得不对,都无法达成想要的效果。因为程序天生就是如此的“固执”。
如果程序出现问题,学生不得不通过自己执行效果,梳理出逻辑,找到问题并进行纠正。但程序中的那些bug,往往不是一下子就可以发现的,许多孩子为了纠错都会急哭了
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com