[讀書心得]Rapid learner

Reading time ~2 minutes

推薦

rapid learner

Scott H. Young 為加拿大人,他最有名的事蹟就是在 12 個月自學完成 4 年 MIT 的 Computer Science 33 門課程,通過所有考試和測驗,而他在 Rapid learner 中要帶給我們的就是如何使用”整體性學習法”學習。雖然本書是英文,但使用的單字和文法十分直白,可以看得很快,我個人看完後,實際用在學習上效果非常顯著!想要傳送門請至HOW TO BECOME A RAPID LEARNER

下面我會先介紹我在 Rapid learner 中得到的精華,結束後會跟大家分享我實際利用書中理論的經驗。

大綱

學習是一切的根本,在這個變化快速的世界,最終都是在競爭“誰能學習得更快”! 本教材總共分六章,有系統的幫我們整理出“不會水過而無痕跡”的學習方法,在這知識恐慌的年代,無疑是一支浮木呀!

  1. Project: 用專案管理的方式制定我們的學習計畫,這裡講的跟 PMP 的 PMBOK 前兩章有 80% 相似 XD
  2. Productivity: 學習動機、能量管理、精神支柱等…都跟學習的效率息息相關,對要學習的事情充滿好奇是很重要的。
  3. Practice: 練習最重要!學習時,要 75% 的時間放在 practice 上。
  4. Insight: 將學到的東西內化成自己的見解/直覺,測試自己、改進自己、迭代自己。
  5. Memory: 快速記憶沒有明確關聯的知識 (ex. 背單字)
  6. Mastery: 學了知識後,如何進一步對待這些知識?

本教材影響我最大的是第3章 Practice 和第四章 Insight 的方法,本篇會把重點放在這兩章。

心得

第一章,制定專案

學一個技術時要專心,要堅持。給自己一到兩個月的時間專心學一個技術,比花六個月同時學三到四個技術的效果來得好。 此外,挑選適合自己的教材非常重要,花多一點時間翻閱相關教材的文字敘述風格,大略了解整個技術的背景,這個過程可以當成走馬看花來享受。 時間規劃方面可以分成 Top-down 和 Bottom up , Top-down 是由下往上推算整個學習所需要花費的時間,例如:一個禮拜讀一章,八章就要花八個禮拜,所以整個學完需要兩個月! Bottom up 是由固定時間來換算出每個階段要花多少時間完成,例如:這個技術我想花一個月完成,而我選擇的教材有四章,所以我一個禮拜要讀一章。一門技術,要淺可以淺到只知道如何使用,要深可以深到學習內部是如何實作,甚至了解背後的設計概念。制定範疇 (scope) 是專案管理非常重要的一塊,決定什麼該做,什麼不該做!達成目標的標準要遵循 SMART 原則:

  • Specific (明確): 目標要明確!ex. 在本學期電子學的課學會電子學 > 電子學期末考要80分以上 > 每次電子學作業的觀念要全部了解
  • Measurable (可測量): 可以利用測驗或其他方式審核學習目標
  • Attainable (可達成): 在規定期間內達到此目標不是天方夜譚
  • Realistic (實際): 每個階段都有觀察的指標能審核學習成效
  • Time-based (限時): 學習專案有時效性

時間可以用一週來當單位,每週一 review 一次上一週的學習成效,不要頻繁的修改目標,設定 soft deadline 給自己緩衝的時間。

第二章,能量管理

根據每週安排的進度做優先度排序,先做優先度較高的任務!可以每天早上等車或開車的時候制定 Daily goal,晚上睡覺前回顧 Daily goal。關於 Daily goal 執行上的得失心不要太重,沒完成是正常的,不要因此心裡有負擔。

再來的重點是管理 energy !! 我們大部份不是真的身體累、頭腦累,而是精神能量消耗殆盡…不要忽略補充自己的能量。 我們要盡量每天運動、培養興趣,休息時做自己有興趣的事,和家人跟朋友交流,讓自己快樂,還有精神目標,或者說是神的引導,不斷思考自己人生意義並往前邁進。

如何克服拖延症:

  1. 當想休息時,跟自己說先忍耐個10分鐘再看看,10分鐘過後如果還想休息再休息。
  2. 切換工作:1小時做A,1小時做B,互相切換防止無聊。

如何知道適合自己的學習速度? 每週測試自己,根據完成進度和精神狀況調整每週工作量,在迭代中達成平衡。

第三章,練習再練習!

根據實驗結果,我們了解到如果使用小範圍記憶法,短期內記得很清楚,但過2~3個月就會忘的一干二淨,這也是為什麼很多人期中考前讀一個禮拜就考 90 幾分,但過幾個月就忘得一乾二凈。使用整體性記憶法(the meaning of idea),雖然短期效果可能不如小範圍記憶法,但因為掌握整個大範圍知識的脈絡,可以記得比別人更長久,也更能在不同狀況下活用知識,就算忘記,recall的速度也會很快,不會像第一次學習那樣一片白紙。

