3

学习编程过程中感觉很有趣,为什么到单独去做项目就不知道从何下手?

 2 years ago
source link: https://www.zhihu.com/question/524981111
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

学习编程过程中感觉很有趣,为什么到单独去做项目就不知道从何下手?

单词记不住,思路也忘记快
59
8,045

31 个回答

学习程序设计给大多数人留下了痛苦的记忆,他们往往在兴致勃勃地学习了一段时间后遇到挫折并认为自己“基础太差、不适合编程”,从而选择了“从入门到放弃”; 但是从另一方面,我们看到又有不少人从初中甚至更小的年龄阶段开始学习编程并取得了成功,真是因为他们是“天才”吗?

程序设计是一种实践能力,很多人学习编程的方法和习惯是错误的,主要体现在:

  • 在他们看来编程是一门知识,学习过程就是学习编程语言的语法和知识点,听课时认为讲得多的老师就是好老师,习惯了老师讲授、课堂记笔记、课后做习题这样的学习方式;
  • 他们把学习程序设计看成是模仿和记忆,做练习时急于查阅参考答案,找到答案也不深究为什么,有些学生甚至用“背代码”的方式来应付考试;
  • 他们总是在初学阶段纠缠于语言的细节,例如研究“C语言表达式a=m+++m++执行后a和m的值分别是多少?”这样在实际工作中几乎绝对不会出现的问题上;
  • 他们出于通过考试、找工作的动机迫切地想要学好编程,对书本以外的思考和学习缺乏兴趣,认为那些无关紧要;
  • 他们认为需要消耗大量时间的项目实践太费精力,抄一个最省事,忽略了项目实践中才能锻炼和提升对程序员来说最重要的编程思维和实践能力。

这些观念对初学者学习编程造成严重障碍,是从中小学阶段应试教育带来的后果。在日常教学中我们经常发现“老师教的、书上写的都会,给一个新题目就没有头绪”成为众多学生的不可逾越的难关。

要克服这个问题,就必须要换一种方式来学习程序设计.

学习的目的是为了应用,应用是为了解决实际问题。学习程序设计的目的是为了开发出可以实际应用的软件,而不是会做很多练习题。幼儿能在不识字、不懂语法的情况下快速掌握母语听说能力,就是因为他们的学习是基于应用目的的。

很多人陷入“我需要先读完很多书才能学以致用”的误区,这种学习方式有两个弊端:

  • 学了后面忘了前面;
  • 即使都学完了,也没有能力将零散的知识点连接起来加以应用,应用时碰壁会极大打击积极性从而无法坚持下去。

因此“学以致用、学了立即用”是最有效、最鼓舞人心的学习方式,边干边学、边学边干才会锻炼实战能力。基于应用的学习方法包括下列步骤:

  1. 理解要解决的应用问题;
  2. 思考和设计解决问题的方案并找出自己目前不能解决的问题(知识盲区);
  3. 针对不能解决的问题开展学习(读书、查资料);
  4. 用代码实现应用目标;
  5. 分析、排除程序的故障;
  6. 思考和寻找更好的解决方案,并对代码进行优化和迭代。

完成这些步骤后,你会发现你逐渐具备了“程序设计”的能力,而不仅限于编程语言本身或仅限于会做几个习题。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK