编程学的是什么?

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