2016年3月31日 星期四

以一個業者和教師的角度去看107年程式設計納入課綱

這幾天在FB看到同業的都在轉載107年將程式設計納入課綱的新聞,我以一個業者的角度來看,將是一個很有潛力的市場,
但是老實說!創業開設教學工作坊時,並未去注意到這方面的相關資訊
我只知道:學習數位工具對小朋友來說是一個小小投資,高報酬率的一件事
基於這個理念,覺得提倡小朋友多多使用免費開放資源的軟體這是值得去做的事情,對我來說也是高成就感並且可以回饋社會
因此我們經營理念:平實的價格讓大部分的小朋友和成人都有學習的機會
沒想到兒童程式設計近幾個月開始竄紅,是我史料未及的事

因為我也是一個程式設計的教師,那換成這個角度來看看課綱
要分析一件事的優缺點,必須從各方面去思考和論證
前幾期的親子天下大談”兒童程式設計“,裡面內容也有從反面思考去評論整個課綱是否恰當?
的確!
師資是否充足?
拉大城鄉差距? 較好得師資通常比較願意留在大都市中,就我的觀察來看,”兒童程式設計“大部分都沒聽過!更不懂如何去找管道學習
拉大貧富差距? 富有家庭可以花較多資源學程式設計, 經濟弱勢者只能得到較少資源或者在家自學,一知半解
                          跟大家說一個小故事,曾經有一位附近小朋友,每當經過教室,總是被我們播放影片所吸引,久久才離開
                          後來問我們: 學這要錢嗎? 聽完需要錢,不說任何話轉頭立即離開

那我怎麼看呢?
這些考量雖說有配套措施,但看看近幾十年來國家教育方針一直改一直改!
有改掉明星學校的觀念嗎?
有改掉萬般皆下品,唯有讀書高的觀念嗎?
為了進入好學校,家長們無所用不其極!家裡經濟較佳的小朋友可以獲得很多資源,得到更多獎項

呼籲家長們:
學任何才藝或者學科千萬別目的導向! 
不管哪一種才藝,只要小孩子能對它有熱忱,而且可以從他們眼神中看到專注和自信,這就是好的才藝好的學習
與家長聊天之際,我常說:只要小朋友喜歡,就讓他就去嘗試或者鼓勵去學習,並不一定要學程式設計
基於此!教學工作坊另外一個理念:提供多元化的教學,鼓勵學生使用不同又低廉的軟體,來發揮自己創意, 表達自己的想法

最後!
我以一個過來人的經驗
不管程式設計未來納不納入課綱,它是一個值得去投資學習的一門學問,可以幫助你思考問題的答案
不管未來是否成為工程師,你能為自己設計一個小程式改善對於未來生活和工作
為了幫助有心想學習程式語言弱勢學童,只要能提出“低收入戶”相關證明,未來我們將來規劃一名以“免學費”方式隨班學習
讓弱勢者能藉由學程式語言有發揮的空間
歡迎大家加入我們奔FUN數位教學工作坊的學生,只要有心學習,我們視為每一個學生都是具有潛力且可塑性高的
只有您們繼續支持我們,我們就有更多動力做得更好
感謝大家


奔FUN數位教學工作坊 

2016年3月8日 星期二

我是生技人 !小時候學程式設計對我的影響


因為保險公司的關係,我就選擇了訂閱半年的《親子天下》雜誌當作生日禮。
近期教學工作坊剛成立,我只好把它原封不動連同包裝放在窗台上,沒有心思去打開來閱讀
一個禮拜六早上一位小五的學生預約了試聽課程,在上完課的時間就與家長閒聊起教育經
發現家長的觀念非常的棒,相談甚歡同時,家長說:「老師,你可以去看看這期的親子天下,大篇幅的在談兒童程式設計」
這時我才驚覺最近太忙沒空去了解這方面的資訊
回到家,打開包裝紙,果真封面故事就是在談兒童程式設計
我興奮翻翻裡面的內容,斗大標題「不當工程師,為什麼也該學程式?」,
裡面的內容引起我的共鳴,因此在這和大家分享一下學習程式語言對我個人人生發生哪些影響


