国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于計(jì)算思維的《手機(jī)游戲編程之打地鼠》教學(xué)設(shè)計(jì)

2015-03-24 13:36張潔鐘柏昌
關(guān)鍵詞:計(jì)算思維

張潔 鐘柏昌

【摘 要】中小學(xué)算法與程序設(shè)計(jì)教學(xué)一直被詬病為大學(xué)程序設(shè)計(jì)教育的下放,且在超越技能訓(xùn)練方面一直停滯不前,需要努力探索新的道路。從教學(xué)理念來看,以計(jì)算思維為指導(dǎo)開展算法與程序課堂教學(xué),不僅有利于克服傳統(tǒng)教學(xué)“只見代碼不見人”的弊端,且有利于將計(jì)算思維塑造成一種基本的科學(xué)素養(yǎng);從教學(xué)工具來看,以Scratch、App Inventor等為代表的可視化、積木式編程工具解放了學(xué)生的雙手,有利于學(xué)生創(chuàng)新能力的培養(yǎng),應(yīng)成為中小學(xué)算法與程序設(shè)計(jì)教育的主流工具?;诖耍菊n題以打地鼠游戲設(shè)計(jì)為例,采用App Inventor工具,以計(jì)算思維為指引設(shè)計(jì)具體教學(xué)目標(biāo)和教學(xué)任務(wù),努力培養(yǎng)學(xué)生的計(jì)算思維和創(chuàng)新能力。

【關(guān)鍵詞】App Inventor;計(jì)算思維;打地鼠游戲

【中圖分類號】G434 ?【文獻(xiàn)標(biāo)識碼】B

【論文編號】1671-7384(2015)03-0058-04

當(dāng)今時代,以平板、手機(jī)為代表的智能移動終端得到極大推廣,移動應(yīng)用開發(fā)成為程序設(shè)計(jì)領(lǐng)域的新寵。這一時代變化也應(yīng)當(dāng)在基礎(chǔ)教育有所映射,以消解程序設(shè)計(jì)教育領(lǐng)域的“PC霸權(quán)”。面向移動終端的編程語言有很多,但專業(yè)的開發(fā)工具需要涉及較多的語法學(xué)習(xí),往往令初學(xué)者望而生畏。App Inventor具有零基礎(chǔ)、無門檻、可視化、模塊化等特點(diǎn),符合新手的自然經(jīng)驗(yàn)邏輯,只需“創(chuàng)意+代碼拼接”,就可以開發(fā)自己的移動應(yīng)用。將其作為一種事件驅(qū)動式編程語言,也有利于學(xué)生計(jì)算思維的培養(yǎng)。[1]因此,App Inventor一經(jīng)對外開放使用,就受到了國內(nèi)外教師和學(xué)生的青睞。

當(dāng)然,選擇一種合適的教學(xué)語言只是第一步,我們還應(yīng)該特別關(guān)注“教什么”和“如何教”的問題。當(dāng)前,中小學(xué)的算法與程序教學(xué)過分強(qiáng)調(diào)變量、函數(shù)、語句結(jié)構(gòu)等編程語言和程序結(jié)構(gòu)的技能,忽視了其內(nèi)在的“算法思想”,長期以來陷入“狹隘工具論”誤區(qū)而難以自拔。幸運(yùn)的是,計(jì)算思維的提出為走出這一誤區(qū)提供了新的方向。其提出肇始于2006年卡內(nèi)基·梅隆大學(xué)計(jì)算機(jī)科學(xué)系主任周以真(Jeannette M. Wing)的界定:計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計(jì)以及人類行為理解的涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動。[2]如今,計(jì)算思維受到廣泛重視,不少學(xué)者對該概念進(jìn)行了深入解讀。其中,Karen Brennan和Mitchel Resnick的研究工作具有較強(qiáng)的實(shí)踐指導(dǎo)性。他們從Scratch交互式媒體設(shè)計(jì)活動的特征出發(fā),建立了計(jì)算思維的三維框架。第一個維度是計(jì)算概念,包括順序、循環(huán)、事件、并行、條件、運(yùn)算符、數(shù)據(jù);第二個維度是計(jì)算實(shí)踐,包括遞增與迭代、測試與調(diào)試、抽象與模塊化;第三個維度是計(jì)算觀念,包括表達(dá)(通過創(chuàng)建交互性媒體表達(dá)觀點(diǎn)和創(chuàng)意)、聯(lián)系(交流)、質(zhì)疑(理解技術(shù))。[3]可見,這個三維框架并不僅局限于概念、知識和原理層面,還包括超越算法和編程之外更多的學(xué)習(xí)結(jié)果,包括學(xué)生在創(chuàng)建互動媒體過程中的問題分析與解決能力、系統(tǒng)思考與設(shè)計(jì)能力、社交能力、人格塑造與思維品質(zhì)發(fā)展以及價值觀的形成。[4]

