圖片取自維基百科: https://zh.wikipedia.org/wiki/小教授一号
我其實不確定這些程式設計的學習歷程,給了我什麼。不過我到現在還記得一些培基語言,和裡面的邏輯,我想是有留下些什麼才對。
另外,小時候還有一個讓我印象深刻的玩具,叫做「動動腦」。是一種電子積木玩具,只要按照說明書上面的方式組合,就可以做出許多具有電子電路功能的裝置。像是濕度感應器;收音機等等。後來長大當了老師之後,看到有復刻版的原版學研電子出的電子積木,當然就是二話不說買了下來 :小p老師的教具工房: 學研電子積木與電子積木iPad版
當年小教授的培基和動動腦我玩了很久,我也不知道我學到了什麼,後來也沒有成為什麼程式設計或電子相關的專家。
那我在想,我爹花的銀子是不是浪費掉了啊?我想想應該還好,我覺得我確實在裡面多了許多機會進行許多邏輯思考,用了許多時間沉浸在動手與動腦的情境當中。我沒有成為程式設計和電子相關的專家,不代表我沒有從這些訓練中獲益。
那回到我的標題:程式設計學什麼?
我對於現在許多Maker或者是程式設計進入教育現場的情況其實是憂心的。看到許多老師談論很厲害的機器人、四軸、3DP等等,我一直在想這些東西進入教學現場,它們的角色是什麼?在創客開始風行全球的時候,我覺得很棒的原因是學生開始有機會去做許多的發明創造,那些的門檻降低了。於是許多孩子想要發明創造的能量,可以用比較低的門檻去達成。
之前買了一個玩具叫做Little bits的。介紹影片如下
我一開始看到這個玩具的時候,心想:這東西都做好了,按下按鈕就會發亮、震動,有啥搞頭?影片看到後面發現,原來這個玩具就是要學生「跳過電子電路的原理」,讓他們直接「利用電子元件」來創作聲光振動效果的玩具。
也就是讓孩子的想像力和創造力,可以更容易變成真實的東西。那麼我們的創客教育,是不是也是著重在孩子的想像力和創造力呢?
再來思考程式設計的課程。每個國小國中生,都應該學會一些程式設計,程式語言。真的嗎?程式語言,是極端邏輯的語言。要清楚的把一件事情告訴電腦,可沒那麼容易。只要有一點邏輯上的模糊不清或矛盾,電腦就會告訴你。那如果邏輯思維的訓練是程式設計想要教的,那程式的撰寫就是個工具,而不是個目標,我認為藉由撰寫程式來訓練邏輯思考是很好的。所以Scratch或Code.org的教材我覺得很棒!裡面有邏輯思考,並且避掉了程式設計的基本功,讓孩子可以直接進入邏輯思考的訓練,並且創造一些東西出來。
但是我也聽到一些老師在抱怨用scratch無法做更高階複雜的東西,也有學生學了scratch之後,對於「真正」的程式設計變得沒有耐性。
關於這一點,我想要提醒的是,所有的課程都有基礎和進階,而且目標很可能不一樣。程式設計的基礎課程,是邏輯思考的訓練,卻未必是專業程式設計人才的培養。如果是邏輯思考的訓練,我認為是可以做成全民教育的。也就是國中小課程,我都樂見有放進一些利用程式設計來訓練邏輯的課程,但是老師要很清楚,他在訓練的是邏輯,不是程式設計。
但是專業程式設計人才的培養,我認為根本不該是全民教育。如果學生在裡面展現了高度的興趣,想要多學一點,當然沒問題,我認為教育現場也該盡可能的給予機會。但是有許多學生就停在scratch或者code.org裡的訓練,我認為也沒什麼不對。
就像科學教育裡面,也有許多屬於基礎的全民教育,有些是基礎知識,有些是思考智能與解決問題方法,有些是科學態度,這些部分應該大家都要盡可能的學會學好。但是有很多很專業的科學知識,就不該設定為全部的學生都要學會精熟的。大家都要學會的基礎課程以及如何提供能力較好,有興趣的孩子向上延伸的機會,這些差異化教學的設計,永遠是各科目裡面重要的問題。
不斷的談論追逐更多尖端的科技,深入的內容,卻鮮少聽到將這些轉譯成普及教育可用的內容,是我擔心的問題。
程式設計與創客,大規模進入基礎教育現場,我覺得很棒。不過實際施行的內容細節,真的也還有待大家做更多思考。
p.s 十多年前,九年一貫,生活科技與自然領域結合,真的是很棒的創見。當時就預見了跨科跨領域人才的重要性。可惜實際執行的時候,不但無法跨領域,還因為考試的關係,自然科把生活科技科吃掉了。結果現在創客要進來,生活科技課的老師卻不知道去哪裡了...嘆!
也就是讓孩子的想像力和創造力,可以更容易變成真實的東西。那麼我們的創客教育,是不是也是著重在孩子的想像力和創造力呢?
再來思考程式設計的課程。每個國小國中生,都應該學會一些程式設計,程式語言。真的嗎?程式語言,是極端邏輯的語言。要清楚的把一件事情告訴電腦,可沒那麼容易。只要有一點邏輯上的模糊不清或矛盾,電腦就會告訴你。那如果邏輯思維的訓練是程式設計想要教的,那程式的撰寫就是個工具,而不是個目標,我認為藉由撰寫程式來訓練邏輯思考是很好的。所以Scratch或Code.org的教材我覺得很棒!裡面有邏輯思考,並且避掉了程式設計的基本功,讓孩子可以直接進入邏輯思考的訓練,並且創造一些東西出來。
但是我也聽到一些老師在抱怨用scratch無法做更高階複雜的東西,也有學生學了scratch之後,對於「真正」的程式設計變得沒有耐性。
關於這一點,我想要提醒的是,所有的課程都有基礎和進階,而且目標很可能不一樣。程式設計的基礎課程,是邏輯思考的訓練,卻未必是專業程式設計人才的培養。如果是邏輯思考的訓練,我認為是可以做成全民教育的。也就是國中小課程,我都樂見有放進一些利用程式設計來訓練邏輯的課程,但是老師要很清楚,他在訓練的是邏輯,不是程式設計。
但是專業程式設計人才的培養,我認為根本不該是全民教育。如果學生在裡面展現了高度的興趣,想要多學一點,當然沒問題,我認為教育現場也該盡可能的給予機會。但是有許多學生就停在scratch或者code.org裡的訓練,我認為也沒什麼不對。
就像科學教育裡面,也有許多屬於基礎的全民教育,有些是基礎知識,有些是思考智能與解決問題方法,有些是科學態度,這些部分應該大家都要盡可能的學會學好。但是有很多很專業的科學知識,就不該設定為全部的學生都要學會精熟的。大家都要學會的基礎課程以及如何提供能力較好,有興趣的孩子向上延伸的機會,這些差異化教學的設計,永遠是各科目裡面重要的問題。
不斷的談論追逐更多尖端的科技,深入的內容,卻鮮少聽到將這些轉譯成普及教育可用的內容,是我擔心的問題。
程式設計與創客,大規模進入基礎教育現場,我覺得很棒。不過實際施行的內容細節,真的也還有待大家做更多思考。
p.s 十多年前,九年一貫,生活科技與自然領域結合,真的是很棒的創見。當時就預見了跨科跨領域人才的重要性。可惜實際執行的時候,不但無法跨領域,還因為考試的關係,自然科把生活科技科吃掉了。結果現在創客要進來,生活科技課的老師卻不知道去哪裡了...嘆!
沒有留言:
張貼留言