我是一位六年級生,生在一個算小康家庭裡,父母白手起家,工作忙碌,
那年代裡還沒有什麼全天候安親班
只好讓我學很多才藝來消磨平日時光,諸如心算、繪畫、書法、作文、美語...等
在小五升小六的暑假時,家裡需要一台386的個人電腦處理帳務,
爸媽因為跟電腦店老闆熟的關係,就把我也連同丟去上個電腦課吧
心想....電腦課! 哈哈 一定是"電玩課",太爽了!
沒想到.....是死掉許多腦細胞的開始!
想必年紀跟我差不多的人,對於"培基語言"這個名字一定不陌生吧
沒錯! 我上的 電腦課 = 培基語言程式設計課
那時我根本不懂甚麼叫做 "程式設計",就硬著頭皮上下去了
隨著一堂一堂課過去,天阿!真是鴨子聽雷!
最後我只好勤做筆記,把老師白板上一個字一個字打在生硬的電腦螢幕上
這時我的英文還沒很好!只懂得簡單單字,但是卻不知不覺把程式語法用到的單字也背起來了
雖然痛苦萬分,但是我對指令叫電腦去執行出來的結果令我感到有興趣

有一天突發起想: 設計一個開機密碼放在家裡電腦上吧! 
果不其然!某天的下午,客廳傳來老爸慌張聲音
大喊;「電腦怎麼會變成這樣,開機不了!還會出現警告聲,快來看!」
我神色不慌不忙竊笑的回答:「喔! 我來! 這是我設計的啦!別怕」 
卻被老爸唸了一頓,命令我立刻把它移除
雖然被老爸數落一番,但是心理卻有無名的成就感!
因為要寫這個程式,我"自學"老師很多沒教過的語法,組合了老師教的"片段記憶"
從此我開始變成班上電腦顧問了

上了國中,用電話撥接上網剛剛崛起,當然我也迷上電話撥接上網
功課壓力大關係,老爸就把數據機拆了,讓我與電腦絕緣一陣子
上了高中更不用說哪來美國時間去碰電腦
然而程式語言這個基礎仍在我腦海中,從來沒有忘記
因為數學成績一直不理想,想念資工的我,後來只好改念了三類組(醫農)
因為看了《急診室的春天》夢想可以當為醫生
考上大學後,成績太爛只能唸"醫學相關科系",從此成為被認為數學不好的生物科技人

但唸的科系關係,發現生物統計、遺傳學、流行病學好像和數學非常非常有關
而且還必須用到統計軟體去解決龐大數據
本來討厭統計的我,就這樣又一頭栽進去研究統計軟體SAS(它是一套需要寫程式碼的統計軟體)
慶幸因為小時候的程式設計基礎,當許多旁人在用 EXCEL,SPSS用滑鼠點來點去辛苦做統計時
我設計一個程式只需按一個執行鍵就將把剛剛加入新的數據重新統計,
別人花十分鐘,我只花三秒鐘

出了社會工作,生物資訊資料庫愈來愈龐大,也愈來愈垂手可得,但要經過統整是非常耗時的
而且如果是人工一個個校對的話更容易出錯,
再次又利用到自己程式設計的基礎,寫了一些小程式進行資料截取和比對
一個月的工作,我只花一個禮拜就搞定,然後跟老闆說:「老闆我還再弄,再給我幾天時間」(其實我已經弄好,只是晚點交而已! 哈哈)
台大葉丙成教授說得沒錯:學程式不是為了以後變成「麒麟之材!科技新貴! 應該透過學程式培養自學、創新、解決問題的能力
學程式語言也不是只有宅男具有天賦,我曾在在大學裡看見長髮正妹唸資訊工程系
我自身也感覺到在學程式設計過程中,能對於未來能改善工作與生活有一定幫助
別人八九點下班,你(妳)寫個小程式讓你(妳)五點準時下班,而且還不會弄錯抄錯