Marc Prensky曾指出,娛樂與教學(xué)合為一體的教學(xué)模式才是真正適合于青少年的教學(xué)模式。[5]研究表明,將游戲設(shè)計(jì)融入教學(xué)可以激發(fā)學(xué)生的探究欲,消除畏難心理;增強(qiáng)師生互動,使課堂更加生動有趣,實(shí)現(xiàn)教師和學(xué)生的雙贏。本課題以經(jīng)典的打地鼠游戲設(shè)計(jì)為例,基于上述三維框架設(shè)計(jì)教學(xué)目標(biāo),挖掘App Inventor開發(fā)游戲的功能,為通過算法與程序教學(xué)培養(yǎng)學(xué)生的計(jì)算思維能力提供新的思路。

方案設(shè)計(jì)

1. ?教材與學(xué)生情況分析

本課是自編教材《跟我學(xué)App Inventor》第三章《打地鼠游戲》的第一課。教學(xué)內(nèi)容以打地鼠游戲?yàn)橹骶€,重點(diǎn)關(guān)注“過程”這一計(jì)算概念,以及抽象和模塊化、測試和調(diào)試等計(jì)算實(shí)踐,培養(yǎng)學(xué)生從界面設(shè)計(jì)、功能設(shè)計(jì)等不同角度開發(fā)游戲,激發(fā)更多的創(chuàng)意。

本課的教學(xué)對象是浙江省溫州中學(xué)高一學(xué)生。通過前面幾節(jié)課的學(xué)習(xí),學(xué)生已熟練掌握了手機(jī)游戲程序的開發(fā)流程,對事件、屬性、變量、選擇結(jié)構(gòu)、數(shù)學(xué)運(yùn)算、邏輯運(yùn)算等重要概念已經(jīng)有了一定的認(rèn)識。另外,通過之前的積累,學(xué)生已經(jīng)對運(yùn)用App Inventor開發(fā)游戲產(chǎn)生了濃厚的興趣,在界面設(shè)計(jì)與編程能力方面都有了顯著的提升,對游戲設(shè)計(jì)也有了自己的想法。

2. ?教學(xué)目標(biāo)

計(jì)算概念:掌握“過程”的定義與使用。

計(jì)算實(shí)踐:學(xué)生在設(shè)計(jì)、創(chuàng)建、探究和調(diào)試的過程中,逐步內(nèi)化抽象和模塊化、過程調(diào)用和代碼復(fù)用、測試和調(diào)試計(jì)算實(shí)踐策略。

計(jì)算觀念:通過體驗(yàn)App Inventor,設(shè)計(jì)并制作打地鼠游戲,表達(dá)自己的想法。

3. ?可選方案的設(shè)計(jì)與選擇

基于上述教材和學(xué)情分析以及本課的教學(xué)目標(biāo),筆者初步設(shè)計(jì)了三種教學(xué)方案(見表1)。

表1 ?打地鼠方案

稱 方案內(nèi)容 關(guān)鍵組件

計(jì)算概念

計(jì)算實(shí)踐

計(jì)算觀念

一 地鼠隨機(jī)產(chǎn)生,被擊中得分,否則失分 畫布組件、一個圖像精靈組件、時鐘組、聲音組件 簡單選擇結(jié)構(gòu)、自定義過程 抽象和模塊化、測試和調(diào)試、代碼復(fù)用 表達(dá)

