程式語言基本概念.功能及用途
文章推薦指數: 80 %
參考網站. Program the world兒童與少年程式設計教學計劃 ... 進入https://blockly-demo.appspot.com/static/demos/code/index.html?lang=zh-hans 介面改為正體中文.
程式語言基本概念.功能及用途
1.為何要學習程式?
「動機」和「堅持」才是學習最重要的兩把鑰匙
學程式的目的不是讓你可以寫程式賣錢,而是學習程式設計的思維。
從中學會運算思維,把事情程序化,把資料結構化、模型化
24小時學寫程式
活動設計1-為何要學程式?
2.什麼是程式?有何功能?用在哪裡?
活動設計2-寫程式是甚麼?
軟體(Software)就是程式(Program),它是由一連串的指令(Instructions)所組成。
人與人透過語言溝通,如果我們需要電腦來幫我們做事,就必須想辦法與電腦溝通。
程式語言就是人與電腦溝通的工具。
為了讓電腦能夠完成工作,電腦專家就為程式語言制定一套特定的格式與語法規則,指揮電腦完成工作。
不同類型的程式語言,語法格式就不同,就如同中文英文法文,語法是不一樣的。
簡單的說程式就是許多叫電腦做事的指令程序。
程式設計就是用程式語言把求解特定問題的演算法描述出來的指令
活動設計2.1-寫程式是甚麼?對電腦下指令練習
按鍵精靈下載
2048遊戲開放原始碼下載
https://github.com/gabrielecirulli/2048
3.程式語言種類
大致區分
(1)視覺化程式語言
a.Scratch.Kodu.
Blockly.ProjectSpark........
視覺化程式語言介紹
程式教育工具
進學國小電子書
b.谷歌與麻省理工合作開發下一代Scratch
ScratchBlocks
活動設計3-視覺化程式語言網站體驗1
1小時程式活動
code.org
參考網站
Programtheworld兒童與少年程式設計教學計劃
程式教與學(李忠憲老師)
程式設計學習平臺的筆記
code.org線上教學
創世神遊戲關卡
http://jimmyscratchlab.blogspot.tw/2012/07/jforthblocks-processingjs-tutorial.html
http://stream.kh.edu.tw/site/channels/143?locale=zh_tw
e-game
Google程式設計-聖誕老人追蹤器
Mosky-群在故我在,你的簡單信念是什麼?
踏進資訊Maker的第一步
http://pydoing.blogspot.tw/
http://pala.tw/begin-to-learn-python/
(2)Blockly(Google開發)
■特色及內容
Blockly目前主要分為7個小遊戲包含飛機座位計算(PlaneSeatCalculator)、迷宮(Maze)、圖形計算器(GraphingCalculator)、拼圖(Puzzle)、驗證碼(Code)、海龜圖形(TurtleGraphics)、模塊工廠(BlockFactory)。
每一個遊戲又分成許多的關卡,雖著關卡越高難易度也跟著提升,遊戲還有許多國家語言可以選擇,因此,幾乎全世界的孩童都能輕鬆學習。
Blockly含有表達各種程式設計概念的遊戲,例如最基本的Puzzle主要是介紹圖塊的拼接與設定方式,Maze則是以迷宮遊戲來表達簡單的迴圈與條件概念,Bird則是進階的條件與控制教學,Turtle為進階的迴圈概念遊戲,以Movie來介紹數學方程式,Pond則是一個可程式化鴨子的競賽遊戲,PondJS將圖塊轉成文字介面,讓鴨子的行動更快而且能力更強。
活動設計4-視覺化程式語言網站體驗2
BlocklyGames(IE無法執行)
迷宮關卡說明
第一關主要是讓學生熟悉環境,如果已經有學過Scratch的學生應該會很快就上手。
把程式積木依說明指示拉進程式區後,可按執行程式。
如果還沒過關,可以按「重設」讓主角回到出發點,修改程式後再執行一次。
如要移除程式積木,可以把積木拉進指令區或是垃圾筒。
第二關開始加入了「向左轉」、「向右轉」的概念,可以訓練學生的方向感,要完成任務的程式碼也比較多。
對一些低年級的學生來說,會需要多想一下。
老師可以在旁協助,教導學生對程式做一些簡單的執行測試。
讓學生自己學會trialanderror.
第三關開始,加入了一個「重複執行」(迴圈)的程式積木,老師可以示範原地旋轉。
由於程式會限制可以使用的積木數量,所以一定會讓學生使用「重複執行」的積木,只需提醒把向前移動拉進重複的區域中即可。
第四關開始才是真正練習使用「重覆執行」,一共可以使用5塊程式積木。
老師也許可以先引導不用使「重複執行」積木,只用向前、向左、向右寫程式,來讓學生觀察程式重複性,或用紙筆寫下程式執行步驟。
後續再把結論用「重複執行」包起來。
第五關是讓學生可以判斷何時才運用重複執行,何時不需要。
例如最前面一小段路,如果重複執行向前移動,主角會一直撞牆,可做為上課笑點,後面引導至長的直路時才使用迴圈的概念。
第六關加入了「偵測」的概念,並且需要「如果…,就執行…」的邏輯判斷,並且刻意設計成只有左轉的路徑。
提醒老師,左方有路的偵測積木,裡面是有下拉選單可以偵測「前方有路」和「右方有路」的。
還有左、右轉方塊也有下拉選單可用。
第七關的解法不只一種,但最基本的概念有兩種,一種是「摸著左邊的牆走」另一種是「摸著右邊的牆走」,也就是較短路徑的方式。
可做為後續較難關卡的一個基礎教學,讓學生仔細觀察兩種走法的不同。
第八關由於沒有叉路,很適合學生自行練習偵測左方有沒有路,或是右方有沒有路。
但往往容易遺忘偵測「前方」有沒有路,老師可適時提點一二。
另外偵測的順序也很值得讓學生在這關學習測試。
第九關加入了「如果…,否則…」的程式積木,讓整個程式更加複雜困難。
還有許多叉路、圓環在混洧視聽。
此關,可以讓學生先畫好要走的路線,並加入程式碼後,讓學生練習從腦海模擬程式執行,之後再看程式是否如設想的一樣。
是需要StepbyStep測試的一關。
過關後學生邏輯和抽象思考能力會大大提升。
第十關這可以說是Blockly中最難的一關。
所謂最難,指的是如何在有限程式碼內,找出最短行走路徑的程式邏輯。
如果學生沒辦法以最短路徑,可建議使用「摸右邊牆壁走」的方式來教學。
■教學網站
https://sites.google.com/site/ssblockly/ren-shiblockly/code-xie-cheng-shi-jiao-xue
https://sites.google.com/site/warkeyli/blockly
https://sites.google.com/site/ssblockly/home
http://icodeschool.org/icode-blockly-for-ta.php?l=blockly_puzzle
http://icodeschool.org/icode-blockly-for-ta.php?l=blockly_maze
https://yunlinsong.blogspot.tw/2016/10/blockly.html
■參考網站
https://sites.google.com/site/ssblockly/home
http://icodeschool.org/
http://ly98computer.pixnet.net/blog/post/47759980
http://programmermagazine.github.io/y201410/htm/article2.html
少年科技人雜誌
程式人雜誌
(2)文字型程式語言
a.程式語言擬人化
https://kheresy.wordpress.com/2014/03/21/moe-program-language-part1/
b.程式語言種類與金庸小說中的絕世武功
C比之九陰真經,學會並掌握指標,天下無敵。
C++比之龍象般若功,有十三層,但修煉不易,無人超過第十層。
C#比之彈指神通,高手運用手指的巧勁就能施展。
Java比之獨孤九劍,敗中變化出的招式,不限平台的JVM。
JavaScript比之胡家刀法,六字訣變幻莫測,瀏覽器上都能運作。
Objective-C比之六脈神劍,獨家不傳絕技。
Perl比之龍爪手,少林正宗武學,幾乎Linux高手必備。
PHP比之黯然銷魂掌,需要深厚內力才能使出。
Python比之降龍十八掌,簡單卻威力強大。
Ruby比之乾坤大挪移,這要用過了才會知道。
Swift比之一陽指,六脈神劍的精髓,本來同樣是獨家不傳絕技,不過現在opensource了。
c.程式語言與魔戒小說中的人物
點這裡看原尺寸圖檔1666x1841
c.該選擇何種程式語言
想清楚做什麼再決定學什麼
http://blog.ntsec.edu.tw/index.php?tid=531&id=254
d.程式語言學習資源網站
激發孩子寫程式興趣的十個工具
程式語言自修指南
活動設計5-非視覺化程式語言體驗(使用Blockly)
步驟
1.下載3個範例檔(xml)
2..解壓縮code.zip
3.開啟01_circle_area.txt.全選(編輯/全選.CTRL+A).複製(右鍵/複製.CTRL+C)
4.進入https://blockly-demo.appspot.com/static/demos/code/index.html?lang=zh-hans介面改為正體中文.點XML語言
5.將預設內容清空-全選(CTRL+A)刪除(DELETE)6.將01_circle_area.txt的內容貼上
7.點積木程式及其他程式語言例如Python
8.請觀察一下.積木或程式碼.說說你覺得這個程式的目的(功能)為何?
9.點選執行看看程式結果是否與你想的一樣呢?可否將輸入訊息改為中文呢?
10.或點刪除第一題的程式碼.繼續完成02_one_two_three.txt及03_prime_number.txt的練習.說一說這兩個程式的目的為何?可否修改程式的互動介面為中文呢?
11.其他更多的練習https://sites.google.com/site/ssblockly/ren-shiblockly/code-xie-cheng-shi-jiao-xue
參考網站
https://sites.google.com/site/warkeyli/blockly
其他相關網站
http://jimmyscratchlab.blogspot.tw/p/jforthblocks.html
延伸文章資訊
- 1Google Blockly - 點點滴滴
然而搜尋了網路上關於「Google Blockly」相關的資料少之又少所以才促成了我寫這系列相關文章的契機由於「如何使用“拉方塊”來建立函數功能」等等的教學
- 2視覺化程式設計
Blockly. • Code.org. • App Inventor. • 視覺化程式設計教學模式:. • 從Blockly Games 到Blockly Code ... Demo. 修改下...
- 3教學單元二:模組化程式設計的概念
使用Blockly進行模組化程式實作初體驗. 請同學前往Blockly Demo網站. 4.1添加函數積木-給予函數名稱. 點選「Functions」後,選取. 在「do something」中...
- 4程式語言基本概念.功能及用途
參考網站. Program the world兒童與少年程式設計教學計劃 ... 進入https://blockly-demo.appspot.com/static/demos/code/ind...
- 5程式設計CODE教學
題目三:求身體質量指數(BMI值). http://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#26t3cq. BM...