(蘇州工業園區星海實驗中學,江蘇蘇州215021)
APP Inventor是目前比較流行的,快速開發安卓APP的軟件,該軟件易操作,上手快,零基礎也可以開發APP,受到學生的廣泛喜愛。
目前,高中課堂APP Inventor教學現狀如下:由于學生上課沒有手機或者pad等電子設備,測試工具只能依賴AI伴侶或者模擬器;教學內容受限,像涉及到“傳感器”“重力感應器”“手機鍵盤”操作之類的案例沒法查看設計效果;缺少專門的教材,沒有系統性的學習資料。筆者以“打地鼠”游戲為例,探究高中課堂APP Inventor軟件教學實踐過程。

圖1 開發實踐過程示意圖
整個開發和實踐過程如圖1所示,首先以學生體驗“打地鼠”游戲開始,創設情境,激發學生的興趣,再由師生一起探討,提出問題,“打地鼠”游戲中,需要設計哪些功能;在教師的引導下,將問題抽象化、模型化;學生自主探究,慢慢嘗試使用App Inventor的控件,模擬問題場景。學生在嘗試的過程中,會遇到一些問題,通過交流討論,多次嘗試,完善思維方法,從而解決先前提出的問題。由于學生的能力層次不同,所以,“打地鼠”游戲設置了分層任務,玩法和設計難度都是從易到難。
“打地鼠”游戲一共分為三關,每一關的設計難度螺旋上升,比前一關更復雜,層層深入,如表1所示。

表1 每一關的說明
這三關的設計界面越來越豐富,從最初的空白界面,到第二關的地洞界面,到第三關地鼠出現在有背景的地洞界面,地鼠出現位置的不同,導致程序發生變化。
分層任務的設計,使得無論哪個層次的學生,均可以設計出自己的作品。每當學生完成一個任務,就會獲得成就感,不斷提升學習興趣。學生興趣濃厚作為內驅力,有利于今后對APP Inventor進行深層次學習,從而觸類旁通,舉一反三。學生通過參與整個游戲的設計和實現過程,提高了抽象思維、系統化思維、算法思維、創新思維等計算思維能力。
整個開發實踐過程以學生為主體,教師為主導。教師給學生創設情境,適時引導,分層任務設計,適當地運用激勵機制。
計算機系統采用的是32位win7操作系統,開發工具是APP Inventor離線版本的客戶端(漢化版)。經過筆者的多次親身體驗,離線版本的APP Inventor軟件比較穩定,可以供多數學生同時使用,確保課堂順利進行。
APP Inventor中界面設計比較簡單,充分體現了學生的藝術素養。界面設計的作用是美化APP界面,為后期的編程提供對象,沒有絕對的對與錯,只有好看與不好看。由于“打地鼠”游戲一共有三關,加上主界面(如圖2),一共有四個屏幕(多屏幕)需要設計。

圖2 “打地鼠”界面
為了測試的便利,四個屏幕均鎖定為豎屏。整個界面設計的組件如表2所示。在界面設計模塊,教師介入較少,學生只要根據自己的喜好,設計四個屏幕的界面,設置好相關屬性,如背景、顏色、大小等,可自由發揮。整個界面設計,可以培養高中生的藝術設計能力。

表2 界面設計的組件列表
在整個APP Inventor開發過程中,編程設計是核心部分。在該軟件的編程設計界面中兩個工具,一個是背包工具,它可以存放多次重復使用的代碼,一個是垃圾桶工具,可以刪除多余的,不必要的代碼。學生可以根據需要進行適當的選擇。
APP Inventor采用積木式堆疊法來完成編程,學生只需要從左側的“代碼塊”中拖動自己所需要的代碼,每一個獨立模塊代碼都是獨立的,前后順序不會影響程序結果。代碼塊主要分為內置塊(控制、邏輯、數學、文本、列表、顏色、變量、過程)和任意組件等模塊。編程的思路大致是選擇對象、觸發事件、方法。其中,三關中的通用模塊如表3所示。

表3 通用模塊代碼
核心模塊主要包括多屏幕模塊,地鼠移動模塊,碰撞檢測模塊,具體如下。
1.屏幕模塊
在主界面模塊,涉及到多屏幕之間的切換,所以用到“打開屏幕”模塊,確保能夠正確進入第幾關界面,如圖3。

圖3 多屏幕模塊
2.地鼠移動模塊
在接下來的三關中,地鼠不停地移動位置,為了減少代碼量,可以考慮將地鼠移動定義為一個過程,由于三關中的地鼠移動的位置不一樣,這就導致每一關的地鼠移動代碼不同(如表4)。

表4 地鼠移動模塊代碼
3.碰撞檢測模塊
在地鼠的隨機移動過程中,如何判斷是否打中地鼠?可以通過效果、聲音、反應來處理碰撞(如表5)。

表5 碰撞檢測代碼
在整個編程設計的過程中,教師的引導作用不容小覷,在對問題進行抽象時,教師適當的點撥,啟發學生,能讓學生少走彎路;在解決問題的方法上,教師要及時地幫助學生,指引學生合作學習、探究學習,并適當的鼓勵。整個編程設計過程,訓練和提升了學生的計算思維能力,從提出問題的抽象思維,到設計算法的算法化思維,再到解決問題的最優化思維,以及設計整個游戲的系統化思想都是如此。
界面設計和邏輯編程完成之后,就進入了最后的測試階段。APP Inventor的測試方法有三種:AI伴侶、模擬器和USB端口。由于高中學生上課沒有手機或pad,我們的測試工具選擇的是AI模擬器和AI伴侶(如圖4)。經實踐,發現AI伴侶相比于AI模擬器測試速度快,更穩定。本游戲的測試方法為AI伴侶測試,AI伴侶的測試方法比較簡單,打開AI伴侶,掃描二維碼或者在彈出的對話框中輸入六位字符編碼,連接成功后即可測試。學生對自己設計的APP反復測試,發現存在的問題,不斷地去修改完善作品,減少bug,讓APP作品越來越接近成熟穩定。

圖4 AI伴侶測試界面
評價包括過程性評價和成果評價兩部分,其中,過程性評價主要包括在APP的開發過程中,學生發現問題、解決問題的能力。成果評價比較簡單,只需要按照表6的評價標準,確保評價的客觀公平公正即可。過程性評價和成果評價結合的綜合評價,強化了以學生為本的評價理念。

表6 “打地鼠”游戲APP的評價標準
APP Inventor開發的“打地鼠”游戲APP,學生完成作品之后,可以通過各種評價機制評價。可以通過學生作品展示介紹,互評,自評,增強學生的自信。教師根據評價的結果,結合自己的教學目標,引導學生全面、獨到地發表自己的觀點。此外,教師還要鼓勵學生利用自己已有的知識,結合生活經驗,其他學科知識,開發出更貼合實際的應用。在整個開發和實踐的過程中,教師應該作為一個組織者、引導者,積極地對教學開展指導,學生處于主體地位,學生的計算思維能力、邏輯思考能力將會得到很大的鍛煉。
此次游戲APP開發,學生的參與度和積極性空前高漲。通過這次“打地鼠”游戲的設計和開發,學生對整個游戲APP的開發過程有了一個系統性的認識。學生根據自己的游戲經驗,開發一些新的功能,部分學生通過增加地鼠個數,地洞個數,來豐富游戲功能,加大游戲難度,激起用戶的好勝心。對于初學者而言,此次實踐能夠增強學生對編程的信心,減少對編程的畏難情緒,提高對編程的興趣,培養了學生的計算思維能力。