(2018-12-18)在強大的數位氛圍籠罩下,學習編寫電腦程式的年齡層下降到了兒童。有人比喻不懂得編碼有如不懂文字的文盲,實在是言重了,編碼畢竟是電腦語言,不同於我們說話的自然語言。

教孩子從小學編碼掀起一陣旋風。(圖:Pexels Image)

(2018-12-18)編寫電腦程式(Programming)、也就是簡稱的編碼(Coding),在強大的數位氛圍籠罩之下,年齡層下降到了兒童,成為先進時髦。

從小就學編碼,好與未來接軌,就像從小學英文,好與國際接軌。有人比喻不懂得編碼有如不懂文字的文盲,實在是言重了,編碼畢竟是給電腦的語言,不同於我們說話的自然語言。

 

編碼是開發軟體的基礎,全球現有1,820萬人開發軟體,據Evans Data公司估計,2019年將成長45%增加到2,640萬人。

軟體的開發美國一直領先,但今年印度就可能以520萬人超過美國的450萬人,印度增加90%、美國增加25%。這些驚人成長的另一面,是軟體人力的欠乏,從小學習編碼,以後就有很大的機會成為軟體開發的一員,這恐怕也是家長要孩子學編碼的主要原因。

對孩子來說,一些專家認為可從編碼的好玩得到滿足,並可改進創造力,增加解決問題能力,灌輸持久性,提升與人合作溝通能力,同時對周遭的世界多一份瞭解。教孩子學編碼現在僅是萌芽,一切還沒有就緒,能否產生如預期的效果,還是未知數。

孩子到了四、五歲,有一些邏輯分辨能力,就可以開始學編碼了。現在的孩子雖然有3C的天賦,編碼卻是另一回事,好像學語文與數學,有的孩子接受比別的孩子快,對電腦編碼來說,喜歡文字閱讀與寫作就會學得快,有分析能力就能學的更好,但也不排除對編碼完全沒有興趣的孩子。

至於學習的方式,有經驗的人建議先從遊戲開始,讓孩子動手在畫面上做完一件事,來提升興趣;下一步可以進入LOGO,這是一種教育性的電腦程式語言,嘗試簡單的編碼,可以在畫面上畫出圖形;再下一步就進入正式的編碼,使用普及的Python程式語言,初步享受編碼的快樂、與悲慘。

CodaKid網站為孩子選出2018年的前7種程式語言:Scratch、Blockly、Pathon、JavaScript、Lua(Roblox)、Java(Minecraft)、C#(Unity),這些選擇兼顧編碼的語法與趣味,例如JavaScript可以設計、轉換網頁;Unity可以製作專業高品質遊戲。

孩子學編碼,固然可以作為以後就業的準備,成為專業的程式設計師、軟體工程師、網路建構師,未來在工作上更有保障。

但十年、二十年以後的經濟進展,難以預料,我們現在談五歲、十歲的孩子學編碼,應該遠超過以後就業的準備,更應是藉編碼培養出思考的技術,使得在不斷向前移動的數位世界裡,有主動學習的能力,成為一個積極的「數位公民」,一反成為一個消極的「境外公民」。

蘋果創辦人賈伯斯說過,每一個人都應該學習如何使用程式驅動電腦,因為這會教你如何思考。電腦程式不單是計算,還有「演算法」(Algorithm),相當於做菜的「食譜」,有依序順進的步驟,有跳躍的步驟,也有反反覆覆的「遞歸」(Recursion)步驟。這許多精密的思考,只有在電腦程式的編寫上才體會得到。

Joe Morgan是一位軟體開發人,編碼多年,也是《Simplifying JavaScript》一書的作者 ,最近在SLATE網站寫了一篇文章,說他不教他的孩子編碼,以他的經驗,也勸大家不要教孩子編碼。他說編碼是個複雜的專業,不是一種新的「語文」,不會編碼不能比喻成「文盲」。

他說,編碼的目的在用電腦解決問題,所以重點不在編碼的語法與技巧,而在解決問題的方法。如果問題簡單,多會自動或用現成的程式解決,剩下的都是需用創意去解決的困難問題,但沒有一本教科書告訴你如何去解決以前從未發生過的問題,所以不要教孩子編寫程式,而是要他學習如何深入、有創意的解決問題。

這位Mogan先生不贊成孩子學編碼?也許是。但要孩子學習解決問題,也未嘗不是做一個「數位公民」的準備。

要你的孩子學編碼嗎?


本文取材自2018年12月16日「那福忠西海岸數位隨筆(79)」:要你的孩子學編碼嗎?
對本文有任何看法,歡迎 E-Mail:frank.na@gmail.com 與作者分享。