我如何帶國小生學程式(六) 小朋友潛力驚人,現有教育卻沒有”培養”的意識

這半年來我每天教一兩個小時,沒有安排課後練習。我曾經跟一位香港標榜科技教育掛帥的中學主任聊天,發現上課的時數其實少於這些學生從國中一路上到高中的電腦程式設計課。然而就學習成果而言,在體制內做法仍然把學好程式當成是”後來的事情”,現在只是”種下興趣的種子”,都一直用嘴巴在談培養 “自學的能力”。

有沒有覺得這些話語似曾相識?其實不只是在程式教育上,而是普遍的我們教育都在喊這些口號。我並不是說”興趣”、”自學”都不重要,它們都是教育中重要的面相。但這要在有學習深度的前提下,談興趣與自學才有意義。否則就會淪落到:談興趣的種子卻很少見到它發芽,談自學的能力卻從來沒把一件事情真正學好過的慘狀。

興趣的部分我在前面已經稍作拆解過,不過還沒談到更完整的。總之,興趣與學習,這兩個都可以用具體的心智模型來探討,之後再來詳述。

社會大眾常常直接假定孩子的能力不足還有心態不夠成熟,於是我們常聽到:

「為了保護孩子,這些東西都太早…」
「這麼早就要學這些東西,不會很痛苦嗎?」

但事實上能力和心態都是培養得來的。道理很簡單:一個人能力或心態是10的時候,你給他8的挑戰,時間久了他會退步;給他10的挑戰,他就留在原地;給他12的挑戰,他過一陣子就會變成12。

當社會大眾普遍沒有”培養”的意識時,環繞四周,你都會看到一些能力與心態都仍然跟孩子一樣的人。

這段時間我跟我老爸借了學生來試教,讓他們從完全不會到能夠理解部分資料結構,同時也具備實作題目的能力(UVA luckycat 兩顆星等)。

想想國小四年級、六年級的孩子可以考大學期中考的程式考卷而表現高於平均。這並不是這些孩子們特別聰明-因為我也不是。這代表著現在的教育體系嚴重壓抑了大家的能力,同時大眾對孩子可以發揮的能力有太狹隘的認識。

沒有甚麼材料一定對小孩子來說太早的,都需要個別評估能力與心理素質。而能力與心態都是扎扎實實累積起來的,需要在生活中實踐的。而作為老師的職責不是只是種下甚麼希望的種子,而是確確實實的要把它培養起來。

結語

我想,這段時間我證明了以國小生的年紀,確實可以理解一般認為是給大學生的程式設計,甚至可以教到一點資料結構(LinkedList、Tree)。只是會需要一些額外的技巧:

(1) 初期大膽拋棄實際程式碼而擁抱Pseudocode
(2) 運用譬喻提升觀念的理解
(3) 運用主題來提升短期注意力、打造長期成就感

另外,關於程式教育我也有些反思:

(1)坊間在談的運算思維其實就是工程思維,新瓶裝舊酒。
(2)不可否認,程式是一個很好的途徑讓孩子提早接觸工程思維。
(3)大眾太小看孩子的接受度,於是自我限縮。
(4)興趣與自學,必須要在有學習深度的狀況下才算被驗證。

這個教育實驗進行了半年,以UVA、交大期中考作為結果的驗證,自認證明了一些事情。但目前實驗是進行在我們家的自學生上:這些長期被我們調教的孩子在具備的基礎知識與紀律上確實不同一般。接下來若有機會,我會想在一般的孩子身上行這教育實驗,看能夠推展到多快、多深。同時,我在程式教育上還有一些醞釀中的計畫,歡迎有興趣的人與我聯絡、討論。

下面是一個問卷,最主要是想知道讀我文章的大家是誰?更感興趣的面向是甚麼?問卷填完後,即會有我的聯絡方式。希望大家多指教!

問卷連結點我

若想要繼續關注相關文章,也可以點我們的粉專”教育圈裡的工程師”讚!

關注我們的粉絲頁:教育圈裡的工程師

Show your support

Clapping shows how much you appreciated Martinet Lee’s story.