发表时间:2022-03-25来源:网络
作为一个少儿编程领域的老师,对这个行业的了解比大多数人要更为深刻。
作为非计算机类科班出身,机缘巧合进入了这个行业,所以我完全是从外行人视角逐步了解编程的,对于少儿编程的作用也是从外行人视角来分析的。
需要注意的是,当我们谈及少儿编程的时候,对于计算机类专业的人来说,切勿陷入‘知识诅咒’,就是有很多概念在你看来是非常基础,甚至不得一提的,可是对于刚接触这个概念的儿童来说,接受起来是需要一定理解能力的。
网上看了很多关于少儿编程的帖子,先不管写贴之人的计算机水平好坏,一上来就是一幅高高在上的样子,说一些英文名词,然后去抨击少儿编程所学内容。
这真的很没必要,就比如我学过金融,看到关于股票新手入门的帖子,一张口就是MACD、ADS、PE,那对于外行和小白来说,这就是为了凸显自己的装×。
当我们谈及少儿编程的时候,我们到底是在学些什么,我想这是很多家长都普遍关心的。
相信大家看到的编程机构招生都是打着提高思维能力的旗号,思维这个东西很玄幻,看不见,摸不着,也很难外化,这就是大家所诟病的原由,孩子的学习结果无法快速地通过成绩让家长去看到,甚至是孩子本身也搞不清楚自己到底在学什么东西

开宗明义
编程是一种逻辑思维的锻炼,总得来说就是【抽象思维】和【推理能力】
从知识的角度来看,小学到初高中,知识的密度是断层式上升。
坦白说,在这个计算器随手可得的年代,加减乘除的学习几乎看不到实际价值。
但是为什么要学,主要是培养孩子们对于“数”的感知。
小学课本上的东西都是非常具象的,为了让孩子们理解数的含义,无论是课本还是试卷,都通过图形去降低孩子们感知的难度,所以小学课本当中总是会有很多的苹果,梨等内容,而应用题的题目总是小刚和小红的对话,这就是让孩子去更直观的感知“数”
到了初中,数学内容则逐渐抽象化,有理数,无理数,几何图形之间的关系,方程式的解答,都没有办法再通过具象化的图形表达出来。这个时候,你会发现那些小学阶段成绩拔尖的孩子并不一定能学的很好,后来居上者不在少数。
高中的知识密度则更为恐怖,天体运动,万有引力,三角函数,向量、你完全没有一个清楚的认知,往往是遗漏掉某一个知识点,其余的都没办法再理解了,在这种学习过程中,死记硬背,似乎也没办法起作用了。
回看我们的学生时代,会发现这样一些特别有意思的现象。小学阶段只要你记忆力好,家长管的严,不管是什么科目,你多背背课本都能考个不错的成绩,而且一个班级的成绩偏差也不会很大,二年级数学你要是考个80来分都属于垫底水平了,似乎大家都没什么两样。
但是到了高中,大家都目标明确,也都昼夜苦读,但是成绩却能成倍数级偏差。
我现在还依然记得,高中三年当我英语只有七八十分的时候,总有一些同学是一百二三,甚至更高,至今我都想不出为什么差距会这么大,同样的情况,当我每次数学考个一百二三的时候,看到那些数学五六十分,甚至更低的,我也想不出为什么他们会考成这样。
这个时候我们就要思考到底是什么原因让原本成绩相当的孩子们能出现如此两级分化的差距。
我们的高中生涯,那些学霸级人物,你会发现他们的知识体系化非常明显,特别是数学的最后几道大题,几乎涵盖了高中时期所有大的知识门类,之所以学霸们能做出来,是因为当看到题目的时候,普通学生看山是山,看水是水,而学霸则能快速调取头脑当中的知识体系去应答,这就是差距产生的根源。
我一直认为,学生生涯也就三场考试比较重要,小升初,初升高,以及高考。学会一种可迁移的学习能力是远远大于知识本身的。在信息爆炸的当下,真的不缺知识,缺的是能运用知识的人。很少有人大学毕业后能一直从事本专业工作,但照样可以混的风生水起,原因就在此。
这个时候,你该能看到思维的魔力了吧,就是这么玄幻,看不见,摸不着的东西,就能决定着孩子后期的学习状况。
那么编程本身能否帮助孩子去提高抽象思维和推理能力,我们通过一些课程本身去窥视一二。
言归正传、以图形化编程scratch为例,课程内容大致分为三个模块:【顺序】,【循环】,【分支】
学好一门课程的首要前提是对于这个课程大致有个认识框架,而我认为学科当中的某些原则或是定理就是构建框架的基石。
在我带孩子的过程中,首先让孩子去熟记于心的就是【顺序执行原则】。
这个原则贯穿于编程始终,当程序执行时,代码会从上往下一一执行,很多时候孩子们的代码跟标准答案所用代码完全一样,就是因为前后顺序出现了调换就能导致结果出现非常大的偏差,让孩子们意识到顺序的重要性,是编程入门的第一课。用家长的话来说就是希望孩子做事情能有条理。
循环的作用在我看来是思路的整理和归纳,简单重复的代码,通过循环可以得到简化,当运行程序出现错误时,能够快速查找到问题所在。看似简单,但是在实际运用过程中,明明可以用循环的场景,孩子们都不一定能理解,所以能正确恰当的使用循环,对孩子们老说真的是一个比较大的锻炼
顺序和循环是基础,分支模块更像是一种语法学习,都说编程是帮助人与计算机实现交流与对话的工具,语法的学习就是让孩子去熟悉计算机的思维方式。交流是最简单的事情,会说话就会跟人交流,交流又是最难的事情,两个人要是思维意识不一样,交流起来真的挺是异常艰难。通过分支的学习,简单说就是可以让孩子用编程去遣词造句



