王威+高見
摘 要: 數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)課程體系的核心課程之一,實(shí)驗(yàn)教學(xué)更是整個(gè)教學(xué)環(huán)節(jié)的重中之重。本文首先分析數(shù)據(jù)結(jié)構(gòu)課程實(shí)驗(yàn)教學(xué)現(xiàn)狀,接著針對(duì)三個(gè)突出問題提出基于B/S模式的實(shí)驗(yàn)平臺(tái),最后設(shè)計(jì)三階實(shí)驗(yàn)項(xiàng)目,滿足課程教學(xué)目標(biāo),提高學(xué)生分析問題和解決問題的能力。
關(guān)鍵詞: 數(shù)據(jù)結(jié)構(gòu) B/S模式 實(shí)驗(yàn)教學(xué)
一、引言
“數(shù)據(jù)結(jié)構(gòu)”是計(jì)算機(jī)相關(guān)學(xué)科的重要專業(yè)基礎(chǔ)課,描述的是按照一定邏輯關(guān)系組織起來的數(shù)據(jù)元素的表示及相關(guān)操作,涉及數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和運(yùn)算算法??梢哉f,所有計(jì)算機(jī)系統(tǒng)軟件和應(yīng)用軟件都要用到各種類型的數(shù)據(jù)結(jié)構(gòu)和典型算法設(shè)計(jì)與分析技巧。課程內(nèi)容對(duì)培養(yǎng)學(xué)生的計(jì)算思維、算法設(shè)計(jì)與分析、程序設(shè)計(jì)與實(shí)現(xiàn)等基本能力非常重要。其中課堂教學(xué)主要講授“數(shù)據(jù)結(jié)構(gòu)”中的基本概念、合理的組織數(shù)據(jù)基本方法、高效處理數(shù)據(jù)的基本算法、常用的經(jīng)典算法等[1],[2]。實(shí)驗(yàn)教學(xué)要求學(xué)生完成數(shù)據(jù)結(jié)構(gòu)和相關(guān)算法設(shè)計(jì),使用高級(jí)程序設(shè)計(jì)語言調(diào)試實(shí)現(xiàn)。“數(shù)據(jù)結(jié)構(gòu)”課程技術(shù)性與實(shí)踐性要求較高,實(shí)驗(yàn)課可以對(duì)學(xué)生進(jìn)行全面綜合訓(xùn)練,使學(xué)生深刻理解基本數(shù)據(jù)結(jié)構(gòu)和基本算法,提高計(jì)算思維能力、編碼和調(diào)試能力及分析問題和解決問題的能力,為進(jìn)一步的軟件開發(fā)奠定堅(jiān)實(shí)的基礎(chǔ)。
二、實(shí)驗(yàn)教學(xué)現(xiàn)狀分析
目前大部分高校使用C語言作為“數(shù)據(jù)結(jié)構(gòu)”課程實(shí)驗(yàn)教學(xué)的程序設(shè)計(jì)語言,主要的IDE環(huán)境有VC++6.0、Dev-C++5.10等,實(shí)驗(yàn)教學(xué)主要在實(shí)驗(yàn)室進(jìn)行。然而,這種實(shí)驗(yàn)教學(xué)方式存在一些弊端:
1.實(shí)驗(yàn)內(nèi)容不夠豐富。實(shí)驗(yàn)教學(xué)是檢驗(yàn)學(xué)生動(dòng)手能力的一個(gè)平臺(tái),傳統(tǒng)實(shí)驗(yàn)教學(xué)方式限定實(shí)驗(yàn)內(nèi)容,導(dǎo)致有些學(xué)生“吃不飽”,有些學(xué)生“吃不完”。應(yīng)該設(shè)計(jì)一種CTF式的數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)平臺(tái),開發(fā)學(xué)生的潛力。
2.實(shí)驗(yàn)形式不夠靈活。傳統(tǒng)實(shí)驗(yàn)教學(xué)環(huán)境局限于實(shí)驗(yàn)室和PC機(jī),且嚴(yán)格受實(shí)驗(yàn)課學(xué)時(shí)限制。應(yīng)該設(shè)計(jì)一種B/S模式的實(shí)驗(yàn)平臺(tái),保障課上課下實(shí)驗(yàn)統(tǒng)一,同時(shí)由于程序于Sever端在線編譯,使實(shí)驗(yàn)終端不局限于PC機(jī),更靈活。
3.實(shí)驗(yàn)大家抄現(xiàn)象嚴(yán)重。實(shí)驗(yàn)教學(xué)以學(xué)生為主體,教師很難兼顧全班,因此實(shí)驗(yàn)完成過程中缺乏監(jiān)督,抄襲現(xiàn)象嚴(yán)重,實(shí)驗(yàn)質(zhì)量下滑,教師無法通過實(shí)驗(yàn)報(bào)告獲取真實(shí)的信息反饋,疲于鑒別抄襲源頭。應(yīng)該設(shè)計(jì)一個(gè)防抄襲檢測(cè)系統(tǒng),自動(dòng)實(shí)現(xiàn)源碼的相似性檢測(cè),使抄襲的代碼無法作為實(shí)驗(yàn)程序提交。
本文研究的基于B/S模式的數(shù)據(jù)結(jié)構(gòu)防抄襲實(shí)驗(yàn)平臺(tái)能夠從根本上解決傳統(tǒng)實(shí)驗(yàn)教學(xué)方式的弊端,滿足當(dāng)前高校教育改革強(qiáng)調(diào)的“重實(shí)踐”的需求,提高學(xué)生的動(dòng)手能力,培養(yǎng)學(xué)生的學(xué)習(xí)興趣和課上課下的學(xué)習(xí)習(xí)慣,杜絕實(shí)驗(yàn)“大家抄”現(xiàn)象。
三、實(shí)驗(yàn)平臺(tái)總體框架
實(shí)驗(yàn)平臺(tái)建設(shè)選擇ApacheWeb服務(wù)器軟件對(duì)外進(jìn)行發(fā)布,使用MySQL數(shù)據(jù)庫(kù)完成學(xué)生注冊(cè)信息及實(shí)驗(yàn)代碼存儲(chǔ),使用PHP語言進(jìn)行網(wǎng)站開發(fā)。實(shí)驗(yàn)平臺(tái)總體框架如下圖所示。學(xué)生登錄在線實(shí)驗(yàn)平臺(tái),選擇實(shí)驗(yàn)項(xiàng)目,可進(jìn)行在線程序編輯與調(diào)試,當(dāng)實(shí)驗(yàn)結(jié)果正確時(shí)可選擇提交實(shí)驗(yàn)代碼。代碼提交后,系統(tǒng)后臺(tái)運(yùn)行程序相似性檢測(cè)算法檢測(cè)已成功提交代碼的雷同度,并將結(jié)果反饋出來,雷同度超過40%則視為不合格。教師可登錄實(shí)驗(yàn)平臺(tái)的后臺(tái)進(jìn)行實(shí)驗(yàn)管理,下載源代碼,代碼在線運(yùn)行等實(shí)驗(yàn)相關(guān)工作。
四、實(shí)驗(yàn)項(xiàng)目設(shè)計(jì)
在實(shí)驗(yàn)項(xiàng)目設(shè)計(jì)方面,應(yīng)根據(jù)教學(xué)目標(biāo)設(shè)計(jì)出規(guī)模適當(dāng)、難度適中,實(shí)用性和趣味性兼顧的實(shí)驗(yàn)題目。實(shí)驗(yàn)題目應(yīng)分為三類:第一類是驗(yàn)證當(dāng)前所學(xué)知識(shí)點(diǎn)的驗(yàn)證性實(shí)驗(yàn),第二類是運(yùn)用多個(gè)相關(guān)知識(shí)點(diǎn)解決問題的綜合性實(shí)驗(yàn),第三類是靈活運(yùn)用所學(xué)知識(shí)解決實(shí)際問題的設(shè)計(jì)性實(shí)驗(yàn)。參考ACM-Club[3]和PAT[4]試題庫(kù),部分平臺(tái)實(shí)驗(yàn)項(xiàng)目如下表所示。
五、結(jié)語
“數(shù)據(jù)結(jié)構(gòu)”是計(jì)算機(jī)科學(xué)與技術(shù)人才素質(zhì)培養(yǎng)體系中的中堅(jiān)課程,對(duì)學(xué)生的軟件開發(fā)能力培養(yǎng)至關(guān)重要。如何激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生的動(dòng)手能力是“數(shù)據(jù)結(jié)構(gòu)”課程建設(shè)過程中亟待解決的問題。針對(duì)實(shí)驗(yàn)內(nèi)容不夠豐富、實(shí)驗(yàn)形式不夠靈活和實(shí)驗(yàn)大家抄現(xiàn)象嚴(yán)重這三個(gè)傳統(tǒng)實(shí)驗(yàn)教學(xué)的弊端,提出一個(gè)基于B/S模式的數(shù)據(jù)結(jié)構(gòu)防抄襲實(shí)驗(yàn)平臺(tái),打破實(shí)驗(yàn)枷鎖,可以最大限度地培養(yǎng)學(xué)生獨(dú)立思考的學(xué)習(xí)習(xí)慣,激發(fā)學(xué)習(xí)興趣,提高動(dòng)手能力。為了檢驗(yàn)學(xué)生的學(xué)習(xí)成果,還設(shè)計(jì)三階實(shí)驗(yàn)內(nèi)容,以滿足不同層次學(xué)生的需求。
參考文獻(xiàn):
[1]耿國(guó)華.“數(shù)據(jù)結(jié)構(gòu)”的課程改革與教學(xué)資源建設(shè)[J].計(jì)算機(jī)教育,2008(11):25-27.
[2]陳越.數(shù)據(jù)結(jié)構(gòu)MOOC實(shí)踐[J].中國(guó)大學(xué)教學(xué).2015(12):46-50.
[3]ACM俱樂部.http://www.acmclub.com/.
[4]浙江大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.https://www.patest.cn/.
項(xiàng)目基金:中國(guó)人民公安大學(xué)基科費(fèi)項(xiàng)目2015JKF01439。