前言:想要寫出一篇引人入勝的文章?我們特意為您整理了面向?qū)ο蟪绦蛟O(shè)計(jì)課程實(shí)驗(yàn)系統(tǒng)范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。
關(guān)鍵詞:面向?qū)ο蟪绦蛟O(shè)計(jì)課程;實(shí)驗(yàn)教學(xué);快樂學(xué)習(xí)
1實(shí)驗(yàn)內(nèi)容
在面向?qū)ο蟪绦蛟O(shè)計(jì)課程中,涉及到一系列與面向過程編程所不同的概念,如類、對(duì)象、屬性、操作、繼承、多態(tài)等。這些概念比較抽象,學(xué)生初學(xué)時(shí)難以理解和把握。而角色扮演游戲能較好地反映面向?qū)ο蟪绦蛟O(shè)計(jì)的特點(diǎn),能讓學(xué)生在娛樂中學(xué)習(xí)這些基本概念。面向?qū)ο蟪绦蛟O(shè)計(jì)課程的教學(xué)一般是按照類的封裝性、繼承性、多態(tài)性的順序組織內(nèi)容[9]。為此,筆者結(jié)合角色扮演游戲的特點(diǎn),將面向?qū)ο蟮某绦蛟O(shè)計(jì)課程實(shí)驗(yàn)劃分為以下3部分內(nèi)容[10‐11]:(1)封裝:該部分實(shí)驗(yàn)要求學(xué)生掌握和應(yīng)用類的建立、對(duì)象的聲明和使用等知識(shí),要求學(xué)生定義2個(gè)類———怪獸(Monster)類和英雄(Hero)類,并實(shí)現(xiàn)其基本屬性和操作。(2)繼承:該部分實(shí)驗(yàn)要求學(xué)生掌握和應(yīng)用類的繼承機(jī)制,實(shí)現(xiàn)Monster類和大怪獸(Boss)類之間的繼承關(guān)系。(3)多態(tài):該部分實(shí)驗(yàn)要求學(xué)生掌握和應(yīng)用多態(tài)的實(shí)現(xiàn)機(jī)制,實(shí)現(xiàn)Monster類和Boss類的對(duì)象操作的多態(tài)。在以上實(shí)驗(yàn)的基礎(chǔ)上,還可以擴(kuò)展運(yùn)算符重載、模板等實(shí)驗(yàn)內(nèi)容。
2系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于游戲的面向?qū)ο蟪绦蛟O(shè)計(jì)課程實(shí)驗(yàn)系統(tǒng)以實(shí)現(xiàn)一個(gè)簡(jiǎn)單的對(duì)打游戲?yàn)楸尘?,根?jù)該課程的教學(xué)內(nèi)容和教學(xué)進(jìn)度要求,對(duì)游戲階段進(jìn)行劃分,構(gòu)造針對(duì)不同內(nèi)容的實(shí)驗(yàn)題目,逐步開放。每個(gè)實(shí)驗(yàn)題目都要求學(xué)生在已有的固定程序框架下填入自行編寫的代碼,實(shí)現(xiàn)所要求的程序功能。學(xué)生提交代碼后,系統(tǒng)首先將學(xué)生編寫的代碼與程序框架進(jìn)行合并,隨后采用后臺(tái)在線編譯工具進(jìn)行整體編譯,查找是否存在語法錯(cuò)誤。若有,則返回錯(cuò)誤信息;否則,利用代碼分析工具對(duì)代碼進(jìn)行分析,檢查是否已實(shí)現(xiàn)所要求實(shí)現(xiàn)的功能,是否實(shí)現(xiàn)選做功能。隨后,系統(tǒng)進(jìn)行代碼測(cè)試,檢查是否存在運(yùn)行錯(cuò)誤。最后運(yùn)行模塊將正確實(shí)現(xiàn)的功能在前臺(tái)顯示出來。前臺(tái)將讀取后臺(tái)代碼的實(shí)現(xiàn)情況,以圖形界面的方式顯示已正確定義的類和對(duì)象,并為對(duì)象提供后臺(tái)代碼正確實(shí)現(xiàn)的操作。根據(jù)后臺(tái)代碼定義的游戲流程,實(shí)現(xiàn)與學(xué)生的互動(dòng)游戲,并在游戲中讓學(xué)生發(fā)現(xiàn)所寫代碼中缺少的功能,更好地體會(huì)每一部分代碼的功能和效果。(1)代碼編譯模塊將抽取實(shí)驗(yàn)題目的固定框架代碼與學(xué)生提交的代碼進(jìn)行拼接,調(diào)用在線編譯器MinGW對(duì)合并后的代碼進(jìn)行編譯。若無錯(cuò)誤,將代碼交予代碼分析模塊進(jìn)行語義分析。(2)代碼分析模塊針對(duì)不同游戲階段的要求,規(guī)定類名、函數(shù)名等的標(biāo)準(zhǔn),要求學(xué)生所提交的代碼的名稱以此為依據(jù)。運(yùn)行時(shí),分析模塊對(duì)學(xué)生提交代碼進(jìn)行分析,提取關(guān)鍵類、函數(shù)等,與命名標(biāo)準(zhǔn)做對(duì)比,逐一排查是否實(shí)現(xiàn)對(duì)應(yīng)功能。(3)代碼測(cè)試模塊針對(duì)學(xué)生程序設(shè)計(jì)完成情況,利用預(yù)先定義好的后臺(tái)數(shù)據(jù),進(jìn)行測(cè)試分析并生成相應(yīng)的測(cè)試報(bào)告。(4)代碼運(yùn)行模塊在對(duì)固定框架和學(xué)生代碼合并后的程序進(jìn)行分析測(cè)試后,對(duì)程序進(jìn)行修改,創(chuàng)建socket連接,使其具備通信功能,并在內(nèi)部加入了通信協(xié)議解析,解析從前臺(tái)傳來的指令協(xié)議。(5)通信模塊負(fù)責(zé)通過socket在后臺(tái)與前臺(tái)之間進(jìn)行數(shù)據(jù)與指令的傳輸。在收到請(qǐng)求后,首先創(chuàng)建連接線程,實(shí)現(xiàn)后臺(tái)程序和前臺(tái)顯示兩端的通信,將代碼功能以圖形化的效果展示。(6)前臺(tái)模塊提供教師模式和學(xué)生模式,為用戶提供各類功能使用的圖形化界面。在教師模式下,教師可以對(duì)題庫、作業(yè)、成績(jī)進(jìn)行管理,增加或修改實(shí)驗(yàn)題目,或結(jié)束實(shí)驗(yàn)作業(yè),查看學(xué)生代碼和提交情況,查看和管理學(xué)生的成績(jī)。在學(xué)生模式下,在線答題模塊讓學(xué)生可以查看作業(yè)、根據(jù)要求在線編寫代碼并提交。若代碼通過,可以進(jìn)入在線游戲。若在游戲中發(fā)現(xiàn)功能的缺失,可以修改代碼并再次提交。在線游戲模塊通過通信模塊連接前后臺(tái),將經(jīng)過系統(tǒng)分析與編譯的學(xué)生提交代碼的實(shí)現(xiàn)情況傳輸給游戲模塊。游戲模塊根據(jù)收到的數(shù)據(jù),在游戲場(chǎng)景下生成對(duì)應(yīng)的角色,激活已正確實(shí)現(xiàn)的相關(guān)操作,轉(zhuǎn)化在圖形界面上展現(xiàn)出來,并根據(jù)編寫的程序流程與用戶進(jìn)行游戲互動(dòng),讓學(xué)生在游戲中體會(huì)代碼經(jīng)過編譯后,實(shí)際被執(zhí)行的效果。
3系統(tǒng)測(cè)試
基于游戲的面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)系統(tǒng)為學(xué)生提供了趣味性的實(shí)驗(yàn)過程。在系統(tǒng)固定的實(shí)驗(yàn)流程框架下,學(xué)生在線編寫并提交考查關(guān)鍵知識(shí)點(diǎn)的代碼,系統(tǒng)后臺(tái)自動(dòng)在線對(duì)代碼進(jìn)行整合、編譯、分析等。系統(tǒng)對(duì)學(xué)生提交的類的實(shí)現(xiàn)代碼進(jìn)行分析測(cè)試,對(duì)實(shí)現(xiàn)異常的函數(shù)進(jìn)行標(biāo)注。學(xué)生提交代碼通過后,系統(tǒng)提供在線游戲的功能,讓學(xué)生直觀感受所編寫代碼的效果。正確實(shí)現(xiàn)的類和對(duì)象及其相關(guān)的屬性和操作、類的繼承情況等被顯示出來,而出現(xiàn)異常的信息則無法顯示。
4結(jié)語
基于游戲的面向?qū)ο蟪绦蛟O(shè)計(jì)課程實(shí)驗(yàn)系統(tǒng)要求學(xué)生在固定框架下,按照各個(gè)實(shí)驗(yàn)考查的知識(shí)點(diǎn),編寫并提交相應(yīng)代碼。系統(tǒng)將在線編譯、分析、測(cè)試和運(yùn)行提交的代碼,并在前臺(tái)結(jié)合角色扮演游戲,顯示正確實(shí)現(xiàn)的功能,以趣味化的方式,加深學(xué)生對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)課程中各個(gè)概念的理解和掌握。
參考文獻(xiàn)(References)
[1]賈澎濤.基于游戲案例的面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué)改革[J].陜西教育(高教版),2011(12):80.
[2]彭召意,文志強(qiáng),朱艷輝.以項(xiàng)目驅(qū)動(dòng)的面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué)研究[J].計(jì)算機(jī)教育,2012(24):95‐98.
[3]黃建燈,田娟.基于應(yīng)用型人才培養(yǎng)的《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程教學(xué)改革探討[J].計(jì)算機(jī)產(chǎn)品與流通,2017(7):201.
[4]國偉.《C#面向?qū)ο蟪绦蛟O(shè)計(jì)課程》教學(xué)改革探討與實(shí)踐[J].科技創(chuàng)新導(dǎo)報(bào),2013(2):154.
作者:肖志嬌 劉士俊 徐婧 單位:深圳大學(xué)計(jì)算機(jī)與軟件學(xué)院