隨著電腦科學進步,現今小朋友真是幸福,可以學習的機會和工具變得多樣化
Scratch 減少了學童對程式設計的挫折,只要專心培養程式邏輯
這麼好的免費的數位學習工具,沒有理由不去學!


說真的! 從小學才藝的我,現今回想什麼才藝對我來說最有用? 我不假思索秒答: 程式設計

延伸閱讀《親子天下》 3月數位專輯

2016年2月22日 星期一

介紹Scratch程式設計軟體(二)

前文提到, Scratch是一種適合小朋友學習的積木式圖形化程式設計軟體

你可以用寫程式的方式,做出動畫電子賀卡,寫出各種遊戲
也可以利用電腦的麥克風和視訊鏡頭,寫出體感遊戲
較大的孩子學會變數與清單的概念
也能寫出像抽出樂透號碼這樣較需要理解的程式
這些軟體程式設計的部分,都無須再花額外的錢
就可以做出很多的變化~

Scratch在硬體擴充的部分,也支援PicoBoardLEGO WeDo










老師尤其喜歡使用PicoBoard做教學
相較於樂高動輒上萬的遊戲套件
(且無法創立虛擬角色,建立較完整的程式邏輯概念)
小小一塊PicoBoard只要600
便能擁有一塊上面已有滑桿、LED指示燈、光線感應器、按鈕、麥克風、
電阻偵測器、擴充槽的擴充板
擴充槽又可以連接像是水滴感測器、土壤溼度感測器等套件(不到300)
平實的價格就可以靠著程式撰寫做出不同的變化
下面影片為老師利用Picoboard和土壤溼度感測器
利用程式,讓Picoboard上的光線感應器去廣播白天或黑夜的發生
並利用濕度感應器上溼度的變化,讓Pico澆花





基於Scratch發展出的S4A(Scratch for Arduino)mblock
則是在程式模塊裡多了操控Arduino板(mblock還有mbot)的部分
像是S4A,主要可連結Arduino Uno, Diecimila, Duemilanove等擴充板
這些板子的擴充性更好, 比起Picoboard上面的元件都是被焊死,彈性更大
可以接煙霧感測器, 酒精感測器,傾斜開關….等等來做互動
但是這些Arduino板也比Picoboard稍複雜些
需要能理解一些電子學常識,所以適合稍大一些的小朋友,Scratch的基礎更好
而這些擴充板或其他擴充組件,也通常是很便宜的
一塊Arduino Uno R3約200多元就買的到,煙霧感測器模組約100多元
這樣平實的價格,讓每個小朋友都學得起程式設計!!













本圖為Arduino UNO板

介紹Scratch程式設計軟體(一)


            Scratch是由麻省理工大學媒體實驗室終身幼稚園組在2006年研發出來。


        Scratch適用於8歲以上使用者。即便使用者從未學過程式編程,透過拖曳預先設定好的積木式圖形化程式模件,表達程式指令,設定和控制每一個角色或背景的行動和變化,從而完成程式設計。
圖一: 圖片左上為舞台區,是角色執行程式時的舞台中間為積木區,內建十大種類的程式積木而右側為程式區,將中間的積木拖曳至程式區進行邏輯式的堆疊,就可以讓角色執行動作

為什麼說是積木式圖形化程式模件呢?
以下圖為例,你有沒有發現,每一個程式模組都長得很像積木呢??
積木凸出的部分只能與凹入的部分作結合
而橢圓形積木只能放入含有橢圓形空格的積木當中,六角形也是一樣的
如果可以放入的話,將積木指令拉近要放入的積木附近的話便會出現白色的框框或線條
提示你這樣放是ok的唷! 但是你的角色是否能正確執行程式
端看你堆疊程式的概念是否合乎邏輯



下面的影片是用scratch拖曳出來的一個小程式
你可以看到,利用平行執行的概念
主人翁Pico邊移動邊變換造型,碰到舞台邊緣就會轉身向反方向行走
是不是很可愛呢??
下一篇,我們會更深入的介紹scratch能做些甚麼!