二 地鼠隨機(jī)產(chǎn)生,被擊中得分,否則失分;根據(jù)分?jǐn)?shù),地鼠出現(xiàn)頻率不同 同上 多個選擇結(jié)構(gòu)、自定義過程 抽象和模塊化、測試和調(diào)試、過程調(diào)用和代碼復(fù)用 表達(dá)、

聯(lián)系

三 地鼠,青蛙,兔子隨機(jī)產(chǎn)生,擊中不同角色,得分不同 畫布組件、多個圖像精靈組件、時鐘組件、聲音組件 復(fù)雜選擇結(jié)構(gòu)、多個自定義過程 多種水平抽象和模塊化、測試和調(diào)試、過程調(diào)用和代碼復(fù)用 表達(dá)、

聯(lián)系

整體而言,三個方案具有由易到難、逐步遞進(jìn)的關(guān)系。從計(jì)算概念的角度來看,方案一突出了“過程”的內(nèi)涵及意義,方案二、三在此基礎(chǔ)上更強(qiáng)調(diào)運(yùn)算及數(shù)據(jù)。從計(jì)算實(shí)踐的角度來看,方案一注重學(xué)生通過角色扮演掌握抽象和模塊化的思想,并在不斷試誤的過程中掌握修正問題的方法及代碼復(fù)用策略。方案二、三更強(qiáng)調(diào)學(xué)生對教師作品的再利用和再創(chuàng)造,完成更復(fù)雜的作品。方案三除了涉及地鼠對象層→控件信息層→數(shù)據(jù)結(jié)構(gòu)層→編程語言層的抽象,還包括青蛙、兔子等不同對象及其之間關(guān)系的抽象。從計(jì)算觀念來看,方案一主要讓學(xué)生學(xué)會利用計(jì)算表達(dá)自己的想法。方案二、三更關(guān)注培養(yǎng)學(xué)生的聯(lián)系觀念,強(qiáng)調(diào)學(xué)生通過再修改他人的代碼增加游戲的趣味性,創(chuàng)造自己的個性化作品。從可操作性的角度來看,方案二、三需設(shè)計(jì)多種交互效果,代碼塊更為復(fù)雜,容易使學(xué)生望而生畏,對于初學(xué)者而言不太合適。根據(jù)上述分析,本課將重點(diǎn)圍繞方案一展開,其他方案作為拓展性方案在教學(xué)后半段呈現(xiàn),以激發(fā)學(xué)生更多的創(chuàng)意,同時為那些基礎(chǔ)較好的學(xué)生做預(yù)設(shè)準(zhǔn)備。

4. ?程序編寫

打地鼠應(yīng)用程序共分為五個部分:一是屏幕初始化事件的程序:借助隨機(jī)函數(shù),設(shè)置地鼠產(chǎn)生的位置。二是計(jì)時器事件的程序:借助隨機(jī)函數(shù),設(shè)置地鼠定時產(chǎn)生的位置。三是地鼠觸碰事件的程序:地鼠被打中,發(fā)出敲中聲,位置也隨機(jī)發(fā)生變化。四是畫布觸碰事件所進(jìn)行的計(jì)分程序:如果觸碰到畫布上的地鼠,分?jǐn)?shù)加一,否則減一。五是重新開始的程序:點(diǎn)擊重新開始按鈕,界面上得分、失分文本框內(nèi)容清空為零。

“過程”概念的講解主要有兩種教學(xué)思路。一是根據(jù)角色扮演及流程圖,引導(dǎo)學(xué)生編寫代碼。學(xué)生在編寫程序時,可能會發(fā)現(xiàn)上述一、二、三部分程序中均有相同的代碼,實(shí)現(xiàn)的功能有相同之處(地鼠在畫布上隨機(jī)產(chǎn)生);教師再自然引出“過程”這一概念,講解其意義及使用方法。二是教師直接講解“過程”的概念、意義并示范建立“過程”。在實(shí)際教學(xué)中,筆者選擇了思路一,因?yàn)閷W(xué)生從多次重復(fù)出現(xiàn)的代碼中很容易想到如何縮短程序、提高代碼可讀性的問題,方便引出“過程”的含義及使用。

5. ?拓展應(yīng)用