整體性記憶法(the meaning of idea) 的 Mindset:

  • Focus on 大概念 (forest)
  • Focus in hard question: 專注在自己的弱點(weak point)
  • 學習生產力衡量方式 = Time(所花時間) X Intensity(學習時的痛苦 (struggle) 程度)

(1) How to find weak point quickly?

如果有歷屆考卷,直接先寫歷屆考卷,從錯的歷屆考題去學習。如果沒過去的題目,每個章節自己出題!用所學自己解惑,自己解釋。 在選擇考題時,要先選擇 high level 的問題測試自己,因為它同時包含多個概念的應用,複雜的題型可以真正檢驗出學生的弱點。 再來檢討錯的題目,找出錯誤的地方是因為哪個觀念沒有了解透徹,並找出該弱項所有相關的 low level 題型,再拼命練習。

  • 重點:先做 high level 找出弱項,再根據弱項概念找 low level 加強練習!可以訂每日目標,ex. 每天兩題 high level 題目,三題針對不會的地方的 low level 練習

(2) 使用 Active recall!練習看到知識的森林(Big Idea),而不是枝枒:

看完一個章節、一個長段落或一節課的進度後,將那個部分的概念總結成 1~7(最多) 個關鍵問題,並在題目旁邊標註書本或筆記頁碼,而那個頁碼對應到的是問題的答案。每次複習時,請直接先看題目回答問題,再翻頁數去查看解答,而不是重頭開始看筆記複習。整理問題時,要跟著考濾其是否與專案目標吻合。

關於每次回答的分數可以分成四種:

  • 0分:完全無法回答
  • 1分:可回答,但漏掉很多細節
  • 2分:可以回答重點和細節,但回想困難
  • 3分:可以輕鬆回答

把分數記錄在問題旁邊,下次複習時直接先從低分的開始測驗。

在此介紹Anki這個好用的記憶管理工具,人們通常都是拿它來背單字,但其實 Active recall 也能直接用 Anki flashcard 幫助管理記憶週期,把 review schedule 都交給Anki是很不錯的選擇。

第四章,內化成直覺

我們將 75% 的時間放在練習,25% 的時間放在形成直覺和記憶。 形成直覺的方法,建議使用 Feynman Technique method,Feynman Technique 類似自我檢驗,防止學習者自我感覺良好而不自知。 有時候考試考不好的原因,不是因為不用功,而是沒有一套好的自我檢驗的方法,所以只好靠感覺猜測自己學習的程度到哪裡,碰運氣的成份居多。 有了這一套方法,我們就能透過不斷的重複檢驗自己,來達成扎實的學習了!

Feynman Technique(add spice in food):

  1. 寫下想要測試的觀念
  2. 解釋觀念!講出來,想像解釋給5歲的小孩聽
  3. 如果說不出來,或說的冗長沒重點,代表找到弱點!
  4. 找解答,再學習

解釋時,試著用比喻來簡化問題,也要解釋”過去的自己不清楚的是哪一點,為何不清楚”等等。 想要測試的概念可以先從大方向解釋開始,再針對各別細部的點做比較精確層次的解釋。 複習 Anki字卡 (active recall) 時,如果停頓很久,代表此觀念還沒了解透徹!是使用Feynman technique的最佳時機! 此時絕對不要因為逃避而跳下一題,要特別記錄下來刻意練習!

  • 關於 Feynman technique 的耗時,給自己約30分鐘~1小時搞懂,如果超過1小時還是不懂,直接尋求幫助避免浪費時間。

透過練習時思考練習題目背後,要測試的概念。了解透徹後,透過做low-level的題目刻意練習。

第五章,記憶

人類腦袋的強項是記憶概念與關聯,所以人類對具體圖像、空間、故事、物與物的關係,學得特別好。 所以我們的目標是將複雜的概念,轉化成容易記憶的比喻或解釋,最終形成永久記憶。

我們在學習的過程中,有時候新知識的某些概念會連結到舊知識,也就是不一樣的兩個東西,會有相同的隱含概念,這叫做 Metaphor,對記憶增強非常有效。 產生Metaphor的時機是可遇不可求的,經常在使用 Feynman Technique 和 active recall 時發生! 為了讓自己更頻繁的感受到 Metaphor,要常問自己:

  • 是否能一句話說明此概念的原則?
  • 這個觀念可以給一個實際的例子嗎?
  • 可以提供圖說明嗎?
  • 這個概念像什麼?

重點其實是想視覺化的”過程”,不是視覺化的結果。有時在使用Feynman Technique時,與其一直往下追到最細節,不如使用”比喻”做代替,不要脫離自己目標的範疇。

metaphor優點:

  1. 促進記憶
  2. 促進理解

但是…

別忘記之前說的,75% 的時間用在練習,練習優先!Metaphor 只是 helper,不能走火入魔,想用它取代練習。沒有夠多練習的話,用 Metaphor 只會越來越糟,新舊概念會混在一起。

Metaphor 使用情境: 剛剛用Feynman了解了一個概念,來用metaphor加強一下記憶吧!

