【看見未來新趨勢】
美國矽谷公司產業蓬勃發展,Google、臉書、Apple等科秓產業大躍進,對於程式設計的軟體工程師,急招大量人才,大數據、雲端、物聯網、App等科技產業蓄勢待發,各國也紛紛調整教育政策,愛沙尼亞推出「程式老虎」計畫小學生運用Scratch設計自己的小遊戲,英國2014年正式將程式納入義務教育,美國紐約市耗資8100 萬美金,將軟體、程式等電腦科學教育須在十年之內普及到全市所有公共學校之中。美國總統歐巴馬、英國首相卡麥隆、新加坡總理李顯龍等政要,科技巨擘微軟比爾蓋茲、臉書創辦人祖克伯都呼籲「全民學程式」,強調發展程式教育的重要性、未來許多工作機會將被軟體取代。
【台灣107年資訊課綱】
台灣正進行資訊課程的變革,107年資訊科技課程,以運算思維為主軸,透過電腦科學相關知能的學習,培養邏輯思考、系統化思考等運算思維,並藉由資訊科技之設計與實作,增進運算思維的應用能力、解決問題能力、團隊合作以及創新思考,教育部委請師範大學李忠謀教授的運算思維專案計劃,106年辦理國中小的運算思維種子教師研習,並進行100多場的教育推廣,讓國中小教師能了解運算思維,並以運算思維的理念進行程式教育。
【認識運算思維】
那什麼是運算思維(Computational Thinking)呢?
運算思維≠資訊科技應用
運算思維≠程式設計
運算思維≠資訊科學
第一個提出運算思維的人是卡內基美隆大學的Jeannette M. Wing,他對運算思維的定義是:【運算思維是利用電腦科學的基本概念進行問題解決、系統設計與人類行為理解的思維模式】,運算思維可增進資訊科技應用、程式設計、或資訊科學的學習、成效,在基礎語言能力中應該加入電腦運算的因素,在讀、寫和算數之外,還需要該加上電腦運算的概念:「電腦運算思維的技巧,並不是只有電腦科學家的專利,而是每個人都應該具備的能力及素養。」
Google官方網站對於運算思維的四個要項
|
[運算思維的四個要項]
|
Decomposition(問題拆解)
將一個複雜的問題分解成很多的小問題,進而能夠更容易的了解,處理跟維護
|
Pattern Recognition(模式識別)
尋找問題中的相似之處
|
Abstraction(抽象化-重點摘要)
只專注於重要的信息,忽視無關緊要的細節
|
Algorithm Design(演算法設計)
開發解決這個問題的步驟、規則
|
【如何培養運算思維】
各國為了培養學生運算思維,也都從資訊科技課程著手,例如美國CSTA與英格蘭運算課程,透過運算的不同面向來培養運算思維,不是只有程式設計或資訊科技應用,其他領域也可以透過不同方式培養運算思維,在運算思維的臉書粉絲團有各學科領域之應用範例,提供國語、數學、社會、藝術與人文等領域科教案示例,而資訊科學是完整培養運算思維的重要途徑,簡單的說運算思維是【觀察分解、歸納辨識、重點摘要、解決方案】,運算思維目的在培養學生解決問題的能力,教學重點在【想、觀察】。
【運算思維與程式設計學習】
在107年資訊課綱中具體規劃國小、國中、高中各階段的程式設計學習目標。
國小階段
|
資訊科技之體驗與應用
目標導向運算思維研習
Scratch、Kodu、Code.org、Blockly
|
國中階段
|
以運算思維與資訊科技解決問題
問題導向運算思維學習
S4A、App Inventor等
|
高中階段
|
了解運算思維原理,並能進一步整合應用
創作導向運算思維實踐
Java/C/C++/Python
Arduino,App Inventor
|
國小階段適合的視覺化程式設計語言,有Blockly、Kodu、Scratch、Code.org等,其優點有三【圖型化元素代替文字、視覺表達、淺顯易懂】非常適合孩子學習程式的軟體,我們就來介紹這些程式教育軟體。
Scratch
|
Scratch 是美國麻省理工學院開發,是積木式的程式語言,學生在玩積木的過程中,組合程式,能將自己創意透過積木創造出來,簡單、好玩、有趣,而且程式的概念非常完整。
|
Kodu
|
Kodu是微軟公司設計一套視覺化物件導向程式設計語言,即使沒有程式設計的基礎也能獨自創造屬於自己的3D 遊戲。Kodu 利用直覺式的圖示來操作以及修改角色及物件的各式屬性,能夠建立3D 虛擬世界多樣化的遊戲範例。
|
Code.org
|
Code.org網站發起「Hour of Code」一小時玩程式活動,得到美國總統歐巴馬,微軟和蘋果公司的支持。課程與知名遊戲的合作,有「憤怒鳥」、「植物大戰殭屍」、「星際大戰」,乃至於最新的「Minecraft(當個創世神)」等知名遊戲角色元素。
|
Blockly
|
Google 開發的「Blockly Games」,給兒童或電腦初學者練習的玩遊戲學程式線上課程,藉由圖形化的介面,及闖關遊戲,快速瞭解程式語言的邏輯,共有七個課程主題。
|
App Inventor
|
Google開發的應用軟體,讓不懂程式語言的人也能創作Android手機的程式APP,堆積木組合程式,並能控制手機硬體功能及整合Google各種服務,設計專屬自己的手機APP。
|
【如何以運算思維教程式】
程式教育的基本核心能力,【循序、流程控制、基本運算、迴圈、變數、副程式、陣列等】等,並不是教了就能融會貫通,整合運用。以主題式課程為主,明確的範例作品,讓學生在設計作品中,學習軟體基本應用,看看軟體有什麼功能,將學到的程式概念,整合技巧,完成一個明確的主題,學習程式也要重覆練習,透過練習熟悉,才能巧妙運用,學習才能深化,掌握軟體的可能性,做出自己想要的作品。如何使用運算思維的理念教學呢?將程式主題作品開啟,讓孩子自己執行程式試玩,或由老師示範,別急著教學生如何製作,先讓學生觀察程式執行情形,詢問學生,看到什麼?有什麼功能?逐一記錄並進行分析歸納,與孩子討論,培養學生【想、觀察】的習慣,這是運算思維教學的方法,再進行程式教學工作,事實上各個程式語言都有其學習內涵,教師必須掌握教學重點,才能引導學生進行深度而有效學習。
Blockly七個課程學習內涵說明
課程
|
程式教學內涵
|
|
拼圖
|
介面與拼圖導引
|
迷宮
|
迴圈與條件
|
鳥
|
進階條件控制
|
烏龜
|
進階迴圈
|
影片
|
邏輯運算
|
池塘導師
|
視覺化程式轉換為文字程式
|
池溏
|
自行設計鴨子的競賽遊戲
|
【課程安排】
* 三年級體驗Blockly、Code.org都是非常適合孩子學習程式的入門工具,在玩遊戲中學習程式的基本概念。
* 四年級可以學習Kodu的3D立體遊戲設計軟體,具有立體效果,邏輯思考很簡單,【When當…Do執行】孩子非常容易理解,提供功能模組選用,及可愛的角色及物件,並可自行建構的立體場景,能設計自己的小遊戲。
* 五年級學習Scratch,因為有更完整的程式語言學習內涵,有實際的作品產出,台灣這幾年都有辦理Scratch瘋狂貓咪盃的程式語言競賽。
* 六年級Scratch For Arduino學習運用Scratch控制機器人、物聯網IoT有更多元廣泛的應用。
【多元的資訊課程】
小學資訊課程不能只教程式設計,電腦基本素養的作業系統、認識鍵盤、中英文輸入、文書處理、簡報製作、影片剪輯、影像處理、網路運用、電子郵件等都是學習的重點,結合其他領域學科進行專題實作,就會更有成效。一個新理念或新習慣的形成需要21天,學習程式需要更多更長的時間涵養,以運算思維的學習方法,培養學生解決問題的能力,讓學生能面對未來全新的領域挑戰。