注册账号 登录
用友之家-用友软件论坛 返回首页

yqqwe的个人空间 https://www.oyonyou.com/?544805 [收藏] [复制] [分享] [RSS]

个人资料

yqqwe(UID: 544805)

  • 空间访问量2
  • 邮箱状态未验证
  • 证件类型身份证
  • 兴趣爱好https://it.wenda123.org/
    如何训练自己的编程思路
    最近一个周末班的学员,问黄哥你在讲解编程思路训练时,如何想到这个思路的。

    首先要解决一个问题,学习编程是学习啥?是纯学习语法吗?
    不是,是要学习计算思维,编程思路。
    何为计算思维:

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

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

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

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

    何为编程思路,望文生义,思路,思考的道路,方向也。就是说,从哪里下手,从哪里着手解决问题。
    其实就是计算思维的具体体现,用语法来表达解决问题的方法、算法。
    没有人天生会编程,计算机科学家总结了很多解决问题的方法(也就是算法),现在学习编程,不是
    从头自己发明算法,不是重新造轮子,站在巨人的肩膀上,学习计算机科学家总结出来的解决方法,利用
    这些成熟的算法,组合和微创新来解决自己的问题。

    编程思路是训练出来的(自我训练或者跟着别人学习)。
    黄哥python培训,黄哥提醒大家解决问题时,要将任务切分,大问题化解为小问题,其中有的小问题,已经有成熟的解决方案,直接拿来用,
    剩下不会求解的小问题,那么就集中解决它。

    训练就是要学习成熟的解决问题的方法: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报错信息快速排除错误。
    ......................
    总结 (没有人天生就有编程思路,编程思路是经过一定训练后,养成的!)
    黄哥python培训,黄哥提醒大家如何才有思路,只有先经过训练常见的算法,会分解问题,会做需求分析,慢慢训练,才会养成自觉的思路。
    没有人一出生会编程,只有经过训练,才会学会编程。
    很多牛逼程序员用vim,敲的啪啪响,一会儿一屏幕代码,为啥那么熟练使用vim,习惯成自然。
    当你训练多了以后,学会一定的套路(解决问题的方法),养成独立思考的习惯,假以时日,自然就有思路了。
    养成独立思考的习惯,养成切分问题,养成大问题化解小问题,养成套用学过的算法,才会有思路。
    简单的判断、循环都不会写,就想玩django,何来的思路?
    万丈高楼从地起,希望大家脚踏实地实地的从基础训练起,先达到独立写代码解决一般的问题,再谈项目。
    见过盲目上号称牛逼项目的培训班出来的程序员,没有学会独立写代码解决一般的问题的能力,开发项


    日子不好混!在美国一半工作需要编程这项技能
    据报道,在当今美国,至少一半以上的高薪工作需要一些编程知识和技能。如果不懂SQL、Python和JavaScript这三种计算机编程语言之中的任何一种,雇主可能不会录用。

    这样的状况在美国究竟到了什么程度呢?让我们用数据说话,跟小扣一起来看一看吧!

    根据劳动力市场分析公司Burning Glass和甲骨文公司旗下的计算机科学培训机构甲骨文学院(Oracle Academy)的报告。

    在美国收入最高的工作中(收入最高在这里界定为每年收入在5.7万美元以上),有一半职位通常要求申请者至少具有一些计算机编程知识或技能。

    简单地说,编程技能就是为计算机编写指令的技能,所需的编程语言包括SQL、Java、JavaScript、和Python等。

    雇主和雇员——无论是否属于技术行业——都是这样说的。草坪护理公司LawnStarter的分析师Jake Lane说:"现在,编码知识对求职者来说是必不可少的。"

    因为这些知识可以帮助他们理解其他部门(包括技术和工程部门)的任务,并更有效地与其他部门协作。

    美国伦斯勒理工学院(Rensselaer Polytechnic Institute)计算机科学专业的毕业生安吉拉?科普兰(Angela Copeland)后来转行成为营销人员。

    他说:"虽然我从计算机编程人员改行成为市场营销人员,但我的编码知识背景真的帮了我。首先,当我为一个网站项目工作时,我很容易与开发商直接沟通。最终,这使我的项目完成地更快、更准确。"

    金属回收公司ElectroMetals的营销专家Alex Barshai说,虽然他的公司不要求员工具备出众的编程技巧,但具有编程知识的求职者具有明显的优势。

    苹果创始人史蒂夫?乔布斯曾经说过:"这个国家中的每个人都应该学习计算机编程,应该学习一种计算机语言,因为它能够教会你如何去思考。"

    总部设在纽约的小型企业贷款公司LiftForward的首席技术官Mike Grassotti说,编程知识之所以如此重要。

    还有其他一些原因:它们可以帮助员工"使某些琐碎的工作得到自动化的完成",或者帮助他们"以其他人意想不到的方式解决某些问题"。


    当然,仍然有很多薪水更高的职业不需要编程知识。

    例如,承包商的平均年工资是6.5239万美元,但他们大多数并不需要编码技能。很多石油钻井工人也不需要编程知识,而他们的年收入达到近10万美元。

    而且,根据劳动部门的数据,在未来几年内,企业可以雇用海外的电脑程序员。

    但是,这并不能否定如下事实:美国工人仍然需要编码技能或知识。

    而且,专家认为,企业对具备编程知识的员工的需求一定会上升。事实上,有些专业人士说,未来的几乎每一项工作都需要一些编码知识。

    Coding Dojo公司CEO理查德?王指出:"在现在这个数字经济社会中,对那些想要走在其他人前面的职业人士来说,编程是必备的技能。

    编程技能最终会成为雇主的硬性要求。

    正如Mike Grassotti所说:"编程知识是新的扫盲知识:就像阅读的能力一样,编程曾经是一门选修课,但它很快就会成为一个最基本的要求。

    "编码知识背景不仅仅是未来信息时代的"敲门砖"。

    培养的逻辑思维创造思维模式更是能使工作项目完成地更快、更准确。
  • 个人主页https://it.wenda123.org/
  • 自我介绍https://it.wenda123.org/
    问答之家 所有的问题都能在这里找到解答
  • 生日-
  • 性别保密

用户认证

手机认证 

活跃概况

  • 注册时间2021-7-21 20:29
  • 最后访问2021-7-23 16:16
  • 上次活动时间2021-7-23 16:16
  • 上次发表时间2021-7-23 16:21
  • 所在时区使用系统默认

统计信息

  • 已用空间 0 B
  • 积分10
  • 威望2
  • 金币2
  • 魅力2
  • 推广0

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-4-28 19:49 , Processed in 0.033788 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部