程式設計師高效學習方法
注:以下內容出自http://www.cnblogs.com/weilu2/p/learning_method.html
1、自頂向下的學習方法
也就是分層學習,與網路化學習方式有一定的關聯性
2、網路化學習方法
說到網路化學習就不得不提到傳統的學習方式,線性學習。
認知一個事物的過程,是通過逐一認識這個事物方方面面的屬性來實現的。但對於一個特定的事物的認知過程中,其各個屬性之間的關係有些是線性的,有些是有網狀關聯的,甚至還會有一些是孤立的。
這種線性的學習方式效率很低,而且把一個單一事物的認知過程人為的拉成線性的,會造成學習週期長,顧頭不顧尾的情況。而且會割裂各個屬性本身存在的聯絡。
這種學習方式不可取。
如果這個事物很大,那就可以拆分這個事物,將一個大的屬性拆分成小的屬性,尋找屬性之間的關聯關係,設法構造出網路連線
如果這個事務很小,那就需找外部關聯,將這個事物與其他事物關聯起來,構造出網路連線。
3、假設驗證學習方法
常規的學習新內容的方法是先進行理論學習、然後分解理論,瞭解具體機制,採用練習進行驗證自己的理解。
但這樣的學習方法存在一些問題:
1)比如當理論內容比較多、複雜的時候,前期在理論上投入的時間精力會過長,甚至導致學習過程中斷;
2)學習過程中所使用的資料是別人對於一個事物的理解,然後轉述出來形成的材料。在材料形成的過程中可能會在兩個環節可能出現比較大的問題,一個是別人對於事物的理解未必準確;第二則是文字的表述未必能夠把其對這個事物的理解完整的表達出來;
面對這些問題,我的改進方法:
1)先對理論有一個概覽
2)然後找一個覆蓋核心理論,但是省略一些具體細節的示例,通過對這個示例的實踐和分析,建立一套自己的理解
3)將自己的這套理解通過文字的方式表述出來
4)將自己的理解與參考資料的理解建立關聯關係,進行對比交叉驗證,如果存疑,就尋找第三方資料,直至明確未知
5)在主體理論明確之後,根據參考資料豐富自己所理解內容的細節,逐步形成一個相對完善的理解
注:在學習過程中一定要注重將自己的見解表達出來,如果是獨自學習,可以通過寫資料的形式進行。