编程的门槛 - 抄作业的得与失

14 小时前 阅读数: 6
编程的门槛 - 抄作业的得与失

我的编程之路-1(启蒙)中给新学编程的同学的第一个建议是:不要抄作业,尽量自己完成。

好的开头是成功的一半。

在学编程初期,所学的知识点本来不复杂,只要认真学习,就可以有个好的开始。这样容易建立起正向循环,增强自己的信心。

但难免会遇到困难,比如:

  • 遇到不容易理解的概念

  • 动手实践时受阻

这就引出编程的两个门槛:编程思维和动手能力。

编程思维

编程思维是一种我们日常生活中较少使用的思维方式,在生活和大部分工作中,大家可以按部就班,对需要解决的问题也习以为常,一般只需付出少量的思考,凭借本能即可完成要做的事情。

而编程思维近似于每次编程都要解决一个未知问题,并不存在一个可以按部就班的套路;这和证明一个数学命题很像,命题是对是错,需要亲自推导一遍才知道。

所以,就像数学思维需要学习、训练一样,编程思维也不仅只是学习知识,还需要练习如何使用知识解决不同问题的思维方式。这个思维训练是必须要经历的过程,尤其是新学编程时,不能为了走捷径而跳过。

思维 > 知识

数学思维训练的第一本书《几何原本》,正确的学习方法应该是只看命题,全都自己推导一遍。很多数学天才也都是采用类似的方法,只看前人写的书的目录,自己就能推导出书的内容。

编程思维也类似,背会知识点对解决问题帮助不大,唯有大量的练习。

思维能力的可复制性

勤于思考是种能力,该能力是自身的,受自己意志控制;

走捷径、找关系也是种能力,但是利用他人的能力,受他人意志控制。

自己可控的能力就会产生可复制性,加持到自己解决的每一个问题上。

如何做到不抄作业?

抄作业的同学都希望给个模版,期望有标准答案,这说明自己没有系统的掌握所需的知识。

拿到题目/问题,通过还原论,分解问题,逐个去找答案,最终完成问题的拼图。

这里区分下找答案和抄作业的区别,抄作业是省去对问题的分析和思考,直接找现成的解决方案来据为己有;找答案是经过对问题的分析之后,明确了问题的范围,针对性地去找答案。答案是几乎都能找到的,而且快而精准,作业则不一定,存在运气的成分,尤其是不一定能找到完全一致的作业。

动手能力

就像游泳不下水、炒菜不下厨是永远学不会的,动手能力不是天生的,都是经过后天的练习才能掌握。

编程由于涉及的流程和工具众多,每个环境,每个工具都需要熟悉、掌握,所以特别强调动手能力,尤其是快速学习新知识的能力。好在流程和工具方面一直在改进,现在这些的学习成本已经很低了。


退而求其次,就是抄也要抄优秀的作业,起码不会养成坏的习惯。

很多同学就栽到了抄差作业上了。

用户头像

顿晓

关注

尝试乃成功之母。 2017.10.17 加入

一个不爱编程的程序员, 一个用软件来解决问题的工程师, 一个有匠心的手艺人。

评论

发布
暂无评论
编程的门槛 - 抄作业的得与失-InfoQ写作平台