人類學(xué)習(xí)具有“聚類”特點(diǎn),不管是新知識的獲取還是原有知識的同化,都習(xí)慣以“類”為依據(jù)進(jìn)行加工、存儲和提取。教學(xué)設(shè)計(jì)與實(shí)施理應(yīng)體現(xiàn)這種邏輯,以某種聚類方式將相關(guān)學(xué)習(xí)內(nèi)容連成組塊,從而在局部上聚類知識內(nèi)容,在宏觀上形成課程內(nèi)容的集合,逐步呈現(xiàn)給學(xué)習(xí)者,從而達(dá)到較好的教學(xué)效果。根據(jù)已有研究,大致有三種聚類方式:以相似的功能、相似的技術(shù)思想、相似的目標(biāo)聚類。[6]

通過這一課的學(xué)習(xí),學(xué)生理解了過程,學(xué)會了抽象和模塊化、代碼復(fù)用、測試和調(diào)試計(jì)算實(shí)踐策略,并能夠利用計(jì)算表達(dá)自己的觀念。按照上述聚類思想,可以拓展出很多的應(yīng)用。例如,以相似的功能(實(shí)現(xiàn)地鼠的出現(xiàn))來聚類設(shè)計(jì)打地鼠項(xiàng)目,可以借助列表建立多個洞口;建立多種音效和游戲規(guī)則,使游戲具有更強(qiáng)的交互性;以相似的技術(shù)思想為例,學(xué)生可建立多個游戲角色并分別設(shè)置相應(yīng)行為,增加游戲挑戰(zhàn)度及趣味性,更好地進(jìn)行個性化表達(dá)。因此,教學(xué)中希望學(xué)生以界面設(shè)計(jì)、功能設(shè)計(jì)為觸發(fā)點(diǎn),盡可能多地發(fā)散出有聚類性質(zhì)的作品。

教學(xué)實(shí)踐

在本次教學(xué)中,筆者主要通過四個環(huán)節(jié)來完成教學(xué)。

1. ?游戲體驗(yàn) ?引入新課

首先,讓學(xué)生玩打地鼠游戲,激發(fā)其探究欲望,同時拋出一個問題:這個游戲如何設(shè)計(jì)。游戲體驗(yàn)結(jié)束后,請一位學(xué)生回答。本環(huán)節(jié)的設(shè)計(jì)有利于教學(xué)的展開,也可為后面學(xué)生的拓展應(yīng)用做鋪墊。

2. ?角色扮演 ?腦力震蕩

學(xué)生角色扮演打地鼠游戲。首先引導(dǎo)學(xué)生小組討論:如果現(xiàn)場模擬打地鼠游戲,我們需要幾位同學(xué)?每位同學(xué)在游戲中的角色是什么?每個人的游戲規(guī)則是什么?腦力震蕩后,請一組學(xué)生進(jìn)行現(xiàn)場表演。每位演員對自己的角色進(jìn)行功能及規(guī)則介紹。經(jīng)過角色扮演,學(xué)生成功地將打地鼠游戲任務(wù)分解為不同模塊,并抽象成程序可解決的問題。本環(huán)節(jié)注重引導(dǎo)學(xué)生對問題進(jìn)行抽象與模塊化(見表2)。學(xué)生歸納出的計(jì)算概念如表3所示。

表2 ?角色扮演——抽象與模塊化問題解決策略

演員上場 布置相關(guān)控件工具

演員化妝 對控件進(jìn)行屬性設(shè)置

加入劇本 1.地鼠隨機(jī)出現(xiàn)

2.畫布觸碰事件計(jì)分設(shè)計(jì)

3.地鼠觸碰音效設(shè)計(jì)

欣賞演出 啟動程序

表3 ?計(jì)算概念解析

組件分析 地鼠精靈,得分標(biāo)簽,失分標(biāo)簽,時鐘,重置按鈕、畫布

地鼠坐標(biāo)范圍 X軸:[0,畫布寬度-地鼠寬度]

Y軸:[0,畫布高度-地鼠高度]數(shù)學(xué)運(yùn)算

地鼠隨機(jī)產(chǎn)生 Random integer from隨機(jī)數(shù)運(yùn)算

