這是「帥爸兒童程式教育學苑」的第1篇文章,by帥爸P小編
鑑於 十二年國教課綱的調整,最近很夯的「兒童程式設計」議題,應該讓很多爸媽多少都感到有些負擔或者疑惑。
到底什麼是「兒童程式設計」?
該讓孩子學嗎?
學了能幹嘛?
帥爸作為一個在程式業界打滾30年的老前輩,之後將透過文章跟大家分享一些心得。
「兒童程式設計」照字面來看,很直觀的可以解讀成「教兒童如何寫程式」。這時候應該很多家長開始把教孩子寫程式,跟玩電腦畫上等號了!
不諱言的,程式語言本就是加諸在電腦上,使其運行的演算程式。至於,要將兒童程式語言跟玩電腦與之並論,我覺得也不是什麼很離經叛道的事。
坊間有很多教導孩子學習程式語言的課程的確是由「玩」遊戲教起的,這裡所指的遊戲包含了最近很夯的「不插電學習法」,意指透過一些紙牌遊戲、特製教具、遊戲口語指令來引導孩子學習基礎的程式概念。
另外的一種玩,就得透過電腦來執行了! Scratch是不少線下和線上兒童程式語言課程都常引進的教學工具,是美國麻省理工學院(MIT)設計開發的兒童編寫程式工具。旨在讓兒童透過滑鼠拖拉積木形狀的模塊來構成程式的命令和參數,整個畫面的呈現就像在堆疊積木一樣,這種方式讓兒童在學習時不必糾結程式語法,而且這種學習方式通常都是引導孩子創建一個小遊戲,像是引導角色起跑、跳躍、閃避障礙物(類似跑跑薑餅人幼幼版);或是繞行遊戲(類似貪食蛇)等等之類的兒童簡化版遊戲。
待孩子更大些,大概在青少年階段,Python或JavaScript是比較理想的程式教育入門軟體,因為需要手動輸入語法,需要的運算思維能力也大幅提升。
以前才沒有兒童程式語言這種玩意兒呢!
也許有人會說,程式語言還有分兒童學的,那和大人學的差別在哪?為何需要特別分給兒童學的呢?
當然有差!如果是給兒童學的(這裡泛指國中階段以前),學習程式語言的語法想必不是這個時期的掌握重點。理想的狀態是他已經具備英文基礎時,理解if、else、end、while、equal等等……這些單字的意義時,他才具備語法撰寫的基礎。當然,對於兒童程式語言來說,此階段的學習也無關debug這件事了,畢竟連個程式都還無法流利撰寫,又怎能有能力偵錯呢?
孩子未來不當程式設計師,還需要學嗎?
這個問題滿妙的!你如何能斷定孩子未來的志向呢?
因網路而得利的大咖們,無一不加冕學習寫程式的好處。這已經無關孩子日後是否要成為「程式設計師」了。
有研究預測,未來10年後的職業,有8成以上是現在不可想像以及存在的,就如同10年前應該很難想像,在網路直播打電玩、唱歌、聊天,還能賺錢吧!
另外,再換個角度思考好了,讓孩子學習程式設計,其實是提供給他在未來職涯上另一個職業選擇的參考,基於這個觀點,讓他們小時候就開始了解程式語言的世界也沒什麼不好,至少好過,我們當年是在進入大學時,才開始猛記程式語法、瘋狂學習各式語言工具來的強多了吧!
如果你的孩子網路成癮嚴重,更應該讓他學習程式設計
程式設計隱含著很多程式獨有的「運算思維」在裡頭,簡單來說,學習程式語言就是在學習電腦思考的方式。
電腦思考的方式,跟人類大不相同,即便電腦是人類發明的,程式是人類寫的,但是電腦為了更有效率的執行程式,所以人類得發明很多顛覆傳統思考、邏輯方式的演算法、數學式來讓電腦運行得更順暢。
用一句話來講就是--「電腦和你想的不一樣啊!」
電腦的思考是在有邊有界底下,執行人類所遠不及的無邊無界處理。
以有名的AlphaGo與人類圍棋對弈來看,再怎麼厲害的棋王可能有辦法思考到後面10手的局,但對電腦來說,他已經將後面100手的局面都鋪成好了!
這就是人腦和電腦的差距啊!當你越瞭解電腦是如何運作後,不難發現,電腦有很多的思考方式很值得我們借鏡拿來應用。
當你的孩子手機或網路成癮嚴重,代表他是科技的追隨者,而非創造者。最多就是一個很知道如何玩手遊,然後任何行事都重度仰賴網路的依附者。試想一下,這樣的孩子,他的眼界和格局有辦法讓他比起其他人更有機會做自己想做的事、更有機會接近夢想、更有機會活成自己想要的樣子嗎?
與其這樣,不如讓孩子充分理解電腦和網路是如何的運行後,讓他作主,他該在這樣的科技網絡世界裡,扮演何種角色。這也是我積極的想讓孩子接觸程式語言的一大思考點。
想了解更多「兒童程式設計」、「兒童程式教育」、「手機成癮」、「網路成癮」、「運算思維」議題,請關注帥爸的部落格,帥爸有很多觀點想與你分享。