如何設計 workshop 類課程

Published on:

這篇是來分享我怎麼做 Rails 課程。這一類 workshop 的班。

  • 怎麼樣才能讓學生付出很高的 commitment 在這堂課。
  • 怎麼樣才能讓學生在下課後還能牢牢記住上課講的東西。
  • 怎麼樣才能讓學生脫離上課環境後還能有辦法自學。達到真正自立。
  • 怎麼樣才能讓學生下課後還能找到「救生圈」
  • 怎麼樣才能讓學生上課時有成就感,不至於被挫折感擊垮
  • 怎麼樣才能讓學生願意「發問」「分享知識」「去救同學」「救後面的學弟妹」

我花了很大的心力在設計 Rails 實戰班上。背後有很多重要設計因素。這些因素是為什麼,實戰班人數不斷升高的原因。很多同學畢業之後是能夠直接找到即戰力的工作,或者是開始有熊熊動力做自己的 project 不跌倒。這是其他 Rails 班完全沒辦法做到的。

當中的關鍵有幾個:

1. 動手做

很多教程式的班,在第一堂第二堂課時花了很多時間講「講師」覺得「很重要」的「基礎知識」,讓學生直接睡著。教師覺得很重要,但學生根本不知道這到底有什麼重要。

學生只知道不能動手做就很無聊,很無聊就會關閉大腦。所以老師有講等於沒講。所以第一堂就要動手做。

2. Commitment

要讓學生有 commitment。我在上課前,會不斷地跟報名者說,這堂課作業很重,該月沒時間練習建議不要報。為什麼要丟這麼重的作業呢?

  • 程式沒練習就會忘
  • 程式沒練習就會忘
  • 程式沒練習就會忘

所以我會出類似上課教的東西,下課回去要做出來。逼大家下課要花時間搞懂,而且這些作業沒做學生就死定了。因為我們下次從作業完成處開始教。

而且我會警告已有其他程式基礎的同學,不要僥倖,最後一天才寫作業。倒數兩天才寫你一定會寫不出來。(因為之前的程式班就有「有經驗的 RD 」「偷懶」「結果」直接跟不上沈船,只好下梯再上)

3. 逼著發問

有些老師很討厭同學發問,因為他答不出來,就會覺得同學減損他權威。我不會這樣,我自認功力深厚經驗豐富,任何你關於建構網站的知識與 Rails 的知識我應該不可能答不出來,就算我對關鍵字印象模糊,也會下課查給你。

所以第一堂課開始,我就會不斷提醒同學,各位同學你有繳錢,務必要問到飽。
助教上課可以問,下課可以問,slack 可以問。
我只有一些問題不會回答。就是我覺得「同學應該下課花時間『好好自己搞懂』的基礎知識」不會回答。

我不是不願意講,而是這些知識同學「自己花時間 google 搞懂」會對他大腦起到非常深的印象。這些我放在下課作業的「申論題」裡面,逼大家要回去 google 然後整理寫出來。

每週我會出 5-7 個題目,幾週下來,他等於累積 20 個非常重要的基礎知識。

4. meetup

我們有兩個 Rails meetup 。我們會把課輔時間跟 meetup 時間故意重疊在一起。所以大家來課輔時間不只可以問助教還可以問其他人,順便認識這個生態。以後找工作時至少就可以混個臉熟

而且鼓勵上一屆教下一屆,因為教人才能真正弄懂自己上課不懂的地方。

====== 以上是 Rails 實戰班(份量很重)我帶的方式,GH 則是另外一種帶法
當然我這裡只有寫出四點,實際上大概十幾點,不過太長了就改天再寫。但總結這裡重點就是

  1. 程式課一定要逼學生有 commitment,只聽不練根本學不會,根本是浪費錢浪費時間。
  2. 第一堂就要讓學生有東西帶回家,不然他之後上課根本提不上興趣。
  3. 要讓學生覺得上程式課自己有責任跟上,而不是把責任丟給老師,要負責教會。要學會是雙方必須 commitment的。
  4. 鼓勵他們不懂的東西要立刻問。但是真正對他影響重大的要逼他自己也要搞清楚
  5. 要問,要練習,要查懂,要去幫助人。這是學習金字塔的重要原理,我們希望在這四週不斷的強化重點
  6. 我們希望學生畢業直接可以去打仗,而不是學不會只能繼續上課。這點對我們沒有任何好處。我們開課是幫助大家自立然後去改變世界的。

大致分享一下這背後的教學演化過程與中心想法。