鄭馨++江偉
摘 要:數(shù)據(jù)結構是介于數(shù)學、計算機硬件和計算機軟件之間的核心課程,在計算機科學與技術專業(yè)課程體系中占據(jù)非常重要的地位。由于數(shù)據(jù)結構是一門理論性與實踐性很強的專業(yè)基礎課,所以教學難度相對較大。針對傳統(tǒng)數(shù)據(jù)結構教學存在的問題,該文就案例式教學、實驗設計和過程性考核三個方面對數(shù)據(jù)結構課程教學進行了初步探索。
關鍵詞:數(shù)據(jù)結構 案例教學 教學研究
中圖分類號:G719.21 文獻標識碼:A 文章編號:1672-3791(2017)06(c)-0182-02
數(shù)據(jù)結構課程不僅是一般程序設計的基礎,也是操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、軟件工程、編譯原理、人工智能等后續(xù)課程的重要基礎。數(shù)據(jù)結構課程是一門理論與實踐并重、綜合性很強的課程,教學難度大:(1)課程內容豐富、概念抽象,理論知識枯燥,對抽象思維能力要求高;(2)以設計實現(xiàn)高性能算法為目的,對編程能力與分析解決問題的能力要求高。
1 數(shù)據(jù)結構教學存在的問題
1.1 教學模式過于陳舊
傳統(tǒng)的數(shù)據(jù)結構教學一般采用“課堂集中教學+機房實踐”的教學模式。課堂上,以教師為主,學生為輔:教師枯燥地講,從頭到尾不斷地對課本上零散的理論知識點進行講解;學生被動地聽、機械地學,缺乏師生互動,課堂氣氛沉悶。學生學習興趣不濃,主動學習能力和創(chuàng)新性思維能力無法提高,無法達到理想的教學效果。
1.2 實驗設計不夠系統(tǒng)
傳統(tǒng)的數(shù)據(jù)結構實驗通常以驗證性的單元小實驗為主,學生按照設定好的步驟進行復制性的實驗。盡管與課本上的知識點聯(lián)系緊密,基礎差的學生也能較容易實現(xiàn),但其缺點更加明顯,既與書中內容重復,無法調動學生動手實踐的積極性,又無法體現(xiàn)知識的系統(tǒng)性和整體性,以及處理大規(guī)模數(shù)據(jù)的時間復雜度和空間復雜度,還容易使學生學完數(shù)據(jù)結構仍感覺云里霧里,不能從軟件設計的角度高屋建瓴地理解數(shù)據(jù)結構的意義,從而導致學生的主動思維能力、工程化能力和團隊合作能力都沒有得到訓練。
1.3 考核方式過于傳統(tǒng)
目前數(shù)據(jù)結構課程的考核仍以期末試卷成績等終結性考核為主,忽視了過程性考核的重要性。一考定分數(shù)的考核方式,使得很多學生只在臨考前突擊復習理論知識、死記硬背就可以通過考核;而對平時的課堂討論、隨堂測驗、提高型附加題、課程實訓等平時學習不夠重視,在課外投入的時間更是非常有限。一方面極易導致學完就忘或知識水平仍停留在紙上談兵上,學習的主動性、編程能力、解決實際問題的能力等始終得不到鍛煉。
2 針對現(xiàn)狀進行的教學方法探索和實踐
針對傳統(tǒng)數(shù)據(jù)結構課程教學存在的問題,該文對數(shù)據(jù)結構課程案例式教學方法進行了如下初步探討。
2.1 采用案例式教學,提高學習興趣
2.1.1 精心設計案例,寓教于樂
興趣是學生最好的老師,在數(shù)據(jù)結構課程中引入案例教學法,可以將枯燥乏味的理論知識放到實際情境中,激發(fā)學生的學習熱情,使學生喜歡學習、主動學習,在課外投入大量的時間自主學習。再在章節(jié)結束時對該案例進行啟發(fā)式教學和課堂討論,利用已學知識解決該問題,既達到學以致用,又實現(xiàn)復習和總結的目的。
2.1.2 啟發(fā)式教學,引導學生主動學習
除了理論知識的講授以外,教師需要帶著批判性的眼光、站在一個客觀的角度上,通過不斷的提問引出問題、啟發(fā)學生分析問題、解決問題以及問題遷移,營造學生自主學習的環(huán)境。在這個過程中,可以結合多種現(xiàn)代化教學手段輔助教學,將書中抽象枯燥的靜態(tài)文字轉化為形象生動的動畫效果,立體化、全方位將不同知識點直觀地展現(xiàn)給學生,從而幫助學生更具象地理解并消化知識。
2.1.3 課堂討論,鼓勵學生參與教學
可以先通過分組討論得出每一組的方案,再讓學生通過投票自行選出最佳的方案,最后再將該方案與教師拿出的方案進行對比分析并比較優(yōu)劣。既鼓勵學生獨立思考與團隊合作,讓每個學生都積極參與其中;又可以增強學生自主學習與分析問題的能力;還可以通過模仿和對比,在實踐中深刻理解理論知識、快速獲得提高。
2.2 設計綜合性實驗,鼓勵一題多解
在實驗內容的設計上,可以分別設計應用性的單元實驗和綜合實驗。
2.2.1 單元實驗設計
單元實驗以驗證每個章節(jié)的理論內容為主。為了降低重復性、提升趣味性、培養(yǎng)學生的工程思維能力,單元實驗可以設計成一個完整的軟件開發(fā)過程。如線性表實驗對應學生成績管理系統(tǒng),棧實驗對應停車場管理系統(tǒng)等。不僅可以提高學生動手實踐的興趣,還可以提高學生軟件編程實踐能力。針對不同水平的學生,還可以通過設置不同難度的實驗,分層次提高不同水平學生的編程能力。
2.2.2 綜合實驗設計
應用性的綜合實驗可以選取趣味性強的、難易適中的、能夠一題多解的實驗題目。例如,迷宮問題可以用棧的深度優(yōu)先搜索和隊列的廣度優(yōu)先搜索等多種算法解決;貪吃蛇游戲設計中,貪吃蛇的移動可以用順序表、單鏈表、循環(huán)隊列、鏈隊列等不同線性結構的插入和刪除操作解決。選擇一題多解的題目,可以使學生具有一定的發(fā)揮空間,啟發(fā)學生從不同角度、通過不同思路、利用不同數(shù)據(jù)結構,解決同一個問題,從而鍛煉學生的創(chuàng)造性思維;同時,大量使用對比,同類邏輯結構之間、同類存儲結構之間反復對比,使學生可以深入理解與吃透每個章節(jié)的重要概念與重要算法。另外,綜合性實驗的完成需要學生主動思考、查閱資料、團隊合作,因此,可以全面提升學生分析問題能力、編程能力、測試能力、組織文檔能力,以及團隊協(xié)作的能力。
2.3 加強過程性考核,鼓勵健康競爭
2.3.1 綜合測評方式
采用多種形式的綜合測評方式,降低終結性考核的比重,提升過程性考核的重要性。數(shù)據(jù)結構課程的綜合考評成績由平時成績、實驗考察、期末考試組成。平時成績包括考勤、隨堂測驗、課堂表現(xiàn)和作業(yè)等,實驗考察包括單元實驗和綜合實驗,其中單元實驗考察包括課堂表現(xiàn)和實驗成績,綜合實驗包括答辯成績和報告成績,期末考試包括筆試和機試。細致的考核標準的制定可以督促學生重視平時學習,積極參與課堂教學,培養(yǎng)良好的學習習慣,實驗考核比重的加大可以引導學生多動手多實踐,從而徹底改變學生心中固有的重考試輕平時、重理論輕實踐的錯誤觀念。
2.3.2 完善激勵措施
為了促進學生取得更大的進步,需要一套行之有效的激勵措施。第一,如舉手發(fā)言、完成加分作業(yè)和實驗、發(fā)表課程論文、參與程序設計競賽等均可以在總評成績上直接獲得相應的加分,充分調動學生的學習積極性和主動性。第二,對大型綜合實驗劃分不同的角色,如編程人員、文檔人員和匯報人員,不同角色可以獲取不同比例的分數(shù),鼓勵學生分工協(xié)作。第三,實驗成績公開透明,所有學生都可以隨時看到每個人的實驗成績,培養(yǎng)學生健康的競爭心理,化壓力為動力,在競爭中共同進步。
3 結語
數(shù)據(jù)結構是一門理論與實踐并重的專業(yè)基礎課,其目的在于培養(yǎng)學生的抽象思維能力和程序設計能力。為了培養(yǎng)學生自主學習能力和創(chuàng)新性思維,該文圍繞案例式教學模式、綜合性實驗設計和過程性考核與激勵機制三個方面對數(shù)據(jù)結構課程教學方法進行了探索,并取得了良好的教學效果。隨著信息化時代的發(fā)展,還需要不斷探索新的教學方法,對每個具體的教學實施環(huán)節(jié)繼續(xù)深入優(yōu)化,培養(yǎng)高素質計算機人才。
參考文獻
[1] 程玉勝.數(shù)據(jù)結構與算法:C語言版[M].中國科學技術大學出版社,2015.
[2] 譚定英,陳平平,劉慧玲.以問題為中心的案例教學法在數(shù)據(jù)結構與算法課程中的應用[J].計算機教育,2013(12):50-53.
[3] 陳越,何欽銘,馮雁.“數(shù)據(jù)結構”綜合性課程設計教學探索與實踐[J].計算機教育,2008,68(8):56-57.