如何训练自己的编程思路

如何训练自己的编程思路

最近一个周末班的学员,问黄哥你在讲解编程思路训练时,如何想到这个思路的。

首先要解决一个问题,学习编程是学习啥?是纯学习语法吗?

不是,是要学习计算思维,编程思路。

何为计算思维:

计算思维(Computational Thinking)概念的提出是计算机学科发展的自然产物。

第一次明确使用这一概念的是美国卡内基·梅隆大学周以真(Jeannette M. Wing)教授。

计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为;

计算思维最根本的内容,即其本质是抽象和自动化。

何为编程思路,望文生义,思路,思考的道路,方向也。就是说,从哪里下手,从哪里着手解决问题。
其实就是计算思维的具体体现,用语法来表达解决问题的方法、算法。

没有人天生会编程,计算机科学家总结了很多解决问题的方法(也就是算法),现在学习编程,不是
从头自己发明算法,不是重新造轮子,站在巨人的肩膀上,学习计算机科学家总结出来的解决方法,利用
这些成熟的算法,组合和微创新来解决自己的问题。

编程思路是训练出来的(自我训练或者跟着别人学习)。

解决问题时,要将任务切分,大问题化解为小问题,其中有的小问题,已经有成熟的解决方案,直接拿来用,
剩下不会求解的小问题,那么就集中解决它。

训练就是要学习成熟的解决问题的方法:if 语句用来做分支判断,循环用来解决反复运算的问题。
穷举法、递推、递归、排序、回溯等等(如果需要当专业程序员,需要学习数据结构和算法,设计模式等等,需要学的东西很多很多。但首先要解决的一个问题是自己能写代码解决一般问题。)
训练函数抽象,类抽象解决问题。

如对有序数组,查找特定数值,没有经过训练,初学者,直接用循环遍历。
如果经过二分法算法的训练,下次碰到这样的问题,就用二分法求解。

做习题,要像开发项目的流程一样(需求->需求分析->设计->编码->测试->交付等),
拿到一个习题,还没有进行分析,就匆匆忙忙敲代码,这个学习方法,是不好的学习方法。
先要分析清楚题目(所谓的需求分析,何为需求分析,请自己搜索),再设计,用那种数据类型(数据结构)
来组织或保存数据,用何种算法来计算效率最高,用面向过程,还是面向对象的编程范式,还是用函数式编程等等。
设计后,再编写代码,最后写测试。(也可以采用软件开发过程中的应用方法,测试驱动开发等)

很多基础的东西,对于程序员来说,认为是顺理成章的事,但对于初学者有一个习惯的过程。

   1、有超级小白学员问黄哥,计数循环为何要从1起。当时感觉很讶异,为啥有这样的问题,
      这就是上面说的对于程序员来说,认为是顺理成章的事,但对于初学者有一个习惯的过程。
      计数循环从1起是为了方便,大家从儿时数数,扳手指也是从1开始啊。
      如果从负100,开始计数,不是不可以,不方便啊。

   2、对于这样的问题。
      python list中放二个变量,有初学者也不理解和习惯。
      list 这个数据类型(或者说数据结构)中,可以放python任意对象。
      python 中变量是对象的引用,当然也可以放变量。
      computer = "剪刀"
      people = "石头"
      guess_lst = [computer, people] 相当于 guess_lst = ["剪刀", "石头"]

   3、看这个程序员认为理所当然的事情。
      跟黄哥学python序列文章之python方法链(method chaining)
      https://zhuanlan.zhihu.com/p/20931492

   4、多敲代码,多训练,才能找到感觉。
      不敲代码,不知道会犯变量名前后敲错了。
      不敲代码,不知道会犯缩进错误。
      不敲代码,不知道如何看python报错信息快速排除错误。
      ......................

总结 (没有人天生就有编程思路,编程思路是经过一定训练后,养成的!)

如何才有思路,只有先经过训练常见的算法,会分解问题,会做需求分析,慢慢训练,才会养成自觉的思路。
没有人一出生会编程,只有经过训练,才会学会编程。
很多牛逼程序员用vim,敲的啪啪响,一会儿一屏幕代码,为啥那么熟练使用vim,习惯成自然。
当你训练多了以后,学会一定的套路(解决问题的方法),养成独立思考的习惯,假以时日,自然就有思路了。
养成独立思考的习惯,养成切分问题,养成大问题化解小问题,养成套用学过的算法,才会有思路。
简单的判断、循环都不会写,就想玩django,何来的思路?
万丈高楼从地起,希望大家脚踏实地实地的从基础训练起,先达到独立写代码解决一般的问题,再谈项目。
见过盲目上号称牛逼项目的培训班出来的程序员,没有学会独立写代码解决一般的问题的能力,开发项目时如狗咬刺猬无从下手。

共勉!
黄哥写于2016-5-22 早晨 北京

点击黄哥python培训试看视频播放地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容