一直想写一个该怎么学习的心得Blog,大一下到大二上自己课余看了几本书,从中体会到了不少关于学习的心得.这个"学习",是指自学. 没有老师,很多以前的学习方法的确都需要调整.
最近在左岸读书上读到这么一篇文章,还有Toplanguage上的一些讨论,各种总结很多,趁着共振,结合自己的实践,写下一些关于自己学习的Tips和总结。毕竟,偷别人的感悟也没用,学习还是适合自己的方法最重要。当然,这不是忽略交流 ![]()
1.寻找更多明智的朋友
开始花更多的时间与那些善于思考的人在一起。并不仅因为他们聪明,而且是因为他们投入了很多时间学习新的技能。他们的好习惯也会在你的身上摩擦出火花。甚至更好的,他们可能会与你分享他的知识。
的确,我在TopLanguage和几位订阅的大牛Blog中学到不少东西。尽管个人学习、发展的方向和方法离不开自己在学习中的思考,但毕竟个人知识、阅历、思维广度有限,他人好的思路方法值得借鉴学习,就像TL的开头语:我们分享和讨论,而不是提问和回答。与他人的讨论是对自己想法的整理,也是获得新视角的重要途径。
对了,不要忽略老师的作用.有一句话是这么说的:要是人人都可以自学,那还要老师干嘛?自学了一段时间,我觉得老师在一些方面是不可替代的,比如
- 在一些比较难点上,也许老师一句话的点拨就会让你豁然开朗。毕竟老师专于一个领域,对这个领域的知识的理解比你这个新手透彻的多、思路比你开阔
- 学习方向有过来人的指导有时更靠谱,方向这种东西,靠知识更要靠经验,有的时候你会过于乐观得高估你的想法的可实施性,毕竟你没试过
2.指导自己的思想
爱因斯坦曾经说过:”任何读多思少的人都会养成懒惰思维的习惯”。只是简单的学习别人的东西,这样的智慧是不够的,你要在此之上建立自己的想法。多花点时间写日记,把你对这些学到的知识的思考和想法记录下来。
开始的时候自己读了一些东西感觉没什么收获,或者仅仅是一些”量”上的收获。之所以会这样一是 追求量、赶进度而逃避一些思考,主要是一些教材中难点的思考和教材后的习题。想一想,只是学会一些皮毛的和一看就会的有意义么?一个新事物的重点通常也是不易理解的难点,逃避,你就失去了透彻理解一个理论、一种方法的机会
还有一个原因,就是你理解了,但是..知其所以然的学习你做到了么?这个问题pongba说得很清楚,而且文最后的建议也很值得借鉴.说白了,就是多深入得思考一些东西
3.付诸实践
如果不使用,学来的技能也是无用的。读一本C++的书,和写一个相同的程序,是完全不同的两码事。学画画可不是简单的拿起画笔。如果你的知识能被应用,那就付诸实践吧。
特别的,计算机科学是纯科学与工程的折中物,你能用抽象的数据结构和算法完成一个程序么?你能用学会的计算机组成原理自己搭建一台通用计算机么?当然实践不只是动手实践,更广义地,它是指应用理论知识.数学建模是数学理论的应用,程序设计是算法的应用,更直接的,不要错过课后的习题,它们就是刚刚学过的理论的直接应用。通过下手实践,你会对理论有更深刻的理解,比如一个定理,你仅仅知道它,但是直到你运用它去解题时你才会理解:哦,原来它可以这样应用.不仅如此,有时你觉得一个东西很难,但是你拿它上手一会后再回过头来看理论,是不是不觉得那么难了?
没有应用价值的知识不是好知识,这句话在某些领域或许有点偏激,不过对计算机科学这种学科,我把它奉为真理。举个例子,再牛逼的算法也是有可能被淘汰的,因为计算机科学算法的设计在于应用,而应用必然会受到硬件的限制和影响。随着硬件的发展,一些算法和软件设计方法是要被淘汰的,比如磁带上的外部排序。但是,尽管这种外部排序的方法在应用中没有价值了,你也没必要记了,它的思路在有些限制条件下是值得借鉴的,这就回到了第二条:指导算法设计的思想
4.教导别人
寓学于教。如果你能把知识教给别人,你也可以巩固学习。建立一个博客,开导别人或者与朋友们讨论想法。
在我的以前的转载的Joel On Software的一篇文章中提到了,可以回过头去看看,用一句话说就是:有效得表达你的idea和想出一个idea一样重要
5.整理你的博客订阅
有些形式的学习很容易消化,但往往缺乏实质内容。我就经常定期清理我订阅的博客。伟大的博客就是一个新思路的巨大源泉。但每隔几个月,我就意识到我总是收到那些我不关注的博客的信息。每隔几个月,清理你们的订阅,就可以节省时间,注意重点。
恩 RSS是个时间黑洞,但是不代表它没有用处,在这个处处信息爆炸和信息焦虑的时代,合理的RSS订阅是必须的,省去那些无用的、强迫的RSS和各种好友Feed吧