布魯姆分類法(Bloom's taxonomy)是美國教育心理學家班傑明.布魯姆(Benjamin S. Bloom)於 1956 年在芝加哥大學所提出的分類法,把教育者的教學目標分類,以便更有效的達成各個目標。現在的版本是 Lorin Anderson(布魯姆的學生)與 David Krathwohl 在 2001 年修訂的。

根據布魯姆的理論,學習可以分成以下三個領域:

  • 認知領域(Cognitive Domain)
  • 態度領域(Affective Domain)
  • 技巧領域(Psychomotor Domain)

Note

每個領域是一本書。有看到前兩本,但沒看到第三本。

Note

網路上查一查,感覺大家好像比較專注在認知領域上。但這個理論應該是認為理論、實務、態度,這三個都很重要

認知領域從低到高分成以下六個層級:

記憶(Remembering)

回憶或檢索先前學到的資訊。

這本書在講設計模式。
(這是蠻入門的軟體工程知識)

理解(Understanding)

充分理解指令與問題的意義、轉譯、詮釋和解讀。能夠用自己的話陳述問題。

了解各種設計模式要解決的問題和解決的概念。
(可以出一張嘴的程度。考試會寫對。)

應用(Applying)

將概念運用於新情境,或自發性地運用抽象知識。在工作場所中將課堂上學到的知識應用到新的情境中。

在工作場合使用設計模式。
(剛學完還沒有辦法活用的這個時候,應用的結果通常很可怕。)

分析(Analyzing)

將資訊或概念拆分成組成部分,以便理解結構。能夠區分事實和推論。

「為什麼這些 MVC 這麼難維護?」
「我明明是照原概念寫的啊!為什麼感覺怪怪的?」
「怎麼網路上大家寫的 MVC 都長得不一樣?」
「這個人是這樣寫的。那個人是那樣寫的。」

評價(Evaluating)

對想法或資訊的內容做出判斷。

「我寫的 MVC 超爛的!」
「根本不應該把這麼簡單的 bar 做成 MVC!」

創造(Creating)

從多種元素中建構出結構或模式。將各部分組合成一個整體,並強調於創造新的意義或結構。

(N 年之後)
不要太死記設計模式啦!要有彈性!
大致遵循 SOLID,自然就會有設計模式了!

Note

經驗來說,我認為在每個層級提升之前,都需要在當前與以下的層級進行好幾次的循環迭代,才會提升層級。也就是說可能會經歷好幾個失敗的應用。

References