999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人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í)方式,通過激發(fā)學(xué)習(xí)者的學(xué)習(xí)動(dòng)機(jī)促進(jìn)學(xué)習(xí),將學(xué)習(xí)融入游戲中,又稱“游戲化學(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í)也對悅?cè)せ瘜W(xué)習(xí)進(jìn)行總結(jié)和反思。

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

中圖分類號:G642

0 引言

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

面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP)課程在整個(gè)計(jì)算機(jī)課程教學(xué)中占據(jù)非常重要的地位,目前國內(nèi)高校計(jì)算機(jī)專業(yè)普遍開設(shè)了此類課程。類和對象是面向?qū)ο蟪绦蛟O(shè)計(jì)中最重要的概念,目前多數(shù)教材對這些概念以文字進(jìn)行介紹,對學(xué)習(xí)者而言,這些概念難以理解,學(xué)習(xí)效果不甚理想。建構(gòu)主義教學(xué)論原則指出:“復(fù)雜的學(xué)習(xí)領(lǐng)域應(yīng)針對學(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é)過程中引入“悅?cè)せ瘜W(xué)習(xí)”就是一個(gè)行之有效的方法。悅?cè)せ瘜W(xué)習(xí)的方式多種多樣,如模擬仿真類游戲“模擬城市(SimCi-ty)”、可用于學(xué)習(xí)地理的“大航海時(shí)代(Great Age of Voyage)”等。

Robocode是一款基于Java語言的坦克機(jī)器人作戰(zhàn)游戲。此款游戲在沒有用戶輸入的狀態(tài)下,讓許多坦克機(jī)器人在一個(gè)競技場中比賽,而且用戶必須編制一個(gè)高效的坦克機(jī)器人來取勝。Robocode像一場坦克機(jī)器人的大混戰(zhàn),它們互相開火直到只剩一個(gè)勝利者。Robocode要求使用Java語言對坦克機(jī)器人的動(dòng)作進(jìn)行編程,并設(shè)計(jì)不同的決策方案指揮坦克機(jī)器人的運(yùn)行。Java初學(xué)者可以在讓自己的坦克機(jī)器人戰(zhàn)勝對手坦克機(jī)器人的代碼編寫過程中,掌握J(rèn)ava語言,提高程序設(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ì)過程中一個(gè)非常重要的因素,很多學(xué)生學(xué)習(xí)積極性較差,卻在游戲方面顯出較高興趣。若將游戲的特點(diǎn)應(yīng)用到面向?qū)ο蟪绦蛟O(shè)計(jì)過程中,使學(xué)習(xí)更加有趣,不失為一個(gè)促進(jìn)學(xué)習(xí)的好方法。Robocode是一款機(jī)器人作戰(zhàn)游戲,符合青少年熱衷網(wǎng)絡(luò)游戲的特點(diǎn),可以使學(xué)生在設(shè)計(jì)代碼完成游戲的過程中提高學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)的積極熊。

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

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

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

3)提高解決問題能力。

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

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

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

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

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

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

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

1)類、對象和包。

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

2)屬性。

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

3)方法。

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

要讓學(xué)生理解創(chuàng)建的機(jī)器人坦克就是一個(gè)類,它繼承于robocode,Robot類,而Robot類本身含有許多方法。機(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);(開火)

4)事件。

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

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

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

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

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

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

5)繼承。

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

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

6)多態(tài)。

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

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

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

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

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

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

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

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

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

4 結(jié)語

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

(見習(xí)編輯:劉麗麗)

主站蜘蛛池模板: 污视频日本| 精品无码一区二区在线观看| 亚洲av无码人妻| 久久久久亚洲精品成人网| 91 九色视频丝袜| 少妇被粗大的猛烈进出免费视频| 91福利免费视频| 女人18毛片一级毛片在线| 最新日本中文字幕| 无码丝袜人妻| 呦女亚洲一区精品| www.91在线播放| 九九九精品视频| 伊人久久婷婷| 看国产毛片| 国产成本人片免费a∨短片| 亚洲最猛黑人xxxx黑人猛交| 在线99视频| 综合久久五月天| 日本高清免费一本在线观看| 青青青伊人色综合久久| 国产丰满大乳无码免费播放| 国产日本一线在线观看免费| 四虎亚洲精品| 欧美成a人片在线观看| 男女男精品视频| 好紧好深好大乳无码中文字幕| 99久久精品久久久久久婷婷| 久草性视频| 亚洲AV无码乱码在线观看代蜜桃 | 亚洲欧美在线综合一区二区三区| 九九九精品视频| 中文成人在线视频| 成人国产精品2021| 视频一区亚洲| 亚洲国产精品国自产拍A| 一区二区午夜| 中文字幕在线观| 天天做天天爱天天爽综合区| 国产在线98福利播放视频免费| 日韩麻豆小视频| 久久午夜夜伦鲁鲁片无码免费| 亚洲欧美综合在线观看| 国产三级毛片| 免费无码AV片在线观看中文| 国产欧美亚洲精品第3页在线| 国产成人综合久久精品尤物| 26uuu国产精品视频| 国产免费高清无需播放器| 中文字幕亚洲电影| 92精品国产自产在线观看| 国产精品久久久久鬼色| 在线国产资源| 91无码人妻精品一区二区蜜桃| 精品欧美视频| 国产欧美日韩在线一区| 亚洲高清免费在线观看| 久久精品无码专区免费| 国产波多野结衣中文在线播放| 国产微拍一区二区三区四区| 中国精品久久| 国产第一福利影院| 中文字幕人成乱码熟女免费| AV片亚洲国产男人的天堂| 伊人蕉久影院| 91激情视频| 一级毛片不卡片免费观看| 日韩东京热无码人妻| 日韩在线永久免费播放| 国产精品视频白浆免费视频| 思思99思思久久最新精品| 热久久综合这里只有精品电影| 亚洲日韩国产精品综合在线观看| 色综合久久88色综合天天提莫| 亚洲男人在线天堂| 丝袜久久剧情精品国产| 久久视精品| 精品乱码久久久久久久| 久久性视频| 国产综合网站| 欧美一级爱操视频| 国产欧美日韩专区发布|