「別讓孩子先學單車!」學程式不是越難越好

曾經跟一個大學生聊天,他正要參加一個活動,到偏鄉辦營隊、教小朋友寫程式,對方問了我:

「用 Scratch 教小朋友學程式,不會很遜嗎?」

對於這個問題,我並不感到意外,畢竟有不少剛接觸兒童程式教育的人,都問過這個問題。

先爬、再走、再跑

小時候,我們大概都騎過三輪車,或是有輔助輪的單車,直到慢慢習慣了踏腳踏車的方式,才開始學著如何騎兩輪的單車,練習平衡。

其實學程式也是一樣,成人比起孩子,具備了不少更卓越、成熟的認知能力,以及相關知識。在學程式上的進程,一定和孩子不同,不能用大人的角度來看待,預設他們能夠用我們的方式來理解這個新知識。

孩子學習程式的障礙 — 抽象思考

在認知心理學的研究中,孩子大約要到11歲前後,才開始發展出較成熟的 抽象 及 系統性思考。但是程式語言卻偏偏充滿了抽象觀念,舉例來說:資料結構。一旦學生無法建立完整卻必須的抽象觀念,便無法得心應手地撰寫程式,這也是為什麼麻省理工多媒體實驗室開發了 Scratch 這款圖形化的程式設計工具。

看到了嗎?不用背看不懂的指令,而且能用具體(不抽象)的指令及邏輯控制看得到的角色進行動作,對於學生來說,這樣的形式能讓程式設計不再這麼可怕、難親近,自然比較容易有學習動機!

現在我們來看看傳統的程式語言,是不是難懂多了呢?

Python 程式碼 及 運行方式

越是為孩子著想,越急不得!循序漸進才是正道

筆者投身兒童程式教育多年,充分了解兒童學習程式設計的歷程,要讓孩子理解、學會,首先要讓他們進入情境,無論是用眼睛看到、或是在腦中產生具體的畫面,都是讓學生能更快進入狀況,有助接下來的學習。因此,在一開始去除抽象的概念,用「直觀」而「具體」的比喻或圖像,才能幫助孩子一步步建立抽象的觀念。

其實不只是程式設計,任何學科都類似,「見樹不見林」的學習方式,會讓孩子缺乏學習動機、也不容易記住教學的內容。

所以請家長切勿躁進,不用追逐艱澀的程式語言,哪怕是用桌遊、活動,讓孩子一步步建立觀念後,再帶入正式的程式語言,將過去學到、理解的觀念連結到新學的程式語言,才是有效學習的正道。

--

--

Kevin Shu / 束凱文
橘子蘋果兒童程式學苑 官方部落格

Coder / Teacher / Student for life. Love analyzing and solving problems. Running the leading coding school in Taiwan for children and teenagers.