学习完基础内容后,孩子们掌握了去创造作品的技能,创作过程则是思维能力和推理能力的极大锻炼。一切归零,孩子们要自己去想一个场景,自己添加角色,自己构建框架,自己去优化调试,一个看似简单的小游戏,孩子背后的付出真的远超想象。
也许有的家长感觉孩子做个小作品也没什么了不起的,但是除非你是全程陪着孩子一起做的,不然你真的很难感受到背后的逻辑。
要知道,即使是个简单的作品,它的逻辑也是凭空创造出来的,这个过程你仔细品品,真的很棒
以飞机大战小游戏为例
https://www.zhihu.com/video/1404031785039237120角色:战机,敌机
效果:
战机:在舞台下方躲避敌机,并发射子弹击落敌机,如果敌机太多还要切换不同型号的子弹,每击落一架敌机得分都加一
敌机:不断发射子弹,并且自上而下去撞击战机
这个过程的确很简单,但是在创建这个游戏的时候,有这么几个难题
1,怎么实现敌机源源不断的从舞台上方随机出现
2,怎么实现击落一架敌机就能得一分
3,当子弹击中敌机的时候,怎么让电脑知道这个情况,从而让击落的敌机消失
4,怎出算是胜利,怎么算是失败,计算机的判定标准是什么
这些难题都是很抽象的,孩子们只有编写代码创建出来才能知道自己的想法是否存在错误,思维能力就是在反复调试和思考中不断得到训练的。
敌机从舞台上方下落的效果,需要用到【克隆】和【坐标】代码;克隆的时候会涉及到克隆体和本体,你既要控制角色本身,还要控制他的克隆体,而坐标就直接是代数与几何的交叉点,难不难,想想我们当年的初高中数学
击落一架敌机就得一分,需要用到【变量】代码,开始值为0,达到某一个条件就自动加1
敌机中弹后就自动消失,需要用到【广播】代码,角色与角色之间进行交流互动,如若涉及到更多的角色,复杂度将显著提升
胜负的判定需要用到【条件判断】代码,达到某个条件才能宣告胜利,否则就是失败
一个简单的小游戏,仅有两三个角色,都是如此复杂。运用的代码几乎涵盖了小学数学,并且初中数学也有涉及,最为关键的一点是,七八岁的孩子学起来并不会觉得超纲,所以这就是编程在做的事情,教思维,让孩子养成好的逻辑思维,长期来看作用会很显著。
写在最后:
除了高考的必考科目,我从来觉得没有哪一个是非学不可的,也没有哪一个是不学就会遭社会淘汰的。英语四级被吹得神乎其神,考三次没考过,并不影响我成为一名编程老师
很多时候,焦虑都是自己带来的,生活本就很苦闷,为何还要自披枷锁呢
孩子没有兴趣,就不要硬逼着,无论是编程还是其他课外班
皓盘云建最新版下载v9.0 安卓版
53.38MB |商务办公
ris云客移动销售系统最新版下载v1.1.25 安卓手机版
42.71M |商务办公
粤语翻译帮app下载v1.1.1 安卓版
60.01MB |生活服务
人生笔记app官方版下载v1.19.4 安卓版
125.88MB |系统工具
萝卜笔记app下载v1.1.6 安卓版
46.29MB |生活服务
贯联商户端app下载v6.1.8 安卓版
12.54MB |商务办公
jotmo笔记app下载v2.30.0 安卓版
50.06MB |系统工具
鑫钜出行共享汽车app下载v1.5.2
44.7M |生活服务