得分 數(shù)學(xué)運(yùn)算及邏輯判斷

組件動作

(針對組件的事件、方法) 重置按鈕:Click事件;圖像小精靈:Touched事件;

畫布:Touched事件;時鐘:Timer事件

打地鼠項(xiàng)目的思路清晰之后,筆者引導(dǎo)學(xué)生畫相關(guān)流程圖,即開展抽象建模,將解決問題的過程用流程圖的方式表達(dá)出來。以畫布觸碰事件的程序流程圖為例(如圖1),讓學(xué)生獨(dú)立完成流程圖設(shè)計(jì),形象直觀的流程圖使得各種操作一目了然,不會產(chǎn)生“歧義性”,便于發(fā)現(xiàn)有錯誤的算法,并有利于轉(zhuǎn)化為程序。

圖1 ?畫布觸碰事件流程圖

經(jīng)過上面的分析之后,筆者已經(jīng)引導(dǎo)學(xué)生將打地鼠游戲題轉(zhuǎn)化為易于理解和實(shí)現(xiàn)的程序問題。

3. ?突破重點(diǎn) ?解決疑惑

經(jīng)過上一環(huán)節(jié)的角色扮演,學(xué)生迫切希望能夠親自設(shè)計(jì)打地鼠應(yīng)用。筆者先演示屏幕初始化事件的程序,隨后向?qū)W生提出任務(wù)一:實(shí)現(xiàn)地鼠在屏幕初始化、時鐘控制、地鼠被擊中時均可隨機(jī)出現(xiàn)。學(xué)生在筆者的指引下完成任務(wù)。這時,學(xué)生會發(fā)現(xiàn)三個事件的程序塊相同,紛紛提出如何避免編寫重復(fù)代碼的問題,從而引出教學(xué)重點(diǎn)“過程”這一概念。筆者演示過程的建立及調(diào)用。學(xué)生修改原有的程序,重寫代碼,不斷測試和調(diào)試,觀察是否實(shí)現(xiàn)同樣效果,以深化對“過程”的理解——“過程”中的代碼可以被重復(fù)地調(diào)用,從而減少編程的工作量,優(yōu)化代碼結(jié)構(gòu),也方便日后對程序的閱讀、維護(hù)、使用。

接下來,筆者提出任務(wù)二:地鼠被點(diǎn)中則加一分;否則,減一分并設(shè)置聲效。讓學(xué)生繼續(xù)通過自主探究完成任務(wù)。學(xué)生在調(diào)試程序時,會發(fā)現(xiàn)點(diǎn)中地鼠時分?jǐn)?shù)并沒有發(fā)生變化。此時,應(yīng)留給學(xué)生充足的自主探究空間和時間,讓學(xué)生自由討論,發(fā)散他們的思維,提出不同的解決方案,以便讓學(xué)生更好地掌握測試和調(diào)試計(jì)算實(shí)踐策略。如果學(xué)生未能解決問題,引導(dǎo)學(xué)生回顧計(jì)分原理:利用if選擇語句,實(shí)現(xiàn)成績累加,并強(qiáng)調(diào)細(xì)節(jié),即得分框、失分框的text屬性一開始均應(yīng)設(shè)置為“0”,方能實(shí)現(xiàn)數(shù)學(xué)運(yùn)算。

4. ?拓展提升 ?課堂總結(jié)

學(xué)完本課,為鼓勵學(xué)生產(chǎn)生一些創(chuàng)意想法,筆者為學(xué)生提供了一份表格供學(xué)生參考(見表4),讓學(xué)生將自己的創(chuàng)意記錄下來。學(xué)生可以從界面設(shè)計(jì)或者功能設(shè)計(jì)兩個角度出發(fā)記錄創(chuàng)意。

表4 創(chuàng)意

創(chuàng)意維度 具體描述

添加按鈕,實(shí)現(xiàn)游戲背景音樂控制

界面設(shè)計(jì) 建立多個界面,成績超過定值后,跳轉(zhuǎn)到另外界面

添加多個角色,地鼠外其他動物

分?jǐn)?shù)達(dá)到定值后,時鐘頻率加快,游戲難度增加

