硅谷君告诉你,编程到底学什么?
时间:2019-07-24 11:11 来源:未知 作者:湖南硅谷 点击:次
总有同学和家长问:“编程到底学什么?学习如何写代码?培养逻辑思维能力?掌握一项编程技能?” 那么,今天就这个问题跟大家细致的聊一聊~ 编程到底学什么? 首先,让我们来认识一下什么是编程~ 其实, 编程就是和电脑对话, 用计算机听得懂的语言, 告诉它我们想让它做的事。 那么,和电脑对话,与和人对话,有什么不同呢? 比如说我想喝咖啡,那我可以跟服务员说:“服务员,帮我倒杯咖啡!”那这句话如果想让电脑听懂应该怎么说呢? 我得先告诉它哪个是“杯子”、哪个是“咖啡”、什么是“倒”,然后再告诉它怎么去倒,比如先左转75度,往前走两米,左臂下放50度…… 发现了吗?人类天性⾥带着感性、随意、散漫等特质,但电脑可没有。 那么,想要让电脑听懂我们的话,就必须让自己也变得理性、严谨、思路条分缕析,否则对话的结果则会和我们心里想的完全“跑偏”。 当我们试着从电脑的角度去思考问题时,也就学习和锻炼到了所谓的编程思维。 所以说,学编程不只掌握一项技能、将来找到一份工作,更重要的,是掌握背后一整套高效解决问题的思维模式!这对今后无论在工作还是生活中都有着极大的帮助! 编程思维是个啥? 相信很多人都听过“编程思维”这个词,但却有一种“它站在你面前,你却不熟悉它”的感觉。 其实,编程思维是“理解问题——找出路径”的高效思维过程,它由分解、模式识别、抽象、算法四个步骤组成。 1分解——锻炼我们拆解复杂问题的能力 分解,就是把一个复杂的大问题拆解成更可执行、更好理解的小步骤。 我们平时看起来很简单的效果,实现起来需要拆解的步骤可真是不少呢!学生在编程的过程中,就是不断地训练他把复杂、庞大的问题拆解、理顺的过程。 2模式识别——发现并且整合“重复规律”的能力 “模式识别“,简单来说就是找出相似模式,高效解决细分问题。在我们在经验库里调用以往类似问题的解决方法,套用解决。识别的模式越多,解决问题的速度就越快。 举例,现在我们需要画100只猫,你会怎么办?找100只猫来挨个临摹?还是找出猫的“模式”? 如果是后者,你可能要知道猫长毛,有眼睛、尾巴、四条腿。然后,按照这个“模式”,你就可以“批量”画猫了——而不用每次画一个新动物,只需要变换局部特征:黄白条的猫还是黑猫,长尾巴的猫还是短尾猫。 有没有觉得效率瞬间飙升了呢~ 在编程的过程中,学生一直在做这样的训练,发现一些可以重复的单元,把它整合起来,让计算机去重复它。 很多同学解题快,正是因为他们善于发现和总结“可复用的规律”,脑袋里自备了一个装有各种规律的“方法库”,遇到类似情况就直接调用,不需要再从头到尾想一遍,不仅节约了时间,也避免了出错。 3抽象——人深度学习的能力 抽象,简单来说就是找到问题的本质,过滤掉其他无关紧要的因素。 我们来看这样一个例子,当我们看到这间房子—— 我们看到的是这样的⬇️ 「一栋豪华的别墅」 但在建筑师的眼中,它可能是这样的⬇️ 建筑师通过自己的经验可以抽象出房子里面具体的构造。 懂编程的同学同样具备这样的能力,以前是单纯的玩游戏,学了编程以后却可以透过游戏表象,看到背后实现的步骤,了解游戏和软件的本质,实现从”玩家“到”开发者“的华丽变身! 正如电影《教父》中所说:“花半秒钟就能看透事物本质的人,跟花一辈子都看不清事物本质的人,注定有截然不同的命运。” 4算法——高效解决问题能力 算法,就是解决问题的办法,根据之前一系列对于问题的理解,设计一步一步的解决路径,解决整个问题。 最后,借用苹果CEO乔布斯的话: “ 每个人都应该学习编程, 因为它教会你如何思考。” (责任编辑:湖南硅谷) |