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