最近開始翻閱《超速學習》這本書,這本書的原文書名為《 Ultralearning 》。

作者叫 Scott H. Young,來自加拿大。他最知名的事蹟,是用一年的時間挑戰完成 MIT 資訊科學系的四年課程(他畢業自商學院)。

在書裡面,他介紹了 9 個學習法則,我隨興地亂翻,看了「法則 1:後設學習——先畫一張學習地圖」,發現裡面有講到一件事讓我滿有感的(剛好是我曾思考過的東西)。

-

那就是,作者在學一個新領域時,會用一張表畫出三個欄位,代表要學的內容的「類型」,分別是:

1. 概念(需要理解的)。 2. 事實(需要記憶 / 背起來的)。 3. 程序(需要練習的)。

而在不同領域,這三者的比例會有所不同。

例如,數學可能較需著重在理解一些困難的「概念」;而學習語言,則需要背許多單字,單字就是需要記起來的「事實」;如果像是設計、運動,則可能最需要「程序」這個面向,較需實際的反覆練習、經驗的堆疊。

-

之前在學程式時,就有發現這個領域,跟我熟悉的「設計」很不一樣,很有意思。

我發現,學習程式不只是追求「搞懂」而已,還必須能熟練的「用」出來。

以設計來說,好像幾乎沒什麼知識?大多靠的是操作工具的能力、產出作品的能力。簡言之,比較需要實作,也很吃經驗的累積。

而程式開發這領域,不同於設計,不是只有「實作」這部分,而是包含「知識」跟「實作」兩大面向,缺一不可(我的理解啦)。

-

常常會發現,可能我已經搞懂了某個程式的知識,但不一定能實際寫出能跑的程式(有時反而需要透過實際寫寫看,才有助於我搞懂某個抽象概念)。

而在實作時,也很多時候 code 寫得出來、程式也能正常運作,但其實自己不知道背後發生了什麼事、原理是什麼 XD。

我想,我所謂的:

「知識」,應該是對應這本書說的「概念」。 而「實作」,則對應到這本書說的「程序」。

-

學習程式對我來說,是一個幾乎完全陌生的領域,我的腦袋幾乎沒什麼相關聯、可類比的經驗。尤其缺乏那種資訊科學領域在理解一件事的「心智模型」。

但也因此,整個學習體驗非常新鮮,因為差異太大了。

有種「長這麼大了,難得又能回到小時候學習全新事物」的感覺 XD。

總之,我覺得「概念、事實、程序」這個三分概念,還滿好用的,分享給大家。

未來我也還想多了解一些學習的理論 / 方法,有機會的話,會盡量多翻一些這類的書~。