從國外到台灣,掀起學程式設計的熱潮,但是孩子為什麼而學?葉丙成指出,若只著眼找到好工作,恐怕會扭曲學程式設計的精神。
文/葉丙成
這幾年全球軟體業蓬勃發展,程式人才需求孔急。隨著 MOOC 的興起,網路上有很棒的線上課程讓人可以自己學好程式設計。許多人也因此得以謀得待遇不錯的工作。透過網路自學程式,開始成為一股風潮。
這股風潮也擴散到了各國的中小學教育。英國政府將程式設計訂為從 5 歲一路學到 16 歲中學畢業。美國從去年開始,紐約、芝加哥、舊金山等地,也將程式設計列入中小學教育政策,逐步落實。在台灣,政府也在研擬將程式設計納入國教政策。在政策還未落實前,愈來愈多爸媽擔心孩子輸在起跑點,急著想讓孩子學程式。
一時間,程式設計儼然是全球最受矚目的教育項目。無論大人、小孩,彷彿只要學會寫程式,便能成就「麒麟之才」,成為日後天下搶著要的人才。但,這真的是我們學程式的理由嗎?
大凡學任何事物,如果一開始的理由不對,就會有不對的期待,方法也會跟著不對,進而結果也不會對。學程式設計是件好事,但如果理由不對,這樣的程式教育將無法達到效果。
許多人認為學程式,未來便可找到好工作。對即將投入職場的大人來說,這理由或說得通。但對孩子而言,這不該是理由。回想兩千年科技泡沫化,軟體業也曾有寒冬。十年河東,十年河西。誰能保證 10 年、20 年後,產業大勢依舊?況且,隨著各國政府在中小學逐漸落實程式教育,20 年後全球可能很多人都會寫程式。隨著人才供給的增加跟產業的興衰更迭,無人能保證「程式設計」在未來仍是天下急需的麒麟之才。
那為什麼還要鼓勵孩子們去學程式呢?
我們先看最近世界演進的大勢。去年財經雜誌曾專文報導,由於科技的演進,使得愈來愈多服務可以透過網站或是自動化服務完成。顧客對人員、據點的需求愈來愈小。包括台灣在內,全球銀行陸續關閉許多營業據點。
另一個引起注意的議題是,像理財顧問的工作也開始被機器取代。目前在美加、歐洲等國都出現「機器人理財顧問」的平台。
事實上不只金融業,各行各業都會有同樣的趨勢。隨著近年機器學習、人工智慧的技術愈來愈發達,許多傳統仰賴人工的工作,都將逐漸被機器取代。特別是純粹制式的、檢索式的、按本操作的人力工作,都是未來最容易,也最快被取代的工作。
給孩子科技無法取代的能力
教育的目的,是為了幫下一代準備好面對未來的世界。在未來,真正無法被取代的工作技能,有兩類:一類是跟人面對面互動、溝通交流思想的工作(像老師、業務員等等),另一類則是需要自學創作以解決問題的工作。這兩種技能,都是目前機器在短期內很難取代人類的。
我認為在未來,這兩類才是天下真正所需的麒麟之才。而其中第二類的自學創作之才,正是為何學程式的主因;學程式不是為了會程式而已,而是因為學程式是培養下一代人自學、創新、實作解決問題能力的最佳方法!
為什麼呢?
有學過程式設計的人都知道,學程式最快的方法不是靠老師在台上一直講,而是靠自己學、自己動手試。在過程中常常會碰到不懂的問題,而解決的辦法就是去網路上找資料,或是去網路論壇爬文、問人。這種靠自己自學的過程,恰恰是目前學校教育很欠缺的訓練。透過對的方式來學程式設計,我們就有機會培養孩子自學的能力。而這種自學的能力,正是在變化快速的未來世界,讓自己持續跟上世界腳步不被淘汰的重要關鍵能力!
換言之,當老師在教程式設計時,不該像基礎學科一樣,用課本照著第一步、第二步……按表操課的教。一來這樣教很無聊;二來即使最後教完學生、程式也跑得動,但學生並沒有從這樣的經驗中,累積到任何有用的能力。因此教程式設計的真正挑戰,是如何設計教案引導學生,讓他們很有動力的自己去網路上看教學影片、自己找資料、自己探索、自己學習。
用程式設計練創意,成本低
另外一個學程式的原因,在於當學生學會之後,他便可以在腦海中不斷的想新點子。並透過程式設計將點子實做出來。這可以幫學生大量累積創作的經驗、能力、跟信心。
在學校學木工、美術、或學其他技藝項目,也都可以給孩子創作的經驗。但這些或需大型機具、或需材料開支,要讓每個孩子都能有多次的體驗,實在很難。唯有程式設計,在孩子學會後,便能幾近無成本的情況下,讓他們不斷增加創作的體驗!
而且寫程式時,最常做的就是先將想完成的大工作拆解成細項。拆解後,再接著把一個個細項用程式完成,最後組合成整個大的程式系統。懂得如何將大工作拆解成小工作去分別處理,或是如何將大問題拆解成小問題去分別解決,這樣的思維模式,對於訓練學生解決問題的能力非常重要!一旦有了這樣的思維,學生就不會在看到大問題時,惶惶終日不知如何是好;他們對於解決問題將有更充足的信心!!
綜而論之,讓中小學生學程式,非僅是為了學會寫程式,也不是為了讓他們以後好找工作。讓他們學寫程式,是為了幫孩子們培養立足未來世界所需要的真正才能:「得自學創造之才者,得天下!」
本文轉錄自親子天下