從小學寫程式的好處

從小學寫程式的好處

“Learning to program is exciting: it's stimulating, fun, develops new ways of thinking, and in a very short time you can build programs that will impress your friends and family! Discovering the joy of programming was the spark that started my professional life and impressed the teenage beauty who, 40 years later, is still the love of my life!“
學電腦程式令人興奮:它很刺激、有趣,讓你有一個新的思考方式,而且在短時間內就可以創造出令家人和朋友印象深刻的程式。發現電腦程式的樂趣開啟了我的職場生涯,而且感動了一位妙齡女生,這位女生在40年後,依然是我生命的愛!
John Hennessy, 史丹佛大學校長

從小學寫程式的好處

1. 強化小孩邏輯思考力

寫程式最重要的就是把大問題不斷分割成小問題的過程,其中,小孩必須去思考如何把程式碼合理的安排在整個程式中,才能讓程式流暢的處理輸入、演算、直到輸出,這對小孩對事物的邏輯分析能力會有極大的提升。

2. 培養小孩專注與細心

除錯,是每個寫程式的人必經的事,不論大人小孩都沒有例外。有時候只是少打了一個等號,或是在某一行的行尾少加了一個分號,就會造成程式大亂,更別說還有邏輯上分析問題時卻忽略掉某種狀況的陷阱。所以,在學習寫程式除錯的過程中,是絕對無法得過且過,能有效改正小孩馬虎行事的毛病,避免當個差不多先生。

3. 提高小孩耐性

當父母的一定遇到過這種情況,帶小孩去吃飯,小孩怎麼也坐不住,就是要跑來跑去到處吵鬧玩耍。此時,有的人會拿出手機當做遊戲機,小孩的注意力就瞬間被拉了回來,開始安靜坐在位置上玩。我們的課程,就是運用這種特性,讓孩子在遊戲中學習,但這一次他們不只會玩到遊戲,還會懂得一個遊戲是怎麼被設計出來的。

4. 增加小孩抽象思考能力

其實學寫程式,就像學習第二外國語一樣。如果說學外文是為了跟外國人溝通,學寫程式就是學著怎麼跟電腦溝通。有趣的是,你碰到老外不會說英文還可以比手畫腳,跟電腦可不行。這表示孩子在學習的過程中,更需要一種把抽象化為具體的能力,好讓不懂得思考的電腦,也能了解與表達抽象的事物。

5. 幫助小孩統整資訊,吸收融合能力

寫程式說穿了,就是一堆電腦指令的排列組合。好比小學的時候我們查國語字典學國字、學成語,之後學習如何利用習得的國字、成語組成句子,進而撰寫文章一樣。程式中的基本指令就是國字,寫成可重複利用的 Function 或 Module 就像是成語,然而最終要完成一個有頭有尾的程式時,則必須融會貫通,學以致用,確保程式在執行中不會出現矛盾的情形導致 Crash。

6. 提升國際性的溝通能力、競爭力

顯而易見,現在哪一門生意不用電腦?哪一個行業可以完全不需要接觸電腦?如同先前提過的,電腦語言,已然成為一個重要的溝通工具,不但是跟電腦溝通,還有跟所有運用電腦的人溝通。小孩在幼時接觸的環境,往往跟以後的發展有極大的關聯性,如果不想跟世界脫軌,盡早讓他了解所謂寫程式,或是程式語言是怎麼一回事,將會是他們面對國際競爭時有力的武器。

7. 學習團隊合作,同儕共同學習

在適當的教學課程設計之下,學寫程式就像玩遊戲破關一樣,同學彼此討論「破關攻略」,你不會?我教你;我卡關,你幫忙。同儕在互動之中增進情誼,也學到如何用團隊力量解決問題。比起老師在台上單方向的講課,同儕之間的研究,將讓學習效率大大提高。

8. 訓練空間思考能力

在寫程式控制遊戲人物的過程中,是訓練空間思考能力一個很棒的方式。小孩仿佛自己就是在高低起伏中,尋找迷宮出口的那個遊戲角色,手腦一同運轉起舞,左轉、右轉、跳上、跳下,置身於程式的世界中,在遊戲之中學習,明白方向感以及立體的空間感。

9. 增進解決問題能力

面對一道道關卡的挑戰,小孩會不停的利用手邊學到的資源、程式碼,試著達成破關的目的而不斷的動腦。一旦養成這樣的習慣,在碰到生活中或是其他課業上的問題時,自然也會試著自己解決,而不是一句話交給爸媽去處理。父母只要給予適當的工具,讓小孩自己動手動腦完成。

10. Learn to code, code to learn

學寫程式訓練電腦程式的思考方式 Computational Thinking ,如同學習閱讀一樣,在這個知識爆炸的世代是一種基本的能力。好比,從小我們學怎麼閱讀,並用閱讀來學習更多其他的知識;從小學習怎麼寫程式、控制電腦,了解的是一種 New Ways of Learning,並且從學習寫程式的過程中,刺激小孩的學習動機。

父母再也不用逼著小孩學習數學,因為他要寫程式控制按鈕、人物、得分、方向的同時,自然需要用到許多數學的技巧,讓他在做中學。另外還可以提高小孩英文的能力,寫程式讓接觸英文成為自然的事情。其他的科目如音樂、藝術、文學等等,一樣可以運用在寫程式的過程中,也就是我們說的 code to learn.