多元評量與 Greenfoot 簡介 南港高中高慧君
演講大綱 多元評量 高中階段程式設計教學目標與困境 Greenfoot 快速入門 – 袋熊吃樹葉 – 沙灘螃蟹 Greenfoot 臺灣社群介紹 2
多元評量 過程多元 ( 一 ) 安置性評量 ( 二 ) 形成性評量 ( 三 ) 診斷性評量 ( 四 ) 總結性評量 時機多元 ( 一 ) 定期評量 ( 二 ) 平時評量 3 人員多元 ( 一 ) 教師評量 ( 二 ) 同儕評量 ( 三 ) 組長評量 ( 四 ) 自己評量 ( 五 ) 家長評量
多元評量 4 方式多元 ( 一 ) 紙筆測驗 ( 筆試 ) ( 二 ) 檔案評量 ( 資料蒐集整理、書面報告 ) ( 三 ) 實作評量 ( 表演、實作、作業、鑑賞、實踐、 軼事記錄 ) ( 四 ) 口語評量 ( 口試、口頭報告、晤談 ) ( 五 ) 軼事記錄
高中程式設計教學目標 高中學生為什麼要學程式設計 ? – 以課綱的精神是培養電腦解題的能力。 – 訓練垂直式思考,能把問題想得深入。 – 養成循序漸近的思維習慣。 5
高中程式設計教學困境 學生對於教材內容不感興趣 – 傳統教材以計算導向,多為數學問題。 – 學生無法體會到電腦解題之美。 學生對於教材內容學習感到吃力 – 傳統教材以語言結構為順序,著重知識中心。 – 傳統教材偏向工具書編法,著重知識分類。 6
什麼是 Greenfoot 英國肯特大學 2007 年發表。 2009 年成為自由軟體。 它是程式設計教學軟體,可以用來學習 Java 語法與物件導向程式設計概念。 你可以使用 Greenfoot 來開發互動遊戲。 特別適合 14 歲以上的青少年使用。 7
為什麼要選用 Greenfoot 傳統的 Java 課程是先從語法入門,再學物件 導向的概念,這個學習過程是漫長的。 即使熬過了漫長的學習過程,學生還是不 知道如何運用學到的知識來解題,理論與 實務間有很大的差距。 Greenfoot 的出現,打破了這個學習的模式 。藉由遊戲案例,學生逐漸地學會程式設 計的知識,並體驗專家解題的技巧。 8
如果物件導向是這樣教的... 程式是由許多的類別所組成。 我們可以從類別產生物件。 許多的物件可以是從同一類別所產生的。 相同類別的物件具有相同的屬性和方法。 每個物件會記住自己的屬性。 我們透過呼叫物件的方法來跟物件溝通。 方法的使用有參數和傳回值。 9
現在你可以這麼教... 使用 Greenfoot 的 Scenario :袋熊吃樹葉 10
重點是... 你還沒開始寫程式碼,就已經在學物件導 向的重要觀念了。 以往這些觀念是老師必須花許多力氣解釋 ,學生才能了解的。 現在 Greenfoot 讓它變成是自然而然的事。 由具體的經驗來講述抽象的觀念。 11
案例二:沙灘螃蟹 不要由空白開始教學生寫程式碼。 觀念 – 選擇結構 – 重複結構 – 變數 – 繼承 先有目標 ( 讓螃蟹動起來 ) 再講觀念 12
傳統教學:輸出 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello! World!"); } 13
沙灘螃蟹:輸出 視覺化的圖片輸出 – 生動有趣 – 具有故事性 聽覺化的聲音輸出 – 聲光效果佳 14
傳統教學:選擇結構 import java.util.Scanner; public class ConditionIf { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print(" 輸入分數: "); int score = scanner.nextInt(); if(score >= 60) { System.out.println(" 及格 "); } else { System.out.println(" 不及格 "); } 15
沙灘螃蟹 : 選擇結構 為了讓螃蟹碰到邊緣能轉彎 為了使用鍵盤控制螃蟹轉彎 16 if (Greenfoot.isKeyDown("left")) { turn(-3); } if (atWorldEdge()) { turn(10); }
沙灘螃蟹 : 選擇結構 為了讓螃蟹能夠吃掉蟲蟲 17 if (canSee(Worm.class)) { eat(Worm.class); Greenfoot.playSound("slurp.wav"); }
比較 使用成績及格的例子 – 學生會覺得簡單的事怎麼會弄得那麼麻煩呀。 – 此例會引起學生的負面經驗 使用沙灘螃蟹的例子 – 學生能夠在不同的情況下練習單向選擇結構 如果我不會 if ,我的螃蟹就不會轉彎 如果我不會 if ,我就不能用鍵盤控制螃蟹 如果我不會 if ,我的螃蟹就不能吃蟲 18
傳統教學:重複結構 19 class ForDemo { public static void main(String[] args) { int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } System.out.println(" = " + sum); }
沙灘螃蟹 : 重複結構 為了產生很多隻蟲蟲給螃蟹吃 20 for (int i=1; i<=20; i++) { int x = Greenfoot.getRandomNumber(560); int y = Greenfoot.getRandomNumber(560); addObject(new Worm(), x, y); }
比較 使用累加的例子 – 學生會覺得用梯形公式算就好了。 – 這個例子並沒有什麼了不起。 使用沙灘螃蟹的例子 – 學生能理解重複做事的需求。 – 如果要產生 100 隻蟲,程式的修改也很方便。 21
傳統教學:繼承 22 class person { attribute-name,address } class Emp extends person { attribute-(same as parentclass)name,address own attribute-salary(modification) }
沙灘螃蟹 : 繼承 螃蟹和龍蝦的行為是類似的 – 是否碰到世界邊緣: atWorldEdge() – 找東西吃: canSee(),eat() 把這些共同的行為寫在父類別,在子類別 中就可以繼承使用。 學生學習到如何運用別人寫好的程式碼。 – 文件查閱 23
與傳統教學的差異 傳統教學: – 以語言的結構為順序 ( 學生記不住 ) 。 – 使用例子多為計算導向 ( 較抽象,學生覺得無趣 ) 。 Greenfoot 教學: – 以案例為架構,逐步引入適當的觀念。 – 學生會記得遊戲案例,然後記得完成這個案例所 需要的動作,有故事性才會讓人記憶深刻。 – 學生會做動作 (know how) ,但不一定要記住動作 的名稱 (know what) 。 24
Greenfoot 特色 (1) 容易上手 Greenfoot 的操作環境很簡單,就是在一個 微世界中安排幾個演員,然後想辦法用程 式碼讓這些演員動起來。初學者能夠很快 地熟悉它的操作介面。 25
Greenfoot 特色 (2) 變化萬千 你可以使用 Greenfoot 來開發各式各樣具有 聲光效果的遊戲,也能夠用它來開發各種 模擬程式。只要是 2D 的動畫表現都可以使 用 Greenfoot 來開發。 26
Greenfoot 特色 (3) 功能強大 Greenfoot 使用標準的 Java 語言,也支援其 所有的套件庫。 27
Greenfoot 特色 (4) 發展性高 學習 Greenfoot ,就是在學習 Java 物件導向 程式語言,對於未來有志往資訊產業發展 的人,不管是升學或就業都很有幫助。 28
Greenfoot 臺灣社群成立 2012 年 2 月註冊 GreenfootTaiwan 討論群組 初期邀請對象: 教育部資訊學科中心種子教師 臺北市自由軟體桌面應用推動及發展小組成員 教育部校園自由軟體數位資源推廣服務中心 目前成員: 76 人 29
社群實體聚會 2012 年 3 月起辦理 9 場 Greenfoot 教師工作坊 聚會時間:週五 9:00~12:00 聚會地點:南港高中資訊教室 ( 四 ) 30
社群網站 2012 年 8 月成立 (OSSACC 贊助網站空間 ) 社群動態、中文化檔案、相關連結、文獻 31
歡迎加入 Greenfoot 臺灣社群 Greenfoot 臺灣社群網站 Greenfoot 臺灣社群討論群組 wan Greenfoot 教師工作坊 時間:週五上午 9:00~12:00( 約 2~3 週一次 ) 地點:南港高中資訊教室 ( 四 ) 32