我講的不是對程式設計特別有興趣,自己找資料上網學的那種,而是指父母苦心栽培孩子早點接觸程式設計,刻意投資學習的。
從幾個角度我是不太贊成提早到小學學習。
1. 小學生的理解力普遍還不成熟,提早學習事倍功半。
2. 學習都有機會成本,把資源用在程式學習,就壓縮學習其他事物的資源。
3. 程式語言與開發環境本身變化快,過沒幾年整個語言或開發環境都改變了,保值性差。不像外語,變化緩慢許多。
舉例來說,90年代初期,你學程式與網際網路無關,也沒有 Windows 這種東西。2000年初期,你學的與智慧型手機無關,所以當然沒有 iOS, Android。2010年學的跟大數據/AI無關。每個時代都有特別好用流行的程式語言。
4. 參加特別為兒童開發設計的遊樂中學習的程式語言,沒法直接應用在工作上。
5. 要得到效果類似的邏輯訓練,可以不花大錢學習。真正鼓吹家長多多投入的,其實是推廣這些教育的廠商,因為他們要獲利。你看到的那些有關學習的效益,不及早投入會輸在起跑點的文宣,多半是置入性行銷。
程式語言其實像操作指令與流程,某個角度來說就像機器的使用方式。每種設備都有各自的操作方式,所以拿到設備後翻翻說明書基本上就能操作了(當然程式可以寫得很複雜,但事實上操作是朝著免說明書的方向發展的)。所以程式語言其實隨時都可以視需要學習,用最方便的語言來操作。不會就當下學即可。
大家都需要應用程式,但絕大多數人不需要寫程式。譬如大家需要學會使用文書編輯軟體,試算表,簡報軟體,即時通訊軟體,FB等社交平台的運用,修圖,形形色色的電腦遊戲等等,但不需要自己寫程式。就像現在人人用手機,但有幾個人是自己寫程式給自己的手機加功能用的? 萬不得一吧?
以上是個人想法,歡迎大家反駁指正。謝謝!
沒有特別花錢讓小孩學習。就在code.org上自學,我和爸爸有指導。小朋友若是英文基礎不錯,這是方便且免費的學習資源,循序漸進,自己也很有成就感。在這之前,有玩過thinkfun出的一款桌遊,code master, 具備基本編程邏輯。