Download presentation
Presentation is loading. Please wait.
1
程式設計專題:Alice實作 建國高中 王鼎中 Good afternoon, ladies and gentlemen. My name is Ting-Chung Wang. I am a teacher at Taipei Municipal Jianguo Senior High School in Taiwan. It’s a great pleasure to be here to present the results of our study, “Teaching Programming Concepts to High School Students with Alice.“ Two of the coauthors are here with me today, Miss Wen-Hui Mei and Professor Janet Lin.
2
電腦與問題解決 課程綱要
3
課綱教學重點 (五)電腦與問題解決 本主題旨在培養學生透過演算法思維、運用電腦解決問題的能力。授課重點除了引導學生分析問題、設計解題步驟、及說明解題策略外,亦應以實例呈現完整的解題過程。演算法介紹宜舉與學生日常生活、學習等相關之實例,避免過於繁複或不具實用性的演算法,以激發學生學習電腦解題的興趣。
4
學習目標 了解Alice程式開發環境。 認識物件導向程式設計的基本觀念。 瞭解變數、運算式及內建函數等程式基本組成要件。
熟習循序、選擇及重複等三種程式設計的基本結構 透過作品展示與分享,展現同學們的創意。
5
課程資訊 課綱範圍 5.電腦與問題解決 5.4電腦解題實作 5.4.1電腦解題工具介紹 5.4.2解題實作 教學節數 8節(400分鐘)
6
第一單元、Alice簡介 什麼是程式設計(programming) 什麼是Alice 如何取得Alice
機器語言(Machine Language) 組合語言(Assembly Language) 高階語言(High Level Language) 什麼是Alice Alice是一種3D互動式的圖形化程式設計環境,由卡內基美隆大學(Carnegie Mellon University)所發展出來。 如何取得Alice
7
第一單元、Alice簡介 Alice操作介面介紹
8
第一單元、Alice簡介 Alice的3D虛擬世界 俯視運鏡 左右橫移運鏡 仰視運鏡 上升或下降運鏡 走近或走遠運鏡
左盼(pan)或右盼(pan)運鏡 俯視運鏡 走近或走遠運鏡 仰視運鏡 上升或下降運鏡 左右橫移運鏡
9
第二單元、物件導向程式設計簡介 什麼是物件導向程式設計
物件導向程式設計(object oriented programming)是一種程式開發的方法,主要是以物件作為程式的基本單元,將程式和資料封裝其中,以提高程式的重用性、靈活性和擴充功能性。
10
第二單元、物件導向程式設計簡介 Alice物件的屬性(property)
11
第二單元、物件導向程式設計簡介 Alice物件的方法(method)
12
第二單元、物件導向程式設計簡介 Alice的內建函數 物件型函數 通用型函數
13
第二單元、物件導向程式設計簡介 Alice的事件
14
第三單元、循序結構 程式的基本結構
15
第三單元、循序結構 初始場景: 在溜冰場中有一位溜冰者,以及一個紅色的三角錐 動作腳本: 溜冰者向後抬起左腳 溜冰者向前滑動2公尺 溜冰者以自己為圓心向右旋轉1又1/4圈 溜冰者擺出上身前傾的滑冰姿勢 溜冰者以紅色三角錐為圓心向左滑冰一圈 溜冰者擺出表演結束的姿勢ending pose 攝影機以溜冰者為圓心向右旋轉一圈
16
第三單元、循序結構
17
第三單元、循序結構 Alice特有的do together結構
18
第三單元、循序結構 程式的儲存與分享
19
第四單元、內建函數、變數及算術運算式 初始場景: 在溜冰場中有一位溜冰者,以及一個紅色的三角錐 動作腳本: 溜冰者轉向紅色三角錐
溜冰者向後抬起左腳 溜冰者向前滑動(溜冰者與三角錐的距離) 溜冰者向右轉1/4圈(90度) 溜冰者繞行三角錐一圈 溜冰者向右轉1/4圈(90度),朝向起始點
20
第四單元、內建函數、變數及算術運算式 內建函數
iceSkater move forward ( iceSkater distance to cone )
21
第四單元、內建函數、變數及算術運算式 算術運算式
iceSkater move forward ( ( ( iceSkater distance to cone ) - 1 ) )
22
第四單元、內建函數、變數及算術運算式 變數 move_dist set value to 2
23
第四單元、內建函數、變數及算術運算式 變數
24
第五單元、選擇結構 「如果」溜冰者站在冰湖面的破洞上 溜冰者掉下去 「否則」 溜冰者擺出表演結束的姿勢 Alice選擇結構語法
Alice選擇結構語法 IF 條件判斷式 條件式為真(True)時的程式敘述區塊 Else 條件式為假(False)時的程式敘述區塊
25
第五單元、選擇結構 初始場景: 在溜冰場中有一位溜冰者,以及一個黑色的冰湖面破洞
(註:冰湖面破洞在此是以一個圓形(ShapesCircle)來替代,請在Circle 物件的屬性(properies)中將color設定為黑色black) 動作腳本: 溜冰者轉向冰湖面破洞 溜冰者向前移動3 meters 「如果」(溜冰者與冰湖面破洞的距離)< 1 meter 溜冰者向下移動 10 meters 溜冰者發出掉到水中的聲音 「否則」 溜冰者擺出表演結束的姿勢(set pose to pose2)
26
第五單元、選擇結構 world.my first method ( ) No variables
iceSkater point at circle iceSkater move forward 3 meters If ( ( iceSkater distance to circle ) < 1 ) iceSkater move down 10 meters iceSkater play sound world.splash2 (?:??) Else iceSkater set pose iceSkater.pose2
27
第六單元、重複結構 初始場景: 有一位溜冰者在溜冰場的左側邊緣,面朝溜冰場內部。 動作腳本: 重複執行以下動作3次: 溜冰者向前滑動的程式區段
28
第六單元、重複結構
29
第六單元、重複結構 world.my first method ( ) No variables 3 times times
3 times times Do together Do in order iceSkater.rightLeg turn forward 0.08 revolutions duration = 1 second iceSkater.rightLeg turn backward 0.08 revolutions duration = 0.5 seconds iceSkater.leftLeg turn forward 0.08 revolutions duration = 1 second iceSkater.leftLeg turn backward 0.08 revolutions duration = 0.5 seconds iceSkater move forward 1.5 meters duration = 3 seconds
30
Q & A
Similar presentations