各位家長及老師好,我是點亮老師 !
今天我來跟你們分享,我是如何帶學生學寫程式。
我是一名工作超過 10 年的資深軟體工程師和孩子們的爸爸,我專注讓 7 歲到 12 歲的孩子 (小一到小六) 在愉快的學習環境中,用程式發揮自己的創意並增強解決問題的能力。
Scrach 為什麼對孩子學習是容易的?
Scratch 的創辦人當初就是用樂高玩具的概念作為 Scratch 發展的核心,樂高玩具對孩子來說非常的直覺,不用說明書也能玩。
Scratch 是將一整串的程式邏輯,用一個個積木來代表,舉例來說,在Scratch我們最常使用「重複無限次」這個程式積木,它的形狀就像是恐龍張開嘴巴的積木,當我們把另一個需要重複執行的程式積木放到嘴巴裡面,嘴巴就會自動咬住,再搭配點擊綠旗開始,就可以讓角色重複執行那個程式積木。
孩子與 Scratch 的第一次接觸
這個對於孩子來說是個全新的體驗,記得我教國小一年級的姪子第一次體驗Scratch,我請他從角色素材庫中選一個角色,我堅持要孩子選擇自己喜歡的角色、背景、音效、音樂,而不是我安排好所有的細節。
因為我知道,如果是我選好的角色,待會我讓角色動起來的時候,他一定不會驚訝自己為什麼那麼棒,只會覺得:喔!原來Scratch就這樣,好!我知道了。
如果讓孩子從無到有,每一個步驟細節都是他自己做出來的就不一樣了。
幾乎我看到的孩子,當他們「第一次」看到自己操作的角色動起來的時候,那個驚訝自己做到的感覺,滿足的笑容掛在臉上,我沒有在誇大,我真的是在現場看到他們的表情。
為什麼會這樣呢?這是他們第一次看到自己主動創造出來的角色,是會動的,所以對孩子來說特別的有趣、好玩,有別於平常被動的接收已經畫好的卡通。
我就是因為看到孩子們臉上的笑容感動到我,開啟我的兒童程式教學生涯,從2021年10月建立YouTube頻道開始把教學影片公開放在上面。
我們身為家長的,看到孩子們的成長就是我們最大的快樂。
說實話,父母不好當、老師也不好當,面對的挑戰都很大,但每當看到或是想到孩子的成長,這一切都值得了。
在還沒有接觸Scratch之前,身為軟體工程師的我,寫程式就是被我就是當成謀生的技能,薪水不錯、年薪百萬。
直到我接觸到Scratch,原來程式已經跟我之前所學的不太一樣,竟然可以這麼的有趣、好玩!
這麼小的孩子也可以學,並且樂在其中,這打破我對程式的舊觀念,從來沒想過複雜的程式可以進到孩子們的世界。
謝謝Scratch的創辦人:麻省理工學院的教授Mitchel Resnick。
此外,如果不是 Scrach,我們在撰寫文字式的程式碼時 (例如:C#或Python),需要使用 ‘while’ 或 ‘for each’ 等控制迴圈的結構,並且需要搭配一些不會終止的條件才能順利運行。
孩子不用去了解程式背後有多麼複雜,孩子只要掌握這個積木的用法就好,正好給國小正在發展創意階段的孩子,有了發揮的舞台。
我們做為老師的,很想用一套課程、一套教法就適用於所有的孩子或學生,但根據我們的經驗,很基礎的還可以,但要再進階往上學習,就必須激發孩子或學生的興趣。
一旦他們有了興趣,就有足夠的自學動力,老師就成為旁邊輔助的教練角色,鼓勵並激勵他們學習,甚至訓練成可以上場比賽的選手。
如何激發孩子的興趣
以下,我將從一些我教過學生中挑選 3 位,與你們分享他們的學習歷程,一起來看看吧。
案例1、學生S
我曾教過學生S,國小四年級的男生,線上一對一,因為他是獨生子,父親創業很忙、母親家庭主婦。
最常陪伴他的就是電玩,所以我在教他的時候,幾乎都是教他如何做出像Switch或是手遊上的遊戲,不過我們沒做得那麼複雜,點到為止,重點在激發他對程式的興趣。
後來他自動做了好幾十個遊戲專案,並且在Scratch的社交平台上參加創作坊,並當管理員幹部,經營自己的遊戲王國。
案例2、學生E
學生E,國小二年級的男生,我當初不是從ScratchJR開始,而是直接從Scratch開始教,我都是從最基礎的程式積木,連續做了好幾個很簡單的專案,建立他的信心。
Scratch的官方建議是從國小三、四年級開始,我在他升小一的暑假就開始帶他玩。
我是以大哥哥的身分帶他玩、帶他探索,而不是大人的角色。
學生E表明說他學 Scratch 只喜歡讓大哥哥教、大姊姊教,哥哥姊姊用引導的方式帶他玩。
後來我發現學生E的數學邏輯特別好,我在想是 Scratch 的邏輯訓練幫助了他,當然也跟學校的數學老師教得好有關,學生E喜歡數學老師 :),相輔相成。
平常學生E還會將現實生活碰到的事情用Scratch程式邏輯來跟我分享,例如手電筒怎麼用呢?就是用判斷條件的程式積木,如果開關被打開,那麼燈就亮,否則燈就不亮。
此外,我還下載一些可以學習程式的App,以及電腦上可以學習程式的教學平台,一步步花時間帶小小孩進入程式的世界。
案例3、學生J
另一個學生J,國小四年級的女生,教她基礎的還可以,再往上的她就表示困難不想學,所以我就用可以吸引她的方式,例如去 Scratch 上找咕卡貼紙的專案、或是 Scratch 偵探辦案的動畫、或是動物養成的貓咪遊戲。
不讓她是在學程式,用一些她喜歡的專案來吸引她,Scratch的平台上有超過 1 億個作品,可以盡情激發孩子們創意的潛力,絕對找得到令孩子感興趣的專案。
程式教育的無限可能性
另一方面,Scrach 不只適用於兒童,我還認識一位法律系的教授,將課堂引進 Scratch,讓學生用 Scratch 來製作法律判決案例的動畫,並且在課堂上發表。
那位法律系教授就是看了我們的YouTube上的教學影片學的,後來還邀請我到他們系上向大學生演講,不過演講題目不是兒童程式 Scrach,而是 AI人工智慧。
為什麼我們應該要讓孩子學習Scratch
Scratch的3大核心理念是:Imagine, Program, Share,簡單的來說是將腦中想像的抽象事物(Imagine),用Scratch中的程式積木做出來(Program),再分享給全世界的人(Share)。
所以我覺得 Scratch 是可以很快速的做出原型設計(Prototyping),將我們腦中的想法以及創意實化在 Scratch 當中,如果我有一個想法要用動畫或是遊戲的方式呈現,那 Scratch 就是首選。
如果孩子從小就有經驗將腦中的想法及創意實作出來,對應到大人世界就是把最小可行化的產品(MVP)做出來,從這個小小開發者的角度來看,我相信每一位孩子都需要學習 Scratch。
此外,我看到教育現場是,學了 Scratch 再學 Python 的學生,都認同 Scratch 幫助他們打下扎實的基礎,因為他們之前在Scratch已經習慣將一個抽象的問題,拆解成不同的小問題,然後逐項解決,而不是一看到文字式的程式碼就搖頭說沒興趣。
如果時間允許的話,我會建議孩子從 Scratch 先學邏輯、再進階到 Python 撰寫文字程式碼,我的孩子目前就是這樣的學習安排。
看完後,是不是已經迫不及待想要開始學習呢?現在,你可以報名我們在Udemy上的免費線上課程。詳細的課程資訊與註冊方式,都在下方的說明欄位中: