這幾年,教育部在大學推動程式教育,也祭出很多的補助,鼓勵老師們把程式教學融入在課程中。這其實非常荒謬,因為不是所有課程都適合與程式做了結合,如果為了要跟程式做融合,反而有可能犧牲了這個學門原本的知識傳遞。
伴隨著108課綱的實習,程式素養成了全民焦慮,補教業者拿著大學入學的需求來恐嚇爸爸媽媽,彷彿你家孩子如果沒有程式素養,以後就會沒有大學唸。
但實際情形是怎麼樣?大學早就供過於求了,不會寫程式真的會怎麼樣嗎?如果你是擔心不會寫程式,影響你進入非資訊類的科系,這樣的焦慮也很莫名其妙。新課綱的目的之一,是要讓大家提早發現興趣所在,不是要讓大家都為了擠進窄門,而費盡心思。
回想108課綱的荒謬,就有如很多年前強調標語要雙語化一樣,你說在偏鄉的小學,有必要在校長室外面掛上雙語的標示嗎?我們很多形式上的作為,只是浪費了一堆公帑,卻沒有達到實質的成效。
所以,如果你是為了要讓孩子可以進入名校,因而逼著他寫程式,那麼拜託你把這個錢省下來,因為寫程式真的不是每個人的菜!
學寫程式真的重要嗎?
面對人工智慧快速的發展,社會上瀰漫著寫程式是重要的氛圍,甚至不少人都認為程式語言會是未來人們需要知道的一個外語。我不否認程式語言的重要性,但我們要想想,語言這件事情的目的是什麼?
但如果你只是要能夠溝通,那坦白說,你真的不一定要真的懂程式語言。就如同現在很多即時翻譯的服務一樣,你只要會用這些工具,就能夠達到七八成的溝通了,未來可能還會更好。誰說以後不能有翻譯程式的服務呢?很多工程師在寫程式碼的時候都會註記,這其實就是一種翻譯的型態,只要把這整個體系建置完成,那你也不一定要精通那個語言。
其實程式最重要的功能,應該是當我們要處理一件有規則的事情時,可以省下很多麻煩。什麼叫做有規則?
- 像是你希望用戶每次點擊這個連結的時候,就會先看到一個廣告,然後依據用戶的反應,給予他不同的反饋。
- 在論壇中搜尋熱門推薦詞也是一種規律,因為在論壇的每一則貼文去找出有哪些雜,並且把這些字做一個出現頻率的排序,最後將最熱門的那些字詞整理成一份清單。
- 像我們要進行一個心理學實驗的時候,我們也會寫程式,因為我們要控制每一個刺激呈現的時間是相同的,然後依據參與者的反應,我們紀錄他們的正確率以及反應時間。
因為這些規律性,我們的生活很像看起來變美好了,因為你可以算出在交友網站上,誰和你可能是最適合的。你甚至能夠設置一些篩選器,讓你活在美好的同溫層,以為大家的想法和你都是一樣的。
你該擁抱有規律的程式世界嗎?
寫程式除了可以幫我做規律性的事情之外,也有人嘗試從大數據中,把人類的行為做一些規律性的整理,也就是希望找出一些方程式,像是成功方程式… 但這個世界的運作真的都可以被算出來嗎?從數據分析的角度出發,肯定能夠算出某種規律性,只是這個規律性有可能是很複雜的一個。
最近有一本書:成功竟然有公式:大數據科學揭露成功的祕訣,就是幫大家整理了所謂成功的方程式。我還沒有看這本書,但光是什麼是成功就有很多不同的定義了,要怎麼去界定一個成功的方程式,也真的太玄了。
我私心的認為,這個世界的運作,不一定是有規則可依循的,像是我們沒有辦法知道什麼時候會發生車禍,我們也沒辦法知道自己的身體哪一天會突然出了狀況。面對這些沒有特定規則的事情,程式就不太能使上力。
面對程式教育盛行,最大隱憂就是我們忘了告訴孩子,其實這個世界,多數的事情,其實都不是你用簡單的規則就能預測的。
當孩子學習用怎麼樣的程式碼,就會得到什麼樣的結果時,你覺得他會養成什麼樣的性格?
過去心理學家已經發現,光是使用搜尋引擎找資料,就會讓人的自信心膨脹,因為人們覺得自己都可以找到答案。很像還沒有人去比較,程式訓練是不是會有什麼樣的影響,但我認為是非常有可能會造成影響的。
不過,人對於這個世界的運作方式,就是在日常的小事情中累積的。像是孩子若常受到父母的肯定,他們會比較有自信,也會比較願意去表達自我;但若一個孩子總是被父母否定,那他可能就會變得退縮。
或許我有一點反骨,不希望自己的人生那麼容易被預測,但在擁抱程式世界之前,你真的該想想這件事情的後果。很多時候,身為人的美好,不就是那一些意想不到的意外嗎?
那到底該給孩子怎麼樣的程式教育?
回歸正題,如果現在社會的氛圍認為程式教育是必要的,那麼我們到底該給孩子怎麼樣的程式教育呢?寫程式的核心是為了用規律的方式來解決問題,所以訓練孩子去找出規律,以及解決問題是程式訓練最重要的兩件事情。
坦白說,要訓練這兩件事情的能力,不是一定要透過寫程式的方式。事實上,蠻多程式的課程,基本上是在告知程式碼,也根本沒有訓練到這兩項核心的能力。
若你真的擔心孩子的未來,你可以先從訓練孩子找規律開始做起,讓孩子多觀察、思考,找出生活中的規律性。像是看看門牌號碼的變化,是否都是一次增加兩號,還是會有所不同;或是搭計程車的時候,讓孩子看看計費錶,每次增加是增加多少錢呢?
過程中,你也可以引導孩子去思考,世界上多數的時候,或許會照一個特定的規律來運行,但難免也是有些意外的。我們要能夠察覺什麼時候是規律,什麼時候又是意外,並且做出合宜的行為。
針對問題解決的部分,就更容易了,生活中太多可以演練的場合的。但我鼓勵你引導孩子多找一些不同的解決方法,並且帶孩子去討論,哪一種解決方法才是最好的。多數的時候,寫程式都有多種的寫法,每個方式都有其優缺點;因此我們不該直接給孩子最優的解法,而是要帶他們多想幾種解決方法,再思考到底哪一個是最合適的。
我也鼓勵大家,在教孩子寫程式的同時,也不要忘了告訴他們,這個世界還是有些不確定性。面對這些不確定性,我們也不需要害怕,就把那些當作老天給的挑戰,自己只要盡力而為就好了。兼具理性與感性的培育,才能讓孩子在未來能夠立足,缺一不可!