(蘇州工業(yè)園區(qū)星海實(shí)驗(yàn)中學(xué),江蘇蘇州215021)
APP Inventor是目前比較流行的,快速開發(fā)安卓APP的軟件,該軟件易操作,上手快,零基礎(chǔ)也可以開發(fā)APP,受到學(xué)生的廣泛喜愛。
目前,高中課堂APP Inventor教學(xué)現(xiàn)狀如下:由于學(xué)生上課沒有手機(jī)或者pad等電子設(shè)備,測試工具只能依賴AI伴侶或者模擬器;教學(xué)內(nèi)容受限,像涉及到“傳感器”“重力感應(yīng)器”“手機(jī)鍵盤”操作之類的案例沒法查看設(shè)計(jì)效果;缺少專門的教材,沒有系統(tǒng)性的學(xué)習(xí)資料。筆者以“打地鼠”游戲?yàn)槔?,探究高中課堂APP Inventor軟件教學(xué)實(shí)踐過程。
圖1 開發(fā)實(shí)踐過程示意圖
整個(gè)開發(fā)和實(shí)踐過程如圖1所示,首先以學(xué)生體驗(yàn)“打地鼠”游戲開始,創(chuàng)設(shè)情境,激發(fā)學(xué)生的興趣,再由師生一起探討,提出問題,“打地鼠”游戲中,需要設(shè)計(jì)哪些功能;在教師的引導(dǎo)下,將問題抽象化、模型化;學(xué)生自主探究,慢慢嘗試使用App Inventor的控件,模擬問題場景。學(xué)生在嘗試的過程中,會(huì)遇到一些問題,通過交流討論,多次嘗試,完善思維方法,從而解決先前提出的問題。由于學(xué)生的能力層次不同,所以,“打地鼠”游戲設(shè)置了分層任務(wù),玩法和設(shè)計(jì)難度都是從易到難。
“打地鼠”游戲一共分為三關(guān),每一關(guān)的設(shè)計(jì)難度螺旋上升,比前一關(guān)更復(fù)雜,層層深入,如表1所示。
表1 每一關(guān)的說明
這三關(guān)的設(shè)計(jì)界面越來越豐富,從最初的空白界面,到第二關(guān)的地洞界面,到第三關(guān)地鼠出現(xiàn)在有背景的地洞界面,地鼠出現(xiàn)位置的不同,導(dǎo)致程序發(fā)生變化。
分層任務(wù)的設(shè)計(jì),使得無論哪個(gè)層次的學(xué)生,均可以設(shè)計(jì)出自己的作品。每當(dāng)學(xué)生完成一個(gè)任務(wù),就會(huì)獲得成就感,不斷提升學(xué)習(xí)興趣。學(xué)生興趣濃厚作為內(nèi)驅(qū)力,有利于今后對(duì)APP Inventor進(jìn)行深層次學(xué)習(xí),從而觸類旁通,舉一反三。學(xué)生通過參與整個(gè)游戲的設(shè)計(jì)和實(shí)現(xiàn)過程,提高了抽象思維、系統(tǒng)化思維、算法思維、創(chuàng)新思維等計(jì)算思維能力。
整個(gè)開發(fā)實(shí)踐過程以學(xué)生為主體,教師為主導(dǎo)。教師給學(xué)生創(chuàng)設(shè)情境,適時(shí)引導(dǎo),分層任務(wù)設(shè)計(jì),適當(dāng)?shù)剡\(yùn)用激勵(lì)機(jī)制。
計(jì)算機(jī)系統(tǒng)采用的是32位win7操作系統(tǒng),開發(fā)工具是APP Inventor離線版本的客戶端(漢化版)。經(jīng)過筆者的多次親身體驗(yàn),離線版本的APP Inventor軟件比較穩(wěn)定,可以供多數(shù)學(xué)生同時(shí)使用,確保課堂順利進(jìn)行。
APP Inventor中界面設(shè)計(jì)比較簡單,充分體現(xiàn)了學(xué)生的藝術(shù)素養(yǎng)。界面設(shè)計(jì)的作用是美化APP界面,為后期的編程提供對(duì)象,沒有絕對(duì)的對(duì)與錯(cuò),只有好看與不好看。由于“打地鼠”游戲一共有三關(guān),加上主界面(如圖2),一共有四個(gè)屏幕(多屏幕)需要設(shè)計(jì)。
圖2 “打地鼠”界面
為了測試的便利,四個(gè)屏幕均鎖定為豎屏。整個(gè)界面設(shè)計(jì)的組件如表2所示。在界面設(shè)計(jì)模塊,教師介入較少,學(xué)生只要根據(jù)自己的喜好,設(shè)計(jì)四個(gè)屏幕的界面,設(shè)置好相關(guān)屬性,如背景、顏色、大小等,可自由發(fā)揮。整個(gè)界面設(shè)計(jì),可以培養(yǎng)高中生的藝術(shù)設(shè)計(jì)能力。
表2 界面設(shè)計(jì)的組件列表
在整個(gè)APP Inventor開發(fā)過程中,編程設(shè)計(jì)是核心部分。在該軟件的編程設(shè)計(jì)界面中兩個(gè)工具,一個(gè)是背包工具,它可以存放多次重復(fù)使用的代碼,一個(gè)是垃圾桶工具,可以刪除多余的,不必要的代碼。學(xué)生可以根據(jù)需要進(jìn)行適當(dāng)?shù)倪x擇。
APP Inventor采用積木式堆疊法來完成編程,學(xué)生只需要從左側(cè)的“代碼塊”中拖動(dòng)自己所需要的代碼,每一個(gè)獨(dú)立模塊代碼都是獨(dú)立的,前后順序不會(huì)影響程序結(jié)果。代碼塊主要分為內(nèi)置塊(控制、邏輯、數(shù)學(xué)、文本、列表、顏色、變量、過程)和任意組件等模塊。編程的思路大致是選擇對(duì)象、觸發(fā)事件、方法。其中,三關(guān)中的通用模塊如表3所示。
表3 通用模塊代碼
核心模塊主要包括多屏幕模塊,地鼠移動(dòng)模塊,碰撞檢測模塊,具體如下。
1.屏幕模塊
在主界面模塊,涉及到多屏幕之間的切換,所以用到“打開屏幕”模塊,確保能夠正確進(jìn)入第幾關(guān)界面,如圖3。
圖3 多屏幕模塊
2.地鼠移動(dòng)模塊
在接下來的三關(guān)中,地鼠不停地移動(dòng)位置,為了減少代碼量,可以考慮將地鼠移動(dòng)定義為一個(gè)過程,由于三關(guān)中的地鼠移動(dòng)的位置不一樣,這就導(dǎo)致每一關(guān)的地鼠移動(dòng)代碼不同(如表4)。
表4 地鼠移動(dòng)模塊代碼
3.碰撞檢測模塊
在地鼠的隨機(jī)移動(dòng)過程中,如何判斷是否打中地鼠?可以通過效果、聲音、反應(yīng)來處理碰撞(如表5)。
表5 碰撞檢測代碼
在整個(gè)編程設(shè)計(jì)的過程中,教師的引導(dǎo)作用不容小覷,在對(duì)問題進(jìn)行抽象時(shí),教師適當(dāng)?shù)狞c(diǎn)撥,啟發(fā)學(xué)生,能讓學(xué)生少走彎路;在解決問題的方法上,教師要及時(shí)地幫助學(xué)生,指引學(xué)生合作學(xué)習(xí)、探究學(xué)習(xí),并適當(dāng)?shù)墓膭?lì)。整個(gè)編程設(shè)計(jì)過程,訓(xùn)練和提升了學(xué)生的計(jì)算思維能力,從提出問題的抽象思維,到設(shè)計(jì)算法的算法化思維,再到解決問題的最優(yōu)化思維,以及設(shè)計(jì)整個(gè)游戲的系統(tǒng)化思想都是如此。
界面設(shè)計(jì)和邏輯編程完成之后,就進(jìn)入了最后的測試階段。APP Inventor的測試方法有三種:AI伴侶、模擬器和USB端口。由于高中學(xué)生上課沒有手機(jī)或pad,我們的測試工具選擇的是AI模擬器和AI伴侶(如圖4)。經(jīng)實(shí)踐,發(fā)現(xiàn)AI伴侶相比于AI模擬器測試速度快,更穩(wěn)定。本游戲的測試方法為AI伴侶測試,AI伴侶的測試方法比較簡單,打開AI伴侶,掃描二維碼或者在彈出的對(duì)話框中輸入六位字符編碼,連接成功后即可測試。學(xué)生對(duì)自己設(shè)計(jì)的APP反復(fù)測試,發(fā)現(xiàn)存在的問題,不斷地去修改完善作品,減少bug,讓APP作品越來越接近成熟穩(wěn)定。
圖4 AI伴侶測試界面
評(píng)價(jià)包括過程性評(píng)價(jià)和成果評(píng)價(jià)兩部分,其中,過程性評(píng)價(jià)主要包括在APP的開發(fā)過程中,學(xué)生發(fā)現(xiàn)問題、解決問題的能力。成果評(píng)價(jià)比較簡單,只需要按照表6的評(píng)價(jià)標(biāo)準(zhǔn),確保評(píng)價(jià)的客觀公平公正即可。過程性評(píng)價(jià)和成果評(píng)價(jià)結(jié)合的綜合評(píng)價(jià),強(qiáng)化了以學(xué)生為本的評(píng)價(jià)理念。
表6 “打地鼠”游戲APP的評(píng)價(jià)標(biāo)準(zhǔn)
APP Inventor開發(fā)的“打地鼠”游戲APP,學(xué)生完成作品之后,可以通過各種評(píng)價(jià)機(jī)制評(píng)價(jià)??梢酝ㄟ^學(xué)生作品展示介紹,互評(píng),自評(píng),增強(qiáng)學(xué)生的自信。教師根據(jù)評(píng)價(jià)的結(jié)果,結(jié)合自己的教學(xué)目標(biāo),引導(dǎo)學(xué)生全面、獨(dú)到地發(fā)表自己的觀點(diǎn)。此外,教師還要鼓勵(lì)學(xué)生利用自己已有的知識(shí),結(jié)合生活經(jīng)驗(yàn),其他學(xué)科知識(shí),開發(fā)出更貼合實(shí)際的應(yīng)用。在整個(gè)開發(fā)和實(shí)踐的過程中,教師應(yīng)該作為一個(gè)組織者、引導(dǎo)者,積極地對(duì)教學(xué)開展指導(dǎo),學(xué)生處于主體地位,學(xué)生的計(jì)算思維能力、邏輯思考能力將會(huì)得到很大的鍛煉。
此次游戲APP開發(fā),學(xué)生的參與度和積極性空前高漲。通過這次“打地鼠”游戲的設(shè)計(jì)和開發(fā),學(xué)生對(duì)整個(gè)游戲APP的開發(fā)過程有了一個(gè)系統(tǒng)性的認(rèn)識(shí)。學(xué)生根據(jù)自己的游戲經(jīng)驗(yàn),開發(fā)一些新的功能,部分學(xué)生通過增加地鼠個(gè)數(shù),地洞個(gè)數(shù),來豐富游戲功能,加大游戲難度,激起用戶的好勝心。對(duì)于初學(xué)者而言,此次實(shí)踐能夠增強(qiáng)學(xué)生對(duì)編程的信心,減少對(duì)編程的畏難情緒,提高對(duì)編程的興趣,培養(yǎng)了學(xué)生的計(jì)算思維能力。