“你好,阿米戈,我的朋友(请原谅我不断重复说的话!)。你可能听过这句话:‘平时多流汗,战时少流血’,对吧?”

“嗯,的确如此,学习通常并不容易!你正在掌握一种新的职业——程序员,很可能,你正在彻底改变自己的工作行当。”

“CodeGym 包含了大量的实践练习。它占整个学习过程的 80% 以上。”

“我们把这些实践练习变成了一个大而有趣的任务(实际上是一系列的任务),但每个人都不一样:有些人学得快,有些人学得慢。有些人很容易掌握新内容,而对另一些人则更难。然而,我们的工作是让每个学生都到达终点。”

“但是,教授,如果无论我怎么努力,我都无法完成下一个任务,或者如果下一个题目对我至关重要,但我无法理解它的内容,怎么办?”

“解决方法很简单:社区。该社区包括像你这样的学生、毕业生、教师和专业开发人员……

“程序员不仅仅是几百万人用不同的语言编写代码,并在空闲时间创业。他们形成了一个全球性的网络,不断地与他人分享自己的知识。他们乐于回答问题,并帮助他人理解复杂的题目。”

“世界上最大的开发者社区——StackOverflow 网站已经启动,这是因为程序员需要相互学习。其想法很简单:你提出一个问题,世界上任何一名程序员都可以回答。非常方便,对吗?:)”

“在 CodeGym,我们认为学生之间的知识交流有着巨大的价值。通过帮助别人,程序员可以实现个人的成长(毕竟,没有什么方式比给别人解答问题能让你自己更好掌握知识的了)。”

这就是为什么我们创建了一些特殊的版块,旨在让我们所有的学生有机会在学习过程中分享知识,并互相帮助。

“那么,如果你在某一任务上停滞不前,该怎么办呢?在互联网上搜索完整的解决方法,这并不是一个好主意。如果你找到了一个方法,你就会得到这个任务的奖励。但是,你在任务的理解上仍然存在差距,肯定这个问题以后还会回来纠缠你。相信我。”

“最好还是开始积极地使用帮助版块。”

“这真的很简单。只需点击任务旁边的‘帮助’按钮:

“如果你需要从某一特定级别查找某一特定任务,只需在搜索栏中输入它的名称。”

“或者,从下拉列表中选择你需要的任务和级别。”

“如果选择‘已解决’过滤器,你将会看到 CodeGym 社区中已经回答的问题。”

“只需点击‘提问’按钮,附上指向该任务的链接,然后描述你的问题。”

“注意:不允许在‘帮助’版块以完整代码给予答复。该版块的目的是让用户给对方提供一些建议,以有助于他们自己找到正确的解决方法。一方面,你在问题的理解上将不再有差距;另一方面,你会对自己感到满意:你完成了这一任务而不是跳过去,或用谷歌搜索找到一个完整的解决方法。除了有好处之外,再无其他!:)”

当你在 CodeGym 上积累了经验后,不要忘记“帮助”版块!正如我上面提到的,没有什么方式比给别人解答问题能让你自己更好掌握知识的了。CodeGym 的学生们会很高兴你来帮助他们,这就像其他人来帮助你一样。只需选择“新”过滤器,然后尝试回答程序员同学们所提出的问题。他们会非常感激你,同时你也会再次深入研究这个题目,深入研究别人的代码(理解别人的代码是程序员的一项重要技能!)。

但 CodeGym 不仅仅是用来学习的地方!我们还与程序员同行(初学者和专家等)进行互动。”

“通常,人们会在社交网络上创建群组,与志趣相投的人进行联系。我们认为这是一个好主意,因此我们的网站也有群组”。

“正如你所看到的,有不同类型的群组。这些群组侧重于各种 IT 问题(例如,有面向前端开发人员和测试人员的群组)。

“一定要加入我们网站的三个主要群组!

CodeGym 群组中,我们会发布有关网站、竞赛和促销活动的最新消息。所有网站的更新内容和更改信息都将在这里最先发布。”

“在随机群组中,我们会发布一些普通的、有趣的 IT 文章,其中许多都是由我们的学生和毕业生撰写的!在这里,你可以通过了解新技术,查找书评,获取如何找到工作的技巧,阅读 IT笑话开心一笑等等,极大地扩展你的视野。:)”

“还有一个排行榜版块。”

