快速前言
边干边学:知识与专有技术
知识和专有技术之间存在巨大差异。对于新学习者来说,通常会犯这样一个错误,他们认为,因为他们可以在阅读程序时“理解”程序,所以他们实际上了解了按原样编写程序的原因。
达到第二部分的唯一方法是练习。坐下,打开文本编辑器,命令行,然后进入。
在这一阶段,您理解(理解)多个复杂软件组件之间如何交互的能力很可能受到了限制。这实际上是一件好事,因为它迫使您从基础开始。不要跳步枪,以正确的步伐前进:从小练习开始做一些小任务。
老实说,我从来没有说过要开始学习使用Java编程是要走的路(我曾经在大学里教过编程,但有时还是上私人课)。它本身太复杂了,无法入门,并且大多数Java书籍看起来都令人生畏。但是,只要您将自己限制为逐步学习,就可以做到(至少对于程序员期望的全球知识的某些领域而言)。
图书
当您开始使用Java时,如果您需要一本不错的Java书籍,我建议:
- 用Java思考。可以,尽管现在有点过时了。
- Java教程。它不完全是最佳学习者的伴侣,而是一个很好的参考书,因为它涵盖了所有基础知识并提供了示例。在学习Java语言开拓者也许应该是你的阅读清单上,但我认为它可以是艰巨的完整的初学者,因为它引入了概念可能很难在第一把握。
- 有效的Java。这不是一本好学的书,但也是以后应该掌握的精彩参考。不是一口气读,而是一口大小的东西。
我只说这是因为我不知道您在课堂上使用什么。还有很多其他书籍。有些很好。有些会削弱学生多年。
您的学习过程
基本工作流程
从现在开始,我建议您按照此两步过程来完成您在课堂上看到的所有练习和代码示例:
- 阅读和学习
- 阅读练习
- 确保你了解他们
- 码
- 合上书本
- 坐在那个代码编辑器和命令行的计算机前
- 尝试自己重写程序
如果失败
如果您失败并觉得自己需要看一眼这本书,则失败的原因可能是:
- (很可能)您实际上并不了解解决方案,
- (不太可能)您忘记了该解决方案的特定外观:语法,API使用...
第一个原因可能是您最常遇到的问题。第二个是轶事。两者都通过反复实践得到解决。
每当您未能实现这些早期示例之一时,请再次阅读该书,然后再次关闭它。看书时不要编码。我什至建议您删除整个解决方案,然后重新开始。重复是学习过程中令人讨厌但很重要的部分。
不要掉以轻心。每次您想告诉自己“是的,好的,我知道这一点”或“我在那里90%,这几乎和完成的一样好”时,您想要跳到另一部分,反击这种渴望并重新开始。要诚实地承认自己对概念不完全了解是非常困难的。
旁注:我认为,大多数学校课程现在试图通过过多地愚弄事物并提供对学生而言过于先进的工具来试图“启动”编程课程,这是一个极大的伤害:目标不是让您的生活痛苦或对您太学习内心深处,您职业生涯后期的事情将通过您的工具实现自动化,有时您甚至几乎不会记得。这是要教你所有漂浮的零碎。
成功案例:超越!
如果您成功实现了练习,则不必直接跳到下一个练习。尝试看看您可以做些什么来改善这一点。您可以更改请求的输出吗?添加一个小功能?一个选项?尝试一下,因为您现在正处在克服主要困难的有趣区域中,这些自我强加的微小要求更有可能使您精神振奋。
不过,不要走太远:从打印字母并反转字母到突然使它以彩色渐变出现在屏幕的对角线上,您都不会走过。采取小步骤。学习是一个漫长而反复的过程,您需要以越来越高的难度来解决问题(例如,查看我通常如何解释递归)。
只是学习-比较
您的问题实际上根本与编程无关。这是成千上万的人在尝试学习数学时遇到的相同问题。
如果您给他们带来问题,他们将看不到如何解决问题。但是,如果您为他们写下解决方案,则大多数人都会理解它,并认为“该死,这是如此简单!”。但是,您将使用不同的度量和假设为他们提供类似的问题,而他们将无法解决问题:他们不了解其背后的逻辑,他们需要实践才能自己做到。
请注意,这是数学中的一个普遍问题,但我认为您会在其他许多需要逻辑的领域中看到它:学习语言,语言语法,物理等……而且这不仅仅限于“自然”能力理解这些东西:这只是要实践(无论是在那个领域,还是在其他领域中,使人们更容易掌握该领域的概念)。
没有理由您不会学习编写代码。您只是不断尝试直到达到“啊啊!”。/尤里卡时刻。然后继续研究下一个更困难的问题。
这些可能也有帮助(以后):