12月11号笑来郑州的伙伴们,飞速的组织了线下聚会,这次聚会带给我最大的改变不是我变了个人,而是我多了个身份,让我站在另一个角度去看待问题,我觉得这是线下聚会影响我,使我我的生活做出最大的变化。
新的角度新的问题
我怎样才能给大家提供新的东西,能给大家在扁塖上最好的帮助,我自己反思自己,我认为目前我并不能给大家制作很好的课程,而且我对编程的认知还很浅显,并不能给出很好的教科指导。所以我想能不能给出一个课程,这个课程可以自己实现这样的功能呢?
我想到了优达,优达的师资是没有的说的,因为都是这个行业中最顶级的一些人;教课的方式也是上课12年义务教育加4年大学教育觉得非常不错的;课程浅显注易懂但又不缺深度,而且特别注重实践,很有我自己喜欢的味道;虽然是视频教程,但是互相交流特别多,非常符合面相对象的思想;所以我选择了这个教程。
进步是巨大的
如果三周之前,有一个小学生来问我:“叔叔,你做的什么啊?”我会回答“编程,就是用符合语法的语句来描述一件我们已知的事情,很好玩的。
现在的我突然恍悟,我貌似解释起来越来越复杂化了,反而自己自找麻烦。如果那个孩子很有耐心,可能会反问:“叔叔,那语法是什么东西啊?还有还有描述是什么?不拉不拉不拉……”我头都会大了,不知道怎么回答。可能像大部分人一样对他说:“你长大就会明白了。”一切不给小孩子讲清楚的,都是流氓。
现在我开始有一点点懂了,编程就是用积木搭城堡,大的长方体积木呢,比较适合搭做积木的最下面的几层,比较稳妥,不会一下子就倒了,也不会像三角形的积木,会滑脱,它们比较稳妥,适合做框架。而城堡外貌呢?要特别好看,我们就要用小的,而且颜色花哨的来做装饰,所以我们要换一种积木来搭。编程就是用最适合的语言做最适合的事情,虽然有些语言可能会繁琐,但是运行可能更简索。
计算机就是一个孩子一个我们大家共同制作出来的孩子,这个孩子有很多优点,也有很多缺点;他有时候很笨,笨到都看不懂我做出来的鄙视的动作;可是他又很聪明,一个你能给出多长的算数,他都能特别快速且正确率极高的算出来;只是他学习的有点慢,需要极大的耐心,不过最好的是他们可以继承上一代的记忆,迅速的做出改变。
程序员思维养成
程序思维
程序思维是指创建出一套清晰明确的、计算机可以遵照执行的指令。
告诉一个人如何去排列扑克牌的顺序是非常简单的;但如果想让计算机去做这样的排序,你需要仔细想想怎么做。可一旦掌握了这种思维方式,你会发现计算机执行这个任务可比人快多了。
抽象思维
抽象思维是指找出相似点。用程序员的话来讲,就是找出看似不同事物间的一般性(generality)。
系统思维
系统思维是指将大问题分解成多个小问题来解决。程序员在创建某个程序运行方式的计划时(通常是在纸上进行的),就会使用这种思维方式。这个计划分解为对问题的宏观思考和决策,以及程序中各模块协作解决问题的方法。如果这个解释不够明确,请不必担心!在课程结束之前,您会对系统思维的含义有更清晰的了解。
技术同感思维
技术同感思维(Technological empathy)有多种形式。例如,计算机同感是指能够感同身受的理解计算机是什么、计算机如何运行、计算机擅长做什么、不擅长做什么。
计算机、软件程序以及编写这些程序时所使用的编程语言都是工具。如果不了解这些工具的基本工作方式,我们几乎无法编写出任何实质性的内容。
调试思维
调试思维是指一个系统化的过程,严格排查造成某个计算机程序无法正常运行的原因。
某个计算机程序无法正常运行,其原因是某部分代码存在错误(也被称为“Bug”)。在编程过程中出现这些错误是不可避免的,因此,每个优秀的程序员都有一套修改这些错误的系统化过程,通常如下:
1收集证据(为什么程序无法正常运行)
2形成观点(什么错误导致了这个问题)
3测试观点(如果我的观点正确,怎样才能找到错误所在)
4修正错误
前两课究竟讲到了什么?
说起概念可能大家都已经耳熟目染了,虽然有的不知道具体的定义是什么,不过都已经会用了。
像数据的类型:整数、浮点数、字符串、布尔值、空值,当然还有变量是什么。
还有最基本的查找词汇:输入输出、find、while循环、if判断、def包装、return返回、语句嵌套、多重赋值。
其实这些已经可以做出来你想要做的几乎所有东西了。
不过还缺少一种能力,一种把所要完成的事情拆分的能力。
网友评论