徐宏義談 Coding

“Learning to write programs stretches your mind, and helps you think better, creates a way of thinking about things that I think is helpful in all domains.“
學寫電腦程式增長你的心智,讓你思考得更好,創造出一種能運用在各種層面和行業的思考方式。
Bill Gates Chairman, Microsoft, 微軟董事長

徐宏義談 Coding

我認為小孩子需要學電腦程式語言,為什麼?

有許多有識之士説,我們學開車,但是並不需要去懂氣缸燃燒或是PUMP這些物理的原理,因此我們以及我們的下一代只要學會使用電腦,為什麼小孩一定要學會怎麼寫程式?

這些有識之士忘記了一件事情,汽車並沒有在操控我們捷運、高鐵、公車或者是其他的大眾交通運輸系統,汽車也沒有在監視我們颱風的動向和雨量大小,汽車也沒有在改大考的考卷,汽車也沒有在算大選的選票,汽車也沒有在控制銀行及股市外匯資金的流通,汽車也沒有在掌握全民的健保,以及所有其他各種社會福利制度,汽車也沒有在監控壞人的犯罪記錄或著是指紋系統,汽車也沒有在幫助科學家、醫院、藥廠做他們的實驗、病人的管理或者是新藥的發展,汽車更沒有帶人類在從事太空的冒險。

但是電腦在做我上面所提到或者沒有提到的所有的事情。我們不讓小孩子從小了解並且學會電腦的原理和電腦的程式的原理,就好像用一塊布蒙住他們的眼睛,讓他們看不到真正的世界。

小孩子學電腦程式,更精準一點的說法應該是説:『教會小孩子電腦程式的思考computational thinking ,以及如何用電腦程式的思考來解決現在社會的問題。』

電腦思考是我們EDUx基金會一直在提倡的 New Ways of Learning,就是新的學習方式、新的教育方式的一部分。Computational Thinking 首先要教會小孩子的是讓他們徹底的了解到人腦和電腦思考方式的差異。當他們能夠 appreicate 能夠體會到人工智慧是怎麼一回事之後,就能夠開始學會如何與電腦溝通,能夠 think recursively 用一種迴路式的思考;能夠 think structurally 架構式的思考;能夠 think abstractly 抽象式的思考;能夠 think logically 邏輯式的思考;能夠 think heuristically 以常識直覺或是猜想式的思考;能夠 think iteratively 重複式的思考。然後,能夠怎麼樣把大問題拆解成小問題,能夠學會怎麼樣用 computer search 的方式來解決人類無法解決的複雜的問題。

像這些思考的方式,都不是沒有學過 computational thinking 電腦程式語言所能夠做到的事情。

所以,現代的社會越來越複雜,衍生的問題也越來越繁複,老早就已經達到不是人腦所能夠解決的複雜的境地。但是我們的教育,還有我們的教育人士,包括政府、學校、老師、家長以及學生本人都還停留在舊的世代、舊的教育方式、舊的思維。這些陳腐的教育方式和工具還有想法。老早就應該進入廢墟!但是我們還是抱著這個千百年前的陳腐作為,來教育我們的下一代,這個是很令人憂心的。

最後,要記得的是,我們的下一代,是 ill-equipped 他們並沒有準備好,準備的很不好,來面對將來的社會和國際間的競爭,這對他們來説是非常不公平的。