“成功完成所有的任务,有一天你可能会成为所有学生中最优秀的一个!:)”

“在 Java 开发者群组中,你会看到有关 Java 的一些有趣文章,更多的培训资料,以及有关该语言的一些新闻。”

“还有更多的群组。CodeGym 是写作新手的最佳去处!写文章是一个可以缜密组织自己在某一题目方面知识的极佳方式。”

“好的,太棒了。实践很有意义。但是理论起什么作用呢?”

“当然,理论也非常重要。如果物理学家不对他们的理论知识进行应用,而是一味做实验,虽然很有趣,但可能获益不多!编程也不例外。在 CodeGym 上,我们主要侧重于实践,这可以让你尽快进步。然而,你可以(我们强烈建议你这样做!)从其他信息来源获取知识,主要是书籍。”

“每个人都是不同的:有些人只是在 CodeGym 上读了一小节课,就可以很快理解;另一些人则认为从其他来源收集信息,加以总结,然后得出结论更为方便。”

“以下是一些关于 Java 编程的最佳书籍,你可以在 CodeGym 上学习的同时阅读一下这些书籍。每一本书的自身价值在很久以前就得到证明,它绝对不会浪费你的时间和金钱。”

  1. “作者:Kathy Sierra 和 Bert Bates,Head First Java”

    “这绝对是 Java 初学者的最佳书籍!”Head-First 系列丛书有几十本,涉及到各种编程语言。作者有他自己独特的方式来呈现素材,使其易于阅读。此外,你还可以在该书中编写代码和完成任务!”

    “无论你在 CodeGym 上的级别是什么,即使处于第 0 级,你都可以开始阅读此书。:)”


  2. “作者:Herbert Schildt,Java:The Complete Reference

    “这本书对初学者也很有好处。与前一本书的主要区别在于素材的呈现方式:这本书的素材是以更严格和一致的方式呈现的(许多人更喜欢这种‘游戏规则’式的呈现方法)。其无可争辩的优点之一是,它能把素材分解成最小的细节,有时甚至是重复的。”


  3. “作者:布鲁斯·埃克尔,Thinking in Java(《Java 编程思想》)”

    “这是 Java 程序员的圣经。这并不夸张:每个 Java 开发人员都应该阅读此书。它是一本大部头的书,这是有缘由的。这个书名并非随意得来的:它不仅涵盖了该语言的特定主题,还介绍了 Java 的哲学——思想体系;为什么该语言的创造者有时会用自己的方式而不是其他语言的方式来做事。”

    “该书并不完全适合初学者,但当你达到 CodeGym 的第 20 级时,就可以开始阅读了。”

    “这些是你应该阅读的必备 Java 书籍(还有许多其他书籍)。通过阅读书籍,除了学习语言之外,你还可以扩展你对编程的总体理解。以下是一些最好的书籍:”


  4. “作者:查尔斯•佩措尔德,Code:The Hidden Language of Computer Hardware and Software(《编码:隐匿在计算机软硬件背后的语言》)”

    “这本书在亚马逊上的评分 (4.7/5) 以及其他平台都好评如潮,这就可以说明其价值了。”

    “对于那些早已忘记在高中计算机科学课上所学内容,或者从来没有上过计算机科学课的人来说,这是一本很好的书。它用外行人的话来解释计算机和代码如何工作的重要问题。例如,计算机如何执行程序员编写的代码?计算机如何理解代码文本,即人们想让计算机做什么?”

    “这本已经成为经典之作,其包含了这些问题的答案。对于那些没有经过专业教育而在学习编程的人来说,这本书在帮助他们加快学习进度方面做得非常出色。”


  5. “作者:Aditya Bhargava,Grokking Algorithms(《算法图解》)”。

    “算法和数据结构非常重要和必要。两者代表了程序员工作的重要部分,程序员必须有效地使用它们!例如,如何对数千个随机数进行排序?”

    “事实上,你可以用很多方法来完成排序!但是,这些方法远非同样有效。有很多关于算法和数据结构的书籍和课程,但是 Bhargava 的书绝对是刚开始学习编程的人的最佳选择。它使用简单的语言,包括详细的解释与图片,并且该书不是很厚重。这正是你需要开始读的一本书!”

“阅读书籍,完成任务,参与社区活动:这是成为程序员的完美秘诀!”