亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        悅?cè)せ瘜W(xué)習(xí)在面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)中的應(yīng)用研究

        2013-12-31 00:00:00冀津王冠宇
        計(jì)算機(jī)教育 2013年18期

        摘要:悅?cè)せ瘜W(xué)習(xí)是一種“玩中學(xué)”的學(xué)習(xí)方式,通過(guò)激發(fā)學(xué)習(xí)者的學(xué)習(xí)動(dòng)機(jī)促進(jìn)學(xué)習(xí),將學(xué)習(xí)融入游戲中,又稱(chēng)“游戲化學(xué)習(xí)”。悅?cè)せ瘜W(xué)習(xí)方式多種多樣,文章就Robocode軟件在面向?qū)ο蟪绦蛟O(shè)計(jì)聾學(xué)中的應(yīng)用進(jìn)行研究,闡述Robocode在程序設(shè)計(jì)學(xué)習(xí)中的價(jià)值,論述Robocode在程序設(shè)計(jì)教學(xué)中的組織應(yīng)用,同時(shí)也對(duì)悅?cè)せ瘜W(xué)習(xí)進(jìn)行總結(jié)和反思。

        文章編號(hào):1672-5913(2013)18-0099-04

        中圖分類(lèi)號(hào):G642

        0 引言

        悅?cè)せ瘮?shù)字學(xué)習(xí)又稱(chēng)數(shù)字游戲式學(xué)習(xí)(Digital Game-Based Learning,DGBL),是強(qiáng)調(diào)以學(xué)生為中心并融合數(shù)字游戲的創(chuàng)新教學(xué)方式,即學(xué)生以小組合作的方式,通過(guò)解決數(shù)字游戲中的問(wèn)題與挑戰(zhàn)來(lái)學(xué)習(xí)知識(shí)。一邊游戲一邊學(xué)習(xí)可以為學(xué)習(xí)者提供一個(gè)充滿(mǎn)樂(lè)趣與挑戰(zhàn)的學(xué)習(xí)環(huán)境,更能強(qiáng)化學(xué)習(xí)動(dòng)機(jī),加快知識(shí)的充分吸收。臺(tái)灣學(xué)者將這種學(xué)習(xí)方式譯為“悅?cè)せ瘜W(xué)習(xí)”。

        面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP)課程在整個(gè)計(jì)算機(jī)課程教學(xué)中占據(jù)非常重要的地位,目前國(guó)內(nèi)高校計(jì)算機(jī)專(zhuān)業(yè)普遍開(kāi)設(shè)了此類(lèi)課程。類(lèi)和對(duì)象是面向?qū)ο蟪绦蛟O(shè)計(jì)中最重要的概念,目前多數(shù)教材對(duì)這些概念以文字進(jìn)行介紹,對(duì)學(xué)習(xí)者而言,這些概念難以理解,學(xué)習(xí)效果不甚理想。建構(gòu)主義教學(xué)論原則指出:“復(fù)雜的學(xué)習(xí)領(lǐng)域應(yīng)針對(duì)學(xué)習(xí)者先前的經(jīng)驗(yàn)和學(xué)習(xí)者的興趣,只有這樣,才能激發(fā)學(xué)習(xí)者的學(xué)習(xí)積極性,學(xué)習(xí)才可能是主動(dòng)的”。為了激發(fā)學(xué)生持久的學(xué)習(xí)興趣,讓學(xué)生產(chǎn)生學(xué)習(xí)的內(nèi)在驅(qū)動(dòng)力,教育工作者在一直不停地進(jìn)行著積極的探索。在面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué)過(guò)程中引入“悅?cè)せ瘜W(xué)習(xí)”就是一個(gè)行之有效的方法。悅?cè)せ瘜W(xué)習(xí)的方式多種多樣,如模擬仿真類(lèi)游戲“模擬城市(SimCi-ty)”、可用于學(xué)習(xí)地理的“大航海時(shí)代(Great Age of Voyage)”等。

        Robocode是一款基于Java語(yǔ)言的坦克機(jī)器人作戰(zhàn)游戲。此款游戲在沒(méi)有用戶(hù)輸入的狀態(tài)下,讓許多坦克機(jī)器人在一個(gè)競(jìng)技場(chǎng)中比賽,而且用戶(hù)必須編制一個(gè)高效的坦克機(jī)器人來(lái)取勝。Robocode像一場(chǎng)坦克機(jī)器人的大混戰(zhàn),它們互相開(kāi)火直到只剩一個(gè)勝利者。Robocode要求使用Java語(yǔ)言對(duì)坦克機(jī)器人的動(dòng)作進(jìn)行編程,并設(shè)計(jì)不同的決策方案指揮坦克機(jī)器人的運(yùn)行。Java初學(xué)者可以在讓自己的坦克機(jī)器人戰(zhàn)勝對(duì)手坦克機(jī)器人的代碼編寫(xiě)過(guò)程中,掌握J(rèn)ava語(yǔ)言,提高程序設(shè)計(jì)能力。

        1 悅?cè)せ瘜W(xué)習(xí)在程序設(shè)計(jì)學(xué)習(xí)中的價(jià)值

        1)激發(fā)學(xué)習(xí)動(dòng)機(jī)。

        學(xué)習(xí)動(dòng)機(jī)是學(xué)生學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)過(guò)程中一個(gè)非常重要的因素,很多學(xué)生學(xué)習(xí)積極性較差,卻在游戲方面顯出較高興趣。若將游戲的特點(diǎn)應(yīng)用到面向?qū)ο蟪绦蛟O(shè)計(jì)過(guò)程中,使學(xué)習(xí)更加有趣,不失為一個(gè)促進(jìn)學(xué)習(xí)的好方法。Robocode是一款機(jī)器人作戰(zhàn)游戲,符合青少年熱衷網(wǎng)絡(luò)游戲的特點(diǎn),可以使學(xué)生在設(shè)計(jì)代碼完成游戲的過(guò)程中提高學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)的積極熊。

        2)體驗(yàn)式學(xué)習(xí)過(guò)程。

        體驗(yàn)式學(xué)習(xí)(Experimental Learning)是指以學(xué)習(xí)者為中心,通過(guò)實(shí)踐與反思相結(jié)合來(lái)獲得知識(shí)、技能和態(tài)度的學(xué)習(xí)方式。簡(jiǎn)言之,體驗(yàn)式學(xué)習(xí)遵循了4個(gè)階段模型:首先從具體體驗(yàn)開(kāi)始,然后是觀(guān)察和反思,進(jìn)而形成抽象的概念和普遍的原理,最后將形成的理論應(yīng)用到新情境的實(shí)踐當(dāng)中。

        在面向?qū)ο蟪绦蛟O(shè)計(jì)的教學(xué)中,教師一般要先講一下相關(guān)的概念和語(yǔ)句,但學(xué)生未必都能理解,學(xué)生在Robocode應(yīng)用中,為了游戲的順利進(jìn)行,必須不斷調(diào)試程序。教師要及時(shí)引導(dǎo)學(xué)生將注意力轉(zhuǎn)移到教學(xué)的實(shí)質(zhì)階段——編程知識(shí)的學(xué)習(xí)。當(dāng)講解到一些技術(shù)要點(diǎn)時(shí),演示該技術(shù)在游戲中的具體運(yùn)用,往往能夠更加吸引學(xué)生,從而達(dá)到在游戲中學(xué)習(xí)的目的。

        3)提高解決問(wèn)題能力。

        游戲往往充滿(mǎn)了挑戰(zhàn),不論是戰(zhàn)斗還是增強(qiáng)技巧,都需要游戲者千方百計(jì)地解決問(wèn)題。因此,游戲可以提高游戲者解決問(wèn)題的能力。Whitebread認(rèn)為解決問(wèn)題是一個(gè)復(fù)雜的智力過(guò)程,包括一系列的能力:①理解和描述問(wèn)題的能力(包括找出相關(guān)資訊的能力);②收集和組織相關(guān)資訊的能力;③制訂和管理行動(dòng)計(jì)劃或策略的能力;④問(wèn)題推斷和決斷能力;⑤使用各種解決問(wèn)題的工具的能力。

        學(xué)生為了能夠完成Robocode實(shí)驗(yàn)平臺(tái)的搭建,就需要解決如何在Eclipse開(kāi)發(fā)平臺(tái)上建立Robocode平臺(tái)的問(wèn)題;為了了解如何設(shè)計(jì)機(jī)器人坦克,就需要解決如何使用API幫助文檔的問(wèn)題;如果在競(jìng)爭(zhēng)中失利,為了打敗對(duì)手,就會(huì)產(chǎn)生強(qiáng)烈的了解對(duì)手機(jī)器人坦克是怎么編程設(shè)計(jì)的念頭,于是會(huì)閱讀對(duì)手機(jī)器人坦克的源代碼,進(jìn)一步達(dá)到提高閱讀源代碼水平的能力。

        4)提高協(xié)作學(xué)習(xí)能力。

        網(wǎng)絡(luò)游戲本身就需要和其他人互動(dòng),并在互動(dòng)過(guò)程中形成游戲虛擬團(tuán)隊(duì)。在應(yīng)用Robocode進(jìn)行游戲時(shí),指導(dǎo)教師對(duì)學(xué)生進(jìn)行分組,讓學(xué)生以小組為單位協(xié)作學(xué)習(xí),每個(gè)小組有3~4名組員,開(kāi)發(fā)3~5段坦克控制程序,各組進(jìn)行競(jìng)賽,加載各組的坦克機(jī)器人進(jìn)行對(duì)決。組內(nèi)學(xué)生為了獲勝,相互交流編程技術(shù),以便設(shè)計(jì)出更為強(qiáng)大的機(jī)器人。各組學(xué)生直接交流獲勝經(jīng)驗(yàn),不僅提高編程能力,更樹(shù)立了協(xié)作意識(shí)。

        5)提升創(chuàng)造能力。

        創(chuàng)造能力又稱(chēng)創(chuàng)造力或創(chuàng)新能力,是當(dāng)前各行各業(yè)都非??粗氐哪芰Αkm然創(chuàng)造力有天賦的成分,不過(guò)學(xué)者們認(rèn)為創(chuàng)造力是可以通過(guò)后天努力培養(yǎng)的。游戲可以用來(lái)培養(yǎng)學(xué)習(xí)者的創(chuàng)造能力。在應(yīng)用Robocode進(jìn)行游戲時(shí),學(xué)生可以查看坦克機(jī)器人的源代碼,模擬游戲系統(tǒng)給出的模板機(jī)器人進(jìn)行設(shè)計(jì)。但為了在競(jìng)賽中獲勝,學(xué)生往往要在此基礎(chǔ)上進(jìn)行改造創(chuàng)新,從而設(shè)計(jì)出具有各種不同能力的機(jī)器人。

        2 Robocode在程序設(shè)計(jì)教學(xué)中的組織應(yīng)用

        1)類(lèi)、對(duì)象和包。

        對(duì)象(Obiect)是類(lèi)(Class)的一個(gè)實(shí)例。面向?qū)ο蟪绦蛟O(shè)計(jì)的重點(diǎn)是類(lèi)的設(shè)計(jì)。Robocode機(jī)器人是一個(gè)圖形化的坦克,每個(gè)機(jī)器人都由一個(gè)或多個(gè)Java類(lèi)構(gòu)成。學(xué)生從菜單操作中新建一個(gè)機(jī)器人,首先輸入機(jī)器人的名字,名字首字母要大寫(xiě),然后輸入包的名字,這樣就生成了一個(gè)機(jī)器人的對(duì)象。

        2)屬性。

        封裝是面向?qū)ο蟮奶攸c(diǎn),即通過(guò)訪(fǎng)問(wèn)器(get和set)進(jìn)行屬性訪(fǎng)問(wèn)。Robocode機(jī)器人Vehicle(見(jiàn)圖1)有一門(mén)可以旋轉(zhuǎn)的炮Gun,炮上方的雷達(dá)Radar也是可以旋轉(zhuǎn)的。機(jī)器人坦克車(chē)(Vehicle)、炮(Gun)以及雷達(dá)(Radar)都可以單獨(dú)旋轉(zhuǎn),也就是說(shuō),機(jī)器人坦克車(chē)、炮以及雷達(dá)都是機(jī)器人坦克這個(gè)類(lèi)的屬性,都可以轉(zhuǎn)向不同的方向。

        3)方法。

        方法是類(lèi)中用于執(zhí)行計(jì)算或進(jìn)行其他操作的函數(shù)成員。如對(duì)象圖片體現(xiàn)、刷新、可見(jiàn)與不可見(jiàn)、自動(dòng)行走等就可以使用方法來(lái)完成,再在另一個(gè)類(lèi)中調(diào)用。

        要讓學(xué)生理解創(chuàng)建的機(jī)器人坦克就是一個(gè)類(lèi),它繼承于robocode,Robot類(lèi),而Robot類(lèi)本身含有許多方法。機(jī)器人坦克要生命不息,戰(zhàn)斗不止,就要調(diào)用如下方法:

        ahead(100);(前進(jìn)100像素)

        tumGunRight(360);(轉(zhuǎn)動(dòng)炮塔360度)

        back(100);(后退100像素)

        turnRight(60);(右轉(zhuǎn)60度)

        fire(1);(開(kāi)火)

        4)事件。

        事件是對(duì)象發(fā)送消息、信號(hào)通知客戶(hù)發(fā)生了操作。圖形用戶(hù)界面通過(guò)事件機(jī)制響應(yīng)用戶(hù)和程序的交互。響應(yīng)用戶(hù)時(shí)間通常稱(chēng)為事件處理。學(xué)生在編寫(xiě)程序時(shí)很少需要委托和事件,重點(diǎn)是對(duì)已有對(duì)象、控件的事件使用,了解“方法是必須是通過(guò)寫(xiě)代碼來(lái)調(diào)用,而事件由自己觸發(fā)”的基礎(chǔ)原理。

        在教學(xué)過(guò)程中,結(jié)合Robocode可以使學(xué)生很容易理解事件處理。如幾個(gè)關(guān)鍵的事件類(lèi):

        ScannedRobotEvent:雷達(dá)發(fā)現(xiàn)敵坦克事件類(lèi),它用作參數(shù)被onScannedRobot(ScannedRobotEvent e)方法處理,當(dāng)雷達(dá)檢測(cè)到機(jī)器人時(shí),就調(diào)用該方法。

        HitByBulletEvent:被敵坦克擊中事件類(lèi),它用作參數(shù)被onHitByBullet(HitByBuUetEvent event)方法處理。當(dāng)機(jī)器人被炮彈擊中時(shí),就調(diào)用該方法。

        HitRobotEvent:通過(guò)覆蓋onHitRobot()方法來(lái)處理HitRobotEvent。當(dāng)機(jī)器人擊中另外一個(gè)機(jī)器人時(shí),就調(diào)用該方法。

        HitWallEvent:撞墻事件類(lèi),它用作參數(shù)被onHitWall(HitWallEvent eventl方法處理。當(dāng)機(jī)器人撞到墻時(shí),就調(diào)用該方法。

        5)繼承。

        繼承是使用已存在類(lèi)的定義作為基礎(chǔ)建立新類(lèi)的技術(shù)。新類(lèi)的定義可以增加新的數(shù)據(jù)或新的功能,也可以用父類(lèi)的功能,但不能選擇性地繼承父類(lèi)。這種技術(shù)使得復(fù)用以前的代碼變得非常容易,能夠大大縮短開(kāi)發(fā)周期,降低開(kāi)發(fā)費(fèi)用。例如可以先定義一個(gè)類(lèi):車(chē),車(chē)有以下屬性:車(chē)體大小、顏色、方向盤(pán)、輪胎,而由車(chē)這個(gè)類(lèi)派生出轎車(chē)和卡車(chē)兩個(gè)類(lèi),為轎車(chē)添加一個(gè)小后備箱,而為卡車(chē)添加一個(gè)大貨箱。

        每個(gè)學(xué)生創(chuàng)建的機(jī)器人坦克類(lèi)都繼承Robot類(lèi),也就是說(shuō)都具有onScannedRobot、onHitByBullet、onHitRobot、onHitWall等方法。

        6)多態(tài)。

        首先向?qū)W生講明多態(tài)的理論概念,即重載和重寫(xiě)。重載發(fā)生在一個(gè)類(lèi)中,重寫(xiě)發(fā)生在子類(lèi)中,意思就是子類(lèi)重寫(xiě)父類(lèi)中相同名稱(chēng)的方法。

        每個(gè)學(xué)生在創(chuàng)建機(jī)器人坦克類(lèi)時(shí),為了躲避敵方坦克的炮火,為了迷惑敵方坦克、不讓對(duì)方雷達(dá)過(guò)多地掃描到自己,為了盡量不撞到墻,就要編寫(xiě)自己的策略代碼,覆蓋onScannedRobot、onHitByBullet、onHitRobot、onHitWall等方法。這樣學(xué)生就會(huì)明白在面向?qū)ο缶幊讨羞@就是多態(tài)。

        3 悅?cè)せ瘜W(xué)習(xí)的反思

        通過(guò)一個(gè)學(xué)期的教學(xué),采用悅?cè)せ瘜W(xué)習(xí)方式,將游戲Robocode引入面向?qū)ο蟪绦蛟O(shè)計(jì)課程的教學(xué)中,使學(xué)生對(duì)Java語(yǔ)言產(chǎn)生了濃厚的學(xué)習(xí)興趣,提高了學(xué)生的編程能力。在教學(xué)過(guò)程中,教師及時(shí)引導(dǎo)學(xué)生將注意力集中到編程知識(shí)的學(xué)習(xí)中并演示具體技術(shù)在游戲中的運(yùn)用,會(huì)有更好的課堂教學(xué)效果。

        采用悅?cè)せ虒W(xué)也存在下面一些問(wèn)題:

        (1)有的學(xué)生過(guò)多地使用了“試誤”的策略,這些學(xué)生對(duì)面向?qū)ο蟮木幊桃恢虢猓还茈S便編寫(xiě)機(jī)器人坦克類(lèi)的編碼,結(jié)果也可想而知。其實(shí)試誤也是一種重要的解決問(wèn)題的策略,只不過(guò)這種學(xué)習(xí)有一定的盲目性,學(xué)習(xí)效率自然不是很高。

        (2)低效的協(xié)作。有的學(xué)生經(jīng)常向?qū)W習(xí)好的學(xué)生請(qǐng)教問(wèn)題,但是別人告訴他的只是一些支離破碎的知識(shí)點(diǎn),而不是系統(tǒng)的答案,因此,不能很好地掌握機(jī)器人坦克設(shè)計(jì)的技巧。

        (3)膚淺的反思。許多學(xué)者都認(rèn)為在游戲進(jìn)行過(guò)程中和游戲結(jié)束后進(jìn)行反思和總結(jié)是提高學(xué)習(xí)成效的有效方法,因此在面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)中要特別強(qiáng)調(diào)反思。從課后分析中可以看出,大部分學(xué)生也都在努力反思,但不一定深刻和全面,如有的學(xué)生也反思過(guò)自己設(shè)計(jì)的坦克被擊中卻沒(méi)做出反應(yīng)的錯(cuò)誤,但是后面還是會(huì)經(jīng)常重復(fù)類(lèi)似的錯(cuò)誤。

        (4)簡(jiǎn)單的查找。教師在面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)中鼓勵(lì)學(xué)生在學(xué)習(xí)、游戲的過(guò)程中要善于通過(guò)網(wǎng)絡(luò)查找資料,但是有的學(xué)生只是簡(jiǎn)單地查找API手冊(cè),得到一些孤立的知識(shí)點(diǎn)。例如,有的學(xué)生也知道自己的坦克被擊中后要躲閃、反擊,但只是簡(jiǎn)單的幾條語(yǔ)句的算法,并沒(méi)有系統(tǒng)地設(shè)計(jì)一個(gè)完整的算法。

        4 結(jié)語(yǔ)

        教學(xué)實(shí)踐證明,編寫(xiě)Robocode不但會(huì)用到面向?qū)ο蟪绦蛟O(shè)計(jì)的知識(shí),還會(huì)涉及數(shù)據(jù)結(jié)構(gòu)、人工智能等知識(shí)與技術(shù),并且在游戲的過(guò)程中能夠完成學(xué)習(xí)任務(wù),充分地調(diào)動(dòng)了學(xué)生學(xué)習(xí)的積極性、主動(dòng)性和創(chuàng)造性,培養(yǎng)了學(xué)生分析問(wèn)題和解決問(wèn)題的能力,以及團(tuán)隊(duì)協(xié)作精神,對(duì)提高面向?qū)ο蟪绦蛟O(shè)計(jì)課程的教學(xué)質(zhì)量有較大的幫助。當(dāng)然,Robocode游戲不可能囊括面向?qū)ο蟪绦蛟O(shè)計(jì)的所有方面,但是作為輔助教學(xué)工具,足以引起計(jì)算機(jī)教師的重視。下一步,我們還要對(duì)其中存在的一些問(wèn)題進(jìn)行研究。

        (見(jiàn)習(xí)編輯:劉麗麗)

        亚洲国产精品中文字幕久久| 国产精品乱一区二区三区| 国产成人亚洲欧美三区综合| 激情免费视频一区二区三区| 成人女同av在线观看网站| 亚洲熟妇久久国产精品| 无码欧亚熟妇人妻AV在线外遇| 四虎成人精品国产永久免费| 日韩在线一区二区三区中文字幕 | 女优视频一区二区三区在线观看| 日本久久精品视频免费| 成人影院yy111111在线| 精品视频一区二区三三区四区| 青青草99久久精品国产综合| 国产精品女同一区二区软件| 国内精品久久久久久久97牛牛| 亚洲av无码久久寂寞少妇| 免费va国产高清不卡大片| 亚洲精品在线一区二区| 潮喷失禁大喷水aⅴ无码| 99久久国语露脸精品国产| 亚洲国产AⅤ精品一区二区久 | 亚洲av无码国产剧情| 蜜桃一区二区三区在线看| 中文字幕东京热一区二区人妻少妇| 亚洲色偷偷偷综合网| 116美女极品a级毛片| 尤物AV无码色AV无码麻豆| 精品综合久久88少妇激情| 乱码丰满人妻一二三区| 亚欧国产女人天堂Av在线播放| 亚洲伊人久久综合精品| 国产一区二区精品亚洲| 国产成人涩涩涩视频在线观看| 亚洲精品美女久久久久久久| 日本午夜伦理享色视频| 久久99国产精品久久99| 国产午夜影视大全免费观看| 中文字幕精品一区二区日本| 国产精品一区二区三区在线蜜桃| 中年熟妇的大黑p|