就从这两年起,编程广告开始铺天盖地的出现,各大公众号的广告推广文章中很难看不到关于编程课程的介绍。处于未来信息化的社会里,编程仿佛已经可以和语文,数学,英语一样变成必学的科目之一。
那我们今天来探讨一下编程到底是什么?广告中不断跳出来的学习编程思维,是一种必须要学了编程才能掌握的思维方法吗?
重点一,即使是学了编程,也不一定要当程序员,但是编程真的可以锻炼孩子的思维和综合能力。
重点二,无论你有没有基础,只要肯动脑,就一定能学会编程。
编程是什么?
本质上就是和电脑对话,电脑其实就是一堆机器零件所拼搭出来,一个能够用逻辑算法发出指令的机器。
所以编程的最初用处就是,和电脑能听得懂的方式来交流,编写的程序就是你对电脑下达的指令。
编程的过程是,用电脑的语言来给电脑安装指令,让这个指令完成你所想让他完成。
编程的过程就是在学习电脑的语言,需要什么样的条件,达到这个条件之后,会获得什么样的效果,都必须要合理安排,清晰无误。
让电脑听得懂你的操控指令,电脑不会自己思考,必须要靠你一步一步的指挥。
对指令的要求是步骤清晰,严谨,合乎逻辑,详细没有错误
实行的条件可能有很多的变化
when if else
指令一:(when)当我说开门的时候,走到车子边。
指令二:进到车子里来
如果(if)门开着直接进来。(是)
如果(else)就打开门。(否)
写程序的过程其实就在解决各种问题。
1. 拆解——各种会发生的可能
指令需要按固定的流程进行,先是……再……如果……再……最后……
在发布一个指令中,可能会发现他没办法按你想象的一样顺利的完成,中途可能会发生各种问题,那接下来就需要把这些问题细化的步骤。
电脑程序的世界很单纯,只有0和1,对和错,没有模糊值。只要运行结果和期望不符合,就证明中间肯定有哪儿出错了。
2. 细化——
分解问题,找到问题出现的地方,解决问题。
比如这样发布指令:小鸟要通过炸弹走到猪那里去,方向是东南西北,就是前进,向左,向右,后退。
步骤就是,向西一步,向北一步,向西一步,向北一步,最后到达终点。
以上这样的模块其实还可以用重复来执行,会节约很多步骤。下一步就是学会把指令优化。
3. 找出规律 重复(节约步骤)
整合模块,排列组合,优化线路。
这一关的问题是,如何用最少的指令完成全部线路,拿到三个星星。可以用到的指令模块除了前后左右,还出现了循环模块,它可以让指令循环重复最多5次。
先看出路线重复的规律,是按照前进+往上,前进+往上的模式,这时候直接把这两个模式拖到循环里去,重复4个循环,再前进,就可以完成全部路线了。
4. 发现错误的能力
误差 及时回顾 发现问题 解决问题
就像做数学题一样,如果不是按照步骤一步步清晰的解题,没有耐心跳过步骤,结果就一定会出错。
但是步骤很多的情况下,出错肯定避免不了。就必须找出所有可能,回头再次回顾找出问题,再说解决问题。
这时候没有侥幸心理
能够有一定的数学基础 ,清晰的思考过程,解决问题的能力。
在这一关里,就出现了一个bug。
在转变方向的时候,少走了一步,结果就是小鸟执行程序时候向北走就撞会到砖头,游戏结束。
正确的步骤是,小鸟要走到猪那边,需要往南走2步,右转向西1步,再次右转向西1步,面向猪的方向再向北走2步。
结论
编程思维非常锻炼综合能力,平时的解题和做事情的时候有没有按步骤的习惯,能不能提前规划计划。
细致的观察力,还需要一定数学逻辑作为基础 ,有纠错能力和解决问题的方法。
理解循环,发现倍数关系,正确的角度坐标, 方位方向。
找到关键细节理解文字的能力
学习编程确实能够锻炼思维推理,能够达到的目的:
- 做事有条理 , 细心观察事物变化规律。
- 解决的问题会由简到繁,越来越多,要求有不断深入学习的能力。
- 灵活思维,换不同的思维解决难题。
- 解决问题的能力,抗挫折能力。
其实以上这些虽然可以作为学编程时候的卖点,但真心不是要靠学编程来得到这些技能。毕竟在孩子小的时候,大量的玩耍和运动也很关键。尤其在接触初期,很多关于数学的基本功,在阅读游戏和生活中就能够得到锻炼。在编程中你会发现,这些技能被放大集中出现的在编程过程里。它会让学习变得更加容易了,而不是反过来靠学编程来得到这些知识和能力。
简单来说,有数学基础,有逻辑思辨能力,保证阅读效果,集齐这些能力,再学编程就事倍功半,一点就通。
不然一边学一遍补只是给自己和孩子徒然增加难度。