金門資工陳教授說(參閱):「和聯考時代相比,升學系統裏,多出了一些《眉角》。所以如果學生不懂善用這些《眉角》,就可能會錯失機會。但高中生經常是和家長最不能溝通的年紀,所以家長常常會錯失幫助兒女的機會。例如:1. 判斷兒女是否想走資工系,而且有程式方面的天分,然後讓他去練 APCS 或資安...」
所以,怎麼判斷孩子程式方面的興趣天份,讓他去學APCS ?
我的訣竅是,不要等到高中才開始,高中生是不會任父母擺布的,你越要他做他就越不做。必須要在小學就做這件事。
做什麼事? 許多家長來問我,是否要從小開始學程式,尤其是學Python、C++等等正規的程式語言,越早開始越多時間練習,贏在起跑點上。
不是這樣的,我看到的都是越早開始效果越差。國中小學生不需要學「程式語言」,該學的是「運算邏輯」跟「互動創作」。白話點說,「運算邏輯」就是學習把真實世界的問題,化為精準的、可重複的流程,因此做一次跟做一萬次的成本都相同,這是極有價值的能力(做一次工,賺一萬次的錢)。「互動創作」的意思是,相較於畫畫、作文等單向的創作型態,程式賦予了互動創意的可能性,可以創作遊戲、互動式故事等等。再更具體說,國中小學生只要學好Scratch,就非常足夠了。
每次我講到這裡,就會有家長說:「老師,孩子已經學過Scratch了喔,接下來是不是該學Python或C++了?」。
重點不是「學過」阿,大家都有「學過」英文,那能跟外國人溝通嗎? 在學校都有「學過」美術音樂,都畫的漂亮、歌唱的好聽嗎?
我所謂「學好」Scratch,就是能自行發揮創意做出好的作品,而不是照老師的示範依樣畫葫蘆。更進階來說,就是能勝過同儕,拿到獎項。而Scratch教學,正常小學都是有在教的,搜尋「貓咪盃」,可以看到教育部很努力在推廣,有校內賽、縣市賽、跟全國賽,學生可以逐步挑戰。
對於國中小學生,學Scratch比Python、C++更能培養多元能力。像C++這樣的程式教育僅著重邏輯訓練、解題能力,對國中小學生過於枯燥無趣。相對的Scratch能輕易的把圖像、聲音、互動納入,學生能自主性的發揮創意,訓練作品設計的完整性,兼顧邏輯、創意、藝術、設計的培養,對學生長期的發展會更好。如果國中小就透過Scratch做出樂趣跟成就感,到了升高中的時候,學APCS自然就水到渠成,不用家長要求了。
那,如果已經升高中了,錯過國中小學階段了呢?如果未來有考慮電資相關科系,還是得趕快學阿,適不適合都是學了才知道,不適合都還來的及換方向,不然是要矇著眼選系嗎?