第二次:圖形化程式語言-Blockly
學習程式語言已經是全民運動,連歐巴馬也寫出第一個程式,因為未來是軟體的世界,學程式可以訓練邏輯性,可以應用在許多地方。
實作1-程式設計師(coder)介紹
國內:國二就有大三的程度,14歲男孩自學程式!(因為喜歡主動學習才產生的學習成果)
http://www.thinkingtaiwan.com/content/3892
http://jimmyscratchlab.blogspot.tw/p/jforthblocks.html
國外:自行開發App的12歲程式設計師
如果你對 App 有一些想法或者想試試軟體這條路,那麼 Swift(蘋果新推出的 App 開發語言,以快速便捷性來取代原先的 Objective-C) 是最好的選擇
自修網路課程
https://www.udacity.com/courses/cs101
程式設計師的簡單信念-軟體因為使用而有了價值
Mosky網頁
http://mosky.tw/
實作2-觀看"軟體吃掉全世界"影片
影片(校內.資訊教育/程式語言)
Blockly-Google開發
■特色及內容
Blockly目前主要分為7個小遊戲包含飛機座位計算(Plane Seat Calculator)、迷宮(Maze)、圖形計算器(Graphing Calculator)、拼圖(Puzzle)、驗證碼(Code)、海龜圖形 (Turtle Graphics)、模塊工廠( Block Factory)。每一個遊戲又分成許多的關卡,雖著關卡越高難易度也跟著提升,遊戲還有許多國家語言可以選擇,因此,幾乎全世界的孩童都能輕鬆學習。
Blockly 含有表達各種程式設計概念的遊戲,例如最基本的Puzzle主要是介紹圖塊的拼接與設定方式,Maze則是以迷宮遊戲來表達簡單的迴圈與條件概念,Bird則是進階的條件與控制教學,Turtle為進階的迴圈概念遊戲,以Movie來介紹數學方程式,Pond則是一個可程式化鴨子的競賽遊戲,Pond JS將圖塊轉成文字介面,讓鴨子的行動更快而且能力更強。
實作3-Blockly Games(IE無法執行)
(下載) 可下載至電腦執行.不需網路.(資訊教育/程式語言/Blockly Games)
迷宮關卡說明
第一關主要是讓學生熟悉環境,如果已經有學過 Scratch 的學生應該會很快就上手。把程式積木依說明指示拉進程式區後,可按執行程式。如果還沒過關,可以按「重設」讓主角回到出發點,修改程式後再執行一次。如要移除程式積木,可以把積木拉進指令區或是垃圾筒。
第二關開始加入了「向左轉」、「向右轉」的概念,可以訓練學生的方向感,要完成任務的程式碼也比較多。對一些低年級的學生來說,會需要多想一下。老師可以在旁協助,教導學生對程式做一些簡單的執行測試。讓學生自己學會 trial and error.
第三關開始,加入了一個「重複執行」(迴圈) 的程式積木,老師可以示範原地旋轉。由於程式會限制可以使用的積木數量,所以一定會讓學生使用「重複執行」的積木,只需提醒把向前移動拉進重複的區域中即可。
第四關開始才是真正練習使用「重覆執行」,一共可以使用 5 塊程式積木。老師也許可以先引導不用使「重複執行」積木,只用向前、向左、向右寫程式,來讓學生觀察程式重複性,或用紙筆寫下程式執行步驟。後續再把結論用「重複執行」包起來。
第五關是讓學生可以判斷何時才運用重複執行,何時不需要。例如最前面一小段路,如果重複執行向前移動,主角會一直撞牆,可做為上課笑點,後面引導至長的直路時才使用迴圈的概念。
第六關加入了「偵測」的概念,並且需要「如果…,就執行…」的邏輯判斷,並且刻意設計成只有左轉的路徑。提醒老師,左方有路的偵測積木,裡面是有下拉選單可以偵測「前方有路」和「右方有路」的。還有左、右轉方塊也有下拉選單可用。
第七關的解法不只一種,但最基本的概念有兩種,一種是「摸著左邊的牆走」另一種是「摸著右邊的牆走」,也就是較短路徑的方式。可做為後續較難關卡的一個基礎教學,讓學生仔細觀察兩種走法的不同。
第八關由於沒有叉路,很適合學生自行練習偵測左方有沒有路,或是右方有沒有路。但往往容易遺忘偵測「前方」有沒有路,老師可適時提點一二。另外偵測的順序也很值得讓學生在這關學習測試。
第九關加入了「如果…,否則…」的程式積木,讓整個程式更加複雜困難。還有許多叉路、圓環在混洧視聽。此關,可以讓學生先畫好要走的路線,並加入程式碼後,讓學生練習從腦海模擬程式執行,之後再看程式是否如設想的一樣。是需要 Step by Step 測試的一關。過關後學生邏輯和抽象思考能力會大大提升。
第十關這可以說是 Blockly 中最難的一關。所謂最難,指的是如何在有限程式碼內,找出最短行走路徑的程式邏輯。如果學生沒辦法以最短路徑,可建議使用「摸右邊牆壁走」的方式來教學。
|
■教學網站
■參考網站