您如何最大化从编程书籍中学到的知识?[关闭]


26

并不是因为我在乎某人要花多长时间才能读书,而是因为我对人们如何以最佳,最有效的方式将一本书(或其他来源)的知识带入大脑感兴趣。

就我个人而言,我采用了多次通过的方法(从我的回答到原始问题):

  1. 浏览内容,浏览并阅读带有有趣标题的所有内容,最后浏览所有漂亮的图表和插图。在这个阶段我不会花很多时间,但是这使我对这本书有一个心理的看法(最多一个小时左右)
  2. 首先通读这本书,通常我会通读本书的开篇章节,这本书要么很沉重,要么介绍了一些全新的东西。对于涵盖我已经知道的主题的书籍,我将略过或略过一些琐碎的内容。本书的其余部分将相当快地通过,但不会很快,以至于我只是翻页。(约一周)
  3. 并不是我所读的所有书都能做到这一点,但是如果我发现一本书有趣或有用,那么我将对其进行适当的研究。我将以较慢的速度浏览本书,并完成部分或全部示例,尝试代码等。除非本书真的很不错,否则我通常会跳过整章(取决于本书的1-3周)。
  4. 最后,当我完成阅读并阅读其他书籍时,我会经常一遍又一遍地进行交叉参考,比较,查找,浏览等-因此,我最喜欢的许多书籍最终都不会聚集在一起书架上的灰尘。

我在阅读时很少记笔记(尽管如果我正在处理诸如代码示例之类的内容,我可能会在纸上做一些计划)。我还考虑过开始使用个人看板来组织我的进度,但从未完全使用该技术。思维导图是我喜欢的另一件事,但很少这样做。

人们还有什么其他方法?您如何找到他们?您是否有浪费时间的普遍推荐技术?


我个人试图证明作者是错误的,或者看看是否有破例,或者我不理解。IMO,您学到的但不测试错误的任何知识都可能是一把双刃剑。
HopefulHelpful

Answers:


30

做练习。

如果没有,请发明一些。


3
在完成练习之后,以自己的方式用自己的代码重新实现它们。例子很好,但没有什么能像现实世界中那样完全理解一个概念。
雨果

+1:您可以将其添加到以下答案的顶部:“实践”。
Klaim

这些天到最后的所有编程书籍都提出了一个简短的项目。这样做是任何人都可以追踪进度的最大基准。
2012年

6

确保在日常编程中尽快应用某些技术。

我发现,如果我不立即应用所学到的内容,那么当我真正需要它们时必须重新访问它们。


1
绝对。我还认为,只有当您在与书中介绍的环境不同的情况下应用某些内容时,您才真正从记忆转变为理解。不幸的是,这并非总是可能的……尽管是我在这里工作的开发经理,所以没有人会真正质疑我是否可以提出一个合理的理由,为什么我们应该在Prolog中执行某某某事或诸如此类,这是有时不适合将其带入日常工作。我想这就是个人项目的目的,但是您将失去累积学习的许多好处。
FinnNk 2010年

@FinnNk-我没有说这会很容易;)这就是我目前使用WPF时遇到的问题。我正在家里做一个项目,但是没有太多时间花在这个项目上,所以我经常不得不修改我所知道的东西。
克里斯·弗雷德

6

突出显示任何让您感到惊讶的内容。这将使将来更容易找到它。

在空白处大量书写。

如果您将书借给某人,请该人遵循这些相同的规则,最好使用不同的颜色。这为您的书增添了价值。


2

和朋友一起去看它。最好还是考虑像“配对编程”这样的练习来阅读这本书,在这本书中,您都试图互相解释。(当然也要像上面所说的那样做练习)


1

实行

仅使用您对算法或技术描述的记忆作为参考,即可自己实现所阅读的每种新算法或技术。


1

由于我的注意力不足,当我以传统的,从头到尾的方法学习时,我发现很难集中精力。我跳到本章的最后,直接进行练习,然后结合使用本书和互联网作为解决问题的参考。

一旦我将自己摆在一个位置,必须以书本材料为最终目的,而不是“因为我应该知道”而没有学习它,这些概念就变得更容易掌握和实践。

我关注的重点还意味着我不直接键入代码示例,而是考虑自己的示例并使用书中的代码来帮助我实现它们。在学习过程中发挥创造力可以确保我玩​​得开心,所创建内容的独特性使其更容易记住自己在做什么。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.