功能設(shè)計(jì) 地鼠從多個洞出現(xiàn)

......

最后,筆者對本節(jié)課進(jìn)行了總結(jié)(如圖2),并告訴學(xué)生App Inventor可以開發(fā)很多生動有趣的游戲,只要我們大膽想象,設(shè)計(jì)游戲是一件輕松愜意的事情。App Inventor課程不僅僅是讓大家掌握手機(jī)開發(fā)的知識和技術(shù),更希望大家在學(xué)習(xí)完課程后能夠開發(fā)出更有創(chuàng)意、有生活意義的作品。在體驗(yàn)這一過程中提高自己的計(jì)算思維能力。

圖2 ?打地鼠游戲總結(jié)

教學(xué)反思

本課的教學(xué)重點(diǎn)是“過程”的內(nèi)涵,抽象和模塊化、測試和調(diào)試計(jì)算實(shí)踐策略。從任務(wù)完成情況來看,全部學(xué)生完成了基礎(chǔ)任務(wù)。對于拓展任務(wù),許多學(xué)生利用課堂時間實(shí)現(xiàn)了創(chuàng)意想法。部分學(xué)生在游戲界面上進(jìn)行了想象,加入青蛙角色、游戲開始界面、游戲結(jié)束界面等;還有學(xué)生加入多重if判斷、背景音樂等,提高游戲難度及趣味性。整個教學(xué)過程生動有趣,學(xué)生在玩中學(xué)、學(xué)中玩,提高了計(jì)算思維能力、創(chuàng)新能力。

教學(xué)過程中,筆者先讓學(xué)生帶著問題玩游戲,并通過玩游戲初步歸納打地鼠所需要的元素;再讓學(xué)生角色扮演,激發(fā)學(xué)生主動參與學(xué)習(xí)活動的熱情,也實(shí)現(xiàn)了對游戲的抽象。通過任務(wù)一,學(xué)生自主發(fā)現(xiàn)“過程”這一計(jì)算概念,并修改原有設(shè)計(jì),理解了代碼復(fù)用的思想和價值。通過任務(wù)二,學(xué)生在調(diào)試中優(yōu)化自己的方案設(shè)計(jì),更好地表達(dá)自己的想法。最后通過體驗(yàn)他人的打地鼠游戲應(yīng)用,學(xué)生感受游戲中一些有創(chuàng)意的、有趣的設(shè)計(jì),進(jìn)一步拓寬知識視野。

基金項(xiàng)目:江蘇省2014年度普通高校研究生實(shí)踐創(chuàng)新計(jì)劃項(xiàng)目“APP INVENTOR在高中算法與程序設(shè)計(jì)教學(xué)中的應(yīng)用研究”;教育部人文社會科學(xué)研究青年基金項(xiàng)目“義務(wù)教育STEM校本課程的開發(fā)與應(yīng)用研究”(項(xiàng)目編號:13YJC880121)

(作者單位:江蘇南京師范大學(xué)教育科學(xué)學(xué)院)

猜你喜歡
計(jì)算思維
基于計(jì)算思維的軟件類研究生高級算法課程教學(xué)研究
基于計(jì)算思維程序設(shè)計(jì)的軍事案例研究
程序設(shè)計(jì)課程中計(jì)算思維和應(yīng)用能力培養(yǎng)問題研究
民族高校C語言程序設(shè)計(jì)課程教學(xué)改革的研究
算法的案例教學(xué)探析
淺談藝術(shù)專業(yè)學(xué)生計(jì)算思維能力的培養(yǎng)
江津市| 大同县| 邵东县| 金昌市| 崇左市| 阿城市| 弥渡县| 万载县| 元氏县| 上犹县| 蕉岭县| 景宁| 镇赉县| 嘉定区| 益阳市| 建水县| 什邡市| 美姑县| 隆德县| 伊吾县| 大足县| 界首市| 化德县| 屯留县| 迁西县| 阳西县| 平陆县| 四川省| 临汾市| 万州区| 普洱| 绥化市| 佛山市| 青铜峡市| 固安县| 江陵县| 册亨县| 会东县| 柘荣县| 商河县| 许昌市|