孩子學程式該如何開始?

面對AI時代,下一代學程式已經是「必須」了

Jerry Lin
CodingBar
5 min readDec 31, 2018

--

這幾年已經有太多人在討論兒童/青少年該不該學程式,總結大概有兩派說法:

一派認為這是世界趨勢,各國都在努力推廣,台灣自然也不能不追隨這個大趨勢,尤其台灣歷來自許是 IT 大國,更是不能落後!(特別是大陸已在 2017 年7月發表《新一代人工智能發展規劃》,全力推動程式教育)

另一派則認為:從小學程式的好處是著眼於學程式可以培養邏輯、表達、創作、解決問題的能力,但這些能力的培養,學圍棋、寫作等才藝也都可以,不一定是要學程式,要孩子學程式,似乎是商業炒作。

我們今天先不討論兒童/青少年該不該學程式,而是如果你已經想讓孩子試試,你該如何開始?

首先是看孩子的年齡

學習程式設計,上網或是買書自學是成本最低的,但如果孩子還是國小生,除非孩子學習動機超強,家長也有程式專業背景可以從旁指導,不然通常失敗的機率頗高。

其次是選擇坊間的課程,目前坊間的兒童程式課程,幾乎都是教授 SCRATCH 一類不需要撰寫程式碼的程式語言,讓孩子可以立刻上手,開發好玩的動畫或遊戲、激發他們學習的興趣。那我們先來認識一下 SCRATCH:

SCRATCH (https://scratch.mit.edu/)

SCRATCH 是麻省理工學院媒體實驗室的一個計畫,專為 8 到 16 歲的孩子所設計的,不需要支付任何費用,任何人能使用。它的操作介面容易,不需要寫任何程式碼,透過拖拉組合一些「程式模件」方塊,就可以設計出充滿聲光效果的動畫、遊戲,適合初學者建立程式邏輯的基本概念。

很多國小老師在學校也會教 SCRATCH,然而我們第一線的教學經驗發現,有些孩子已經把 SCRATCH 當成遊戲在玩了(偏離了 MIT 希望透過 SCRATCH 培養孩子運算思維的美意)。也有些學 SCRATCH 很久的孩子,要開始學習需要寫「程式碼」的程式語言時,會有種「由奢入儉難」的排斥,以前只要拉拉幾個積木就可以完成的事,現在則要寫好幾行程式碼才能運作。

然而他們不知道:SCRATCH 是為了啟蒙學習所設計的,它的功能有限,無法真正運用在實務問題上,更不要說資料處理、科學計算、人工智慧這些領域了。因此我的建議是:SCRATCH 可以學,讓孩子瞭解程式運作的邏輯,建立:順序、變數、條件判斷、迴圈、函式等抽象概念就可以,但不需要花太多時間,更不建議揠苗助長太早學習。

而如果您的孩子已經是國中以上了,具備了一定的數學、英語、邏輯基礎,我們建議您讓他從最容易入門的程式語言 Python 開始。

Why ?

Python 是目前最熱門的程式語言,因為相較於傳統程式語言 C、C++、Java,它都更容易入門上手。人工智慧需要處理大量的數據,現在資料科學處理幾乎都是使用 Python,因此 Python 在這幾年快速走紅。常有家長問到:他們以前在學校學的程式語言如:Fortran、COBOL、Basic 現在幾乎都已經消失了,學 Python 會不會有同樣的下場?”Yes” and “No”!不同程式語言各有擅長的地方,比如說 C 語言就適合在硬體控制上,而這幾年 Python 被廣泛應用在人工智慧、大數據分析,越多人使用,這個程式語言的壽命就會更長(沒有人會想把辛辛苦苦寫好的程式碼每隔一陣子就大翻新,換成另一種程式語言吧!)。何況各種程式語言基礎概念幾乎都一樣,打好了第一種程式語言的基礎,要學第二、第三種程式語言都只是在語法上做轉換,學習速度可以大大加快。

同時,我認為孩子學程式的目的「不是」要培養他們成為軟體工程師(當然,這其中一定會有些具有高度興趣的孩子會走這條路),而是未來各行各業都會跟軟體高度結合(說未來是保守了…,現在就有很多行業及工作已經離不開軟體了),產業需要跨領域整合的人才,如果您的孩子有法律、商業或醫學等專業,又會寫程式,鐵定是這領域最熱門的人才。

因此不用太拘泥於學什麼程式語言,重點在於如何啟發他的興趣,讓他願意學習、愛上學習。(當然也有人從 C/C++開始入門啦,但學過的人應該都知道,還沒寫出像樣程式之前,早已被一堆 error code 擊昏,不知如何 debug……)

總結而言,我非常建議:如果孩子在小五以前,帶他玩玩不插電的運算思維遊戲就好,不要過度使用電腦傷眼睛!(現在國小孩子近視的比例真是恐怖的高啊!)小六以後當數學、英語都有一點基礎了,可以讓他們開始試試要打程式碼的程式語言,例如:Python,或是更容易上手的 micro:bit + microPython。總之,發覺、培養孩子興趣是最重要的,千萬不要操之過急,扼殺了孩子的興趣和潛力~

至於具體該如何做?哪裡有這些學習的資源?未來我將跟大家分享如何善用網路免費的資源,親子共學!不但能增加親子互動又能啟發孩子興趣,請追蹤我們的發文!

如果您有任何孩子學程式的問題,我們非常樂意跟您分享我們這幾年來的教學經驗,您可以透過 LINE@ 與我們進一步交流!

我們的 LINE ID : @codingbar

--

--

Jerry Lin
CodingBar

原本想像風清揚一樣當個隱士,但這個時代好像沒點名氣、發點聲音好像做不了什麼事……。離開高科技產業創辦了 CodingBar,就是希望透過程式教育,提升台灣下一代的競爭力,尤其幫助偏鄉孩子能有一技之長,翻轉生命!