關於背單字,本章提供兩個方法:

  1. Link method(不適合背太多單字(聯結也是負荷))
  2. Memory Palace(適合一次背超多單字)

(1) Link method步驟:

  1. 取兩個想要連結的idea (ex. book → 書)
  2. 將兩個概念都產生視覺化的畫面(ex. 用”聽起來像…”去產生畫面,像BOOW的砸)
  3. 將兩個畫面聯想到一起 (ex. BOOW的砸書)
  4. 記在Anki不斷練習聯結 (ex. 當想不起book的意思,只要想想他唸起來像BOOW,就能聯想到砸書)

(2) Memory palace步驟:

  1. 想像在自己熟悉的地理位置(ex. 家)
  2. 在心中走過此位置,想像其中的景觀物(桌子, 沙發…)
  3. 將遇到的景觀物和要背的東西連結在一起
  4. 當要回想東西時,就在心中把位置走一遍
  5. 當要背新東西時,要先用”想像”把之前背的東西燒掉

第六章,學了知識後,你如何對待這些知識?

很少人學習完一門技術,還會繼續思考要如何對待這些學過的知識,但這其實是非常值得思考的點,因為如果學過就忘記,水過而無痕的話,我們是無法透過學習改變自己的!這樣辛苦學習就沒有意義了。

本章節提供三種方式對待學過的知識:Maintain、Master、Relearn,這三種方法的選擇必須要是有意識的決定!越早思考越好!他會間接影響我們學習的態度。

(1) Master: 更進一步精進,再建專案,進行下個學習目標

在往更高層次學習時.常會遇到的問題是沒有學習資源,所以常需要用打游擊+訂立明確的目標來提升自己。以下有建議提供大家參考。

  • 同一份專案做“重構”,用更好的架構
  • 用學到的技術做不同的專案累積經驗,每個專案都要思考有沒有更好的做法等…如果做的途中遇到不熟悉的,代表找到弱點,要快回去relearn

(2) Maintain: 主動不斷回顧,保持在熟悉階段

以下是學習示意圖。60 分到 90 分叫 learning,在同一個level做重複的學習叫 overlearning! overlearning 的重複學習,目的不是更強,而是增強記憶。 Maintain 的核心概念就是要 overlearning。

60分–(learning)–>90分–(overlearning)–>90分

學習過後,仍然持續做負擔小的練習。將進度放在 daily/weekly goal,隨著熟悉狀況慢慢減少複習時間!

Ex. 第1年放在 weekly goal –> 第2年放在 monthly goal

哪種問題是適合練習的?有足夠深度、廣度和實用度的練習!

Ex. 英文對話 > 英文單字:小專案 > 程式面試題 > 重看筆記

觀念練習方面,建議複習之前 Active recall 說過的,每章節的七個問題,每週拿來考考自己。下面整理複習的方法,relearn 也適用!

  1. 一開始先用考試評估自己,確認哪的部分很難回想(ex 看書本目錄recall / 拿面試題自己考)
  2. 考試題目推薦做注重觀念的”複雜問題”,不是考片面知識的問題。重點放在回想的過程,不是結果,所以就算一張考卷一題都寫不出來也沒關係
  3. 檢討,先做錯最多、最難回想的問題 –> practice + recall
  4. 區分”新 recall 的知識”和之前的”舊知識”的區別
  5. 即使曾經學過,某些地方仍會感覺是第一次學 –> 用第一次學習時的策略 (參考上面幾章);重新學習的知識 –> 關注在概念!

(3) Relearn,可以允許忘記,但重新學習後,知識很快就會回來

如何讓知識快點 recall?

  • 歸納出“組織本知識”的方法,把這門知識各個概念都串起來,像粽子一樣,找到一個點就能一次一起拉起來!
  • 不要重讀筆記,最好的方式是馬上找這個科目的期末考卷或面試題考自己,確認哪裡忘記,詳細方法同上面的複習策略!

使用心得

我拿我準備面試的方法來做例子。首先是拿出履歷表,把上面寫的技能全部列出來,像是 Java, Android, React 等…因為這些都是已經會的技能,所以現在的目標是快速 relearn 這些技能!

Ex. 我把網路上的面試題 (google “JAVA 面試題”) 找出來考自己一輪,把錯的、不清楚的地方列出來,由這些列出來關鍵字找出相對應的 Java 章節,重讀不清楚的部分,最後整理成一疊約20張的觀念字卡。每天去研究室等車的時候就刷一遍字卡,連續一個禮拜就可以變很熟了,完全無壓力!

tag tag

整理字卡的過程會很累,因為絞盡腦汁思考有沒有更簡短的方式陳述整個概念,但這種方式其實會進步最快,我也在這過程中學習到很多。所謂生產力 = Time X Intensity,真是一點都不假。

[Javascript]非同步的救星Promise

本篇介紹Javascript的Asynchronous Coding,並說明Promise如何使用,和淺談Promise和Monad的關聯 Continue reading

[讀書心得]The Effective Engineer

Published on November 20, 2016