摘要:針對當(dāng)前計(jì)算機(jī)算法類課程邏輯性強(qiáng)又極為抽象的問題,我院引入三維視景仿真技術(shù),研究開發(fā)出一套以應(yīng)用為導(dǎo)向結(jié)合計(jì)算機(jī)專業(yè)關(guān)鍵算法的輔助教學(xué)演示工具。它能有效改善算法實(shí)驗(yàn)環(huán)境的二維空間局限性,實(shí)現(xiàn)算法可視化從二維到三維的跳變,從而獲得更好的教學(xué)效果和更大的教育意義。
關(guān)鍵詞:視景仿真;計(jì)算機(jī)算法;教學(xué)改革;算法可視化
中圖分類號:G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號:1674-9324(2017)46-0276-02
一、引言
在我國,“模擬與仿真教學(xué)”這一概念正在逐步被人們所認(rèn)識和接受,同時(shí)也引起了有關(guān)部門和教學(xué)機(jī)構(gòu)的重視。近年來,我國的一些職業(yè)學(xué)校首先在計(jì)算機(jī)類、信息傳達(dá)、經(jīng)濟(jì)類專業(yè)實(shí)踐教學(xué)方面進(jìn)行了積極的探索和改革,相繼建立了國家級信息技術(shù)仿真實(shí)驗(yàn)室等[1]。然而傳統(tǒng)的結(jié)合仿真系統(tǒng)的教學(xué)模式,是側(cè)重于教會學(xué)生如何“使用”這些仿真教學(xué)軟件,而沒有培養(yǎng)學(xué)生站在一個(gè)“開發(fā)者”的角度上將所學(xué)的理論算法用于去設(shè)計(jì)開發(fā)以解決實(shí)際問題為需求的仿真系統(tǒng)。
針對上述問題,本文通過設(shè)計(jì)并使用在MFC-VS集成環(huán)境下所開發(fā)的三維視景仿真系統(tǒng),改善了傳統(tǒng)仿真教學(xué)“重使用不重開發(fā)”教育模式的弊端。該系統(tǒng)預(yù)留有算法接口,可嵌入計(jì)算機(jī)專業(yè)課程中所講述的各種關(guān)鍵算法。本文結(jié)合計(jì)算機(jī)專業(yè)課程中的各種算法,包括《數(shù)據(jù)結(jié)構(gòu)》課程[2]中的遞歸算法、《人工智能》課程中的經(jīng)典A*算法及群智能算法等,給出其在該仿真系統(tǒng)中的實(shí)用效果,結(jié)合該仿真系統(tǒng)對計(jì)算機(jī)算法課程的教學(xué)模式改革進(jìn)行分析研究。
二、算法課程中教學(xué)現(xiàn)狀分析
計(jì)算機(jī)的算法類課程所涉及的知識面廣,研究內(nèi)容深,使初學(xué)者覺得抽象、乏味,在教學(xué)中存在很大困難。
1.課程教學(xué)分析。計(jì)算機(jī)關(guān)于算法的專業(yè)課程內(nèi)容抽象,學(xué)生往往因?yàn)椴恢肋@些理論知識的講解到底與具體算法實(shí)現(xiàn)及應(yīng)用之間有何關(guān)系,而陷入一種只知道學(xué)習(xí)某部分內(nèi)容的局部認(rèn)識中。而且算法類課程涉及太多的數(shù)理邏輯知識,顯得難以理解,往往讓學(xué)生感到比較枯燥,這樣學(xué)生的學(xué)習(xí)興趣就漸漸淡了。
2.實(shí)驗(yàn)教學(xué)分析。目前,算法類課程大多注重理論知識的講授,實(shí)驗(yàn)環(huán)節(jié)滯后,這不利于培養(yǎng)學(xué)生的實(shí)踐能力,更談不上實(shí)踐創(chuàng)新。而且即使有少量的實(shí)驗(yàn)安排,也是基于二維字符界面的實(shí)驗(yàn)環(huán)境。實(shí)驗(yàn)環(huán)境滯留在二維空間,難以激發(fā)學(xué)生做實(shí)驗(yàn)的興趣,且實(shí)驗(yàn)題目未與實(shí)際應(yīng)用相結(jié)合,導(dǎo)致學(xué)生不了解所學(xué)算法的實(shí)際用途,從而興趣不高。
三、基于3D仿真技術(shù)設(shè)計(jì)的仿真教學(xué)輔助軟件的開發(fā)
在技術(shù)上采用3D視景仿真軟件(MultiGen Vega Prime 2.0)、建模軟件(MultiGen Creator)及基于MFC的VS開發(fā)集成環(huán)境,設(shè)計(jì)并開發(fā)出性能穩(wěn)定的多通道觀測的仿真系統(tǒng),主要用于作為計(jì)算機(jī)主干課程《數(shù)據(jù)結(jié)構(gòu)與算法》、《人工智能》中的遞歸算法、A*算法、粒子群算法、蟻群算法、人工勢場法等在實(shí)際3D視景環(huán)境中尋路效果的應(yīng)用展示,同時(shí)系統(tǒng)預(yù)留有接口,可啟發(fā)學(xué)生動手編寫并嵌入新的算法,并查看實(shí)用效果。
本仿真系統(tǒng)融合了多種具有代表性的智能算法[3],如《數(shù)據(jù)結(jié)構(gòu)與算法》課程中的遞歸求解等算法,《人工智能》課程中的A*算法、改進(jìn)后的粒子群算法、改進(jìn)的蟻群算法、人工勢場法等智能近似最優(yōu)算法。針對三維空間搜索最優(yōu)路徑點(diǎn)的特點(diǎn),對《人工智能》中的這幾種群智能算法分別進(jìn)行了改進(jìn),增強(qiáng)了算法的實(shí)用性。
四、以應(yīng)用為導(dǎo)向的教學(xué)模式改革探索
結(jié)合仿真演示系統(tǒng),使學(xué)生經(jīng)歷由“被動學(xué)習(xí)”到“深入理解”再到“主動開發(fā)”的角色轉(zhuǎn)變,融入到教學(xué)改革中,極大地改變了學(xué)生的學(xué)習(xí)方式和學(xué)習(xí)習(xí)慣[4]。
1.結(jié)合三維仿真系統(tǒng)的課堂教學(xué)模式改革。在課堂授課過程中,如講授《人工智能》課程的“圖搜索類算法”中的“經(jīng)典A*算法”時(shí),可結(jié)合所設(shè)計(jì)的三維視景仿真系統(tǒng),給學(xué)生們講解A*算法的基本原理,及其在機(jī)器人路徑規(guī)劃中的實(shí)用性,從而讓學(xué)生有更直觀全面的認(rèn)識,激發(fā)其濃厚的學(xué)習(xí)興趣,吸引其注意力,活躍了課堂氣氛,激發(fā)了學(xué)生探索算法實(shí)現(xiàn)的興趣?!度斯ぶ悄堋氛n程是一門交叉和綜合的學(xué)科,這注定了它教學(xué)方法的多樣性,因此在實(shí)際教學(xué)過程中,可以將啟發(fā)式、參與式、討論式、問題式、案例式等多種教學(xué)方法融合在課程教學(xué)活動中。比如在講解“A*算法”時(shí),可以啟發(fā)學(xué)生思考“A*啟發(fā)式智能搜索算法”和我們之前在《數(shù)據(jù)結(jié)構(gòu)》里所學(xué)習(xí)的“盲目搜索算法”——如八方向遞歸搜索算法[6]之間有什么不同,啟發(fā)學(xué)生思考算法間的同構(gòu)性和異構(gòu)性。經(jīng)過學(xué)生思考討論后再進(jìn)行講解,然后再用本教學(xué)演示系統(tǒng)進(jìn)行演示。學(xué)生可直觀地看到兩種算法在三維視景場景中尋路路線的特點(diǎn),分析出其算法間的區(qū)別,比較算法的優(yōu)劣性,形成更好的教學(xué)效果。在整個(gè)課堂教學(xué)過程中,教師扮演好組織者和引導(dǎo)者的角色,充分發(fā)揮“以學(xué)生為主體,應(yīng)用為主導(dǎo)”的作用。通過采用仿真系統(tǒng)為應(yīng)用導(dǎo)向的教學(xué)方法,更有效地培養(yǎng)學(xué)生分析問題、解決問題的能力[7]。
2.設(shè)計(jì)仿真型實(shí)驗(yàn)。以該仿真系統(tǒng)為實(shí)驗(yàn)平臺,設(shè)計(jì)一系列的算法實(shí)驗(yàn)。全部學(xué)生分成若干個(gè)小組,每個(gè)小組獨(dú)立完成基于仿真平臺的實(shí)驗(yàn)環(huán)境的配置。然后,各小組擬定一種或多種智能搜索算法,并寫出源代碼文件,完成后直接將其include進(jìn)仿真實(shí)驗(yàn)系統(tǒng),運(yùn)行后即可直觀看到算法在三維視景環(huán)境中的應(yīng)用效果。這種仿真實(shí)驗(yàn)的設(shè)置可有效改善傳統(tǒng)的二維字符界面的編程環(huán)境[8],使學(xué)生親身感受算法的三維應(yīng)用效果,增加了學(xué)生對實(shí)驗(yàn)的興趣,充分調(diào)動了學(xué)生的積極性和創(chuàng)造性,極大地鍛煉了學(xué)生的動手能力和邏輯思維能力。
五、小結(jié)
計(jì)算機(jī)算法類課程內(nèi)容抽象,理論性強(qiáng),結(jié)合本仿真系統(tǒng)的教學(xué)模式能夠較好地解決傳統(tǒng)教學(xué)方法中算法抽象晦澀難懂等問題。通過本文的研究成果可以改革傳統(tǒng)的單一灌輸式、知識儲備型的教學(xué)模式;便于在《數(shù)據(jù)結(jié)構(gòu)與算法》、《算法設(shè)計(jì)與分析》及《人工智能》等計(jì)算機(jī)算法類課程的教學(xué)過程中針對某種典型算法和實(shí)際問題(路徑規(guī)劃問題)相結(jié)合進(jìn)行教學(xué)演示,即將其作為計(jì)算機(jī)算法類課程的輔助教學(xué)演示系統(tǒng),能夠增強(qiáng)課程生動性,改善目前計(jì)算機(jī)算法類課程教學(xué)過程中算法可視化時(shí)的二維空間局限性,實(shí)現(xiàn)算法可視化從二維到三維的跳變,增強(qiáng)算法的直觀性、真實(shí)性及實(shí)用性,從而使學(xué)生所學(xué)知識更貼近現(xiàn)實(shí)需求。
參考文獻(xiàn):
[1]張玥杰,趙一鳴.程序設(shè)計(jì)與算法類課程建設(shè)模式探索[J].計(jì)算機(jī)工程與科學(xué),2014,36(s2):38-41.
[2]鄧沌華,李源.數(shù)據(jù)結(jié)構(gòu)多層次漸進(jìn)式實(shí)踐教學(xué)體系構(gòu)建[J].計(jì)算機(jī)教育,2012,(24):72-76.
[3]陳湘驥,徐東風(fēng),方鳳美.算法類程序設(shè)計(jì)課程多層次實(shí)踐教學(xué)體系的構(gòu)建[J].實(shí)驗(yàn)室研究與探索,2012,31(08):330-333.
[4]王曉勇,方躍峰,肖四友,梁越.以專業(yè)應(yīng)用為導(dǎo)向的計(jì)算機(jī)基礎(chǔ)課程教學(xué)改革與實(shí)踐[J].中國大學(xué)教學(xué),2011,(07):135-135.
[5]周靜,付緒昌.基于新的粒子群算法的虛擬角色路徑規(guī)劃仿真系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2014,34(09):2562-2565.
[6]周靜,彭沖.三維復(fù)雜場景路徑規(guī)劃仿真系統(tǒng)設(shè)計(jì)與分析[J].計(jì)算機(jī)仿真,2015,32(06):364-367.
[7]陳學(xué)斌,張淑芬.信息與計(jì)算科學(xué)專業(yè)計(jì)算機(jī)類課程教學(xué)改革研究[J].計(jì)算機(jī)教育,2013,(16):46-50.
[8]熊焱,鄭麗群,王潔.淺談算法類課程實(shí)踐教學(xué)內(nèi)容設(shè)計(jì)[J].信息系統(tǒng)工程,2015,(09):145-145.