趙立雙,王麗君,孫 蕾
(1.渤海大學 信息科學與技術學院,遼寧 錦州 121013;2.渤海大學 大學計算機教研部,遼寧 錦州 121013)
學校教育必須與世界接軌,以人為本,因材施教,培養學生的實踐和探索創新能力已經成為21世紀教學改革的主旋律。隨著教學改革的全面實施,傳統的實踐教學模式已經不能滿足現代教育理論的需求,因而急需提出一種既能貫徹先進的教育理念,又能適合教學實際的實踐教學模式,這種教學模式要既有理論上的科學性與先進性,又有實踐上的可行性與實用性。本文在相關文獻的基礎上,對現行的《數據結構》實踐教學模式進行分析研究,從中取長補短,提出了以“工程實踐”能力培養為導向的《數據結構》課程實踐教學模式,以滿足教學改革的要求。
數據結構課程理論知識抽象、內容龐雜,但是通過教師的講授,學生能夠基本掌握該課程的重要理論和基本原理。筆者對所教授的信息學院09級1-3班和10級12-13班學生進行了《數據結構》課程問卷調查,調查結果表明:65%以上學生基本能夠掌握教師所講授的內容,但涉及到具體的算法驗證、分析與設計情況則不容樂觀。35%的學生僅是按照書中的算法進行驗證,能進行簡要的分析。當談到設計算法解決實際問題時,90%的學生在實際學習過程中經常覺得教材所講授內容與解決實際問題的算法設計、實現相距甚遠,遇到問題感到無從下手,解決實際問題情況的不理想也制約了學生對基本理論的深入理解,降低了學生學習的興致。
因此,實踐教學是數據結構課程教學過程中必不可少的環節[1]。只有將實踐和理論緊密結合,互為補充,才能使學生盡快掌握數據結構的邏輯特性和物理表示、數據結構的選擇及算法設計方法,并能夠利用基本算法分析解決實際中的問題。基于此,如何更好地進行實踐教學是筆者一直致力于探討的問題。
數據結構課程不僅需要學生掌握理論知識,同時還需要通過實際應用提高學生的工程實踐能力[2]。雖然現在許多高校越來越重視實踐教學,對提高教學效果和學生分析問題、解決問題的能力起到一定的積極作用,但當前的實踐教學還存在如下問題。
C語言程序設計是《數據結構》的主要前導課程。C語言一般開在大一第二學期,是學生最先接觸的程序設計語言,一學期的學習時間,大部分學生花費在基本概念及簡單程序的編寫上,對數組、結構體、指針等復雜的數據類型掌握不夠[3]。而恰恰這些內容是數據結構課程的重要基礎,在數據結構課程中使用頻率很高。由于C語言知識不足,剛開始學習數據結構學生普遍感覺就很吃力,久而久之,喪失對該課程學習的興趣和信心。
數據結構實驗一般是在有限課時內完成對數據結構和算法的分析、設計及應用,程序設計中通常不涉及界面問題,而部分學生往往只對直觀和容易上手的可視化編程 (如VB程序設計)感興趣。因此部分學生對這種基本的程序設計訓練興趣不高,對實驗的重視程度不夠,往往抱以應付的態度。
數據結構課程知識點較多,而且基本都是比較重要、需要掌握的知識點,在實驗教學中要盡量都兼顧到,但實際上實驗的學時又比較有限,因此在實驗內容取舍和實驗時間安排上就產生了矛盾,如何在二者之間取得平衡就成為一個比較重要的問題[4]。另外,實驗項目往往比較單一,在實驗項目的設置中,驗證性實驗較多,設計性、創新性實驗不足,缺乏綜合的實驗項目,實踐教學沒有形成體系。
當前的實踐教學教師基本是根據學生平時提交的作業和學期末的上機考試給出相應的成績,教師多數是通過實驗的結果來驗證算法的正確性,很少有足夠的時間仔細閱讀每個學生的程序,實驗抄襲現象越來越嚴重,挫傷了學生學習的積極性。另外,教師基本都是通過檢查代碼和實驗題目完成情況來檢驗學生的實踐效果,實驗內容基本都是對課堂教學內容進行驗證,學生即使完成實驗,解決實際問題能力也得不到提高,實踐效果不理想。
我們要從長期形成的實踐教學的定勢中解放出來,注重從傳授知識向培養知識遷移能力、獨立分析問題和解決問題的能力、動手能力、創新能力轉變,從以教師為中心向以學生為主體的實踐教學模式轉變,探索有效應用于實踐教學的途徑與方法。以“工程實踐”能力為導向的《數據結構》課程實踐教學體系結構如圖1所示。

圖1 《數據結構》課程實踐教學體系示意圖Fig.1 Practice teaching system graph of“Data Structure” course
數據結構實驗遵循“由簡又深”、“由易到難”的規律,梳理教學內容,將實驗分為驗證型實驗,綜合性實驗,課程設計和創新型實驗4大層次,如圖2所示。

圖2 《數據結構》課程實踐教學層次示意圖Fig.2 Practice teaching hierarchical graph of“Data Structure” course
驗證型實驗是對書本知識點的體現,側重加深學生對基本結構的理解,掌握基本的實踐技能,為后續高層次的實踐奠定基礎,是課堂教學的延伸與補充[5]。
通過完成驗證性基礎實驗,學生對教學內容和要求有一定的了解并掌握初步實驗的方法。為了進一步引導、培養學生自己獲取知識的能力,在學期中后期,再布置1、2個綜合性實驗題目在課外開放實驗室完成。綜合型實踐用到課程中的許多知識點,將所學的數據結構思想應用到軟件開發過程中。
課程設計型實驗是將所學的多個知識點去解決特定的問題,獲取知識初步應用的能力。
創新型實驗是激發的培養學生創新能力,工程實踐能力的活動,培養具有創新精神和實踐能力的有高素質的人才是當代教育的目標,也是學校教育的歸宿。旨在通過實踐活動培養學生的創新能力,由舊知識建構新知識,達到學習的目標。
在教學方法上,不再簡單停留于教師講解和安排完實驗任務之后就由學生按部就班地完成實驗的形式。而是用啟發式教學論的思想來進行教學[6]。按照教育心理學的觀點,學習分為機械學習和有意義學習。傳統方式下學生處于一種近乎機械學習的狀態。這種教學條件下,學生通常并未理解由符號所代表的知識,而僅僅記住了某些符號的組合或詞句。教師在課前和課中針對實驗中遇到的問題的指導就尤為重要。
數據結構理論性也很強。可充分利用網絡和多媒體手段進行計算機輔助教學。教師在實驗課時可以應用電子教室對學生進行講解,還可以應用電子教室的諸多功能,如監控、與學生個性化交流,個別輔導等功能來與學生進行更好,更及時的交流,達到因材施教的目的。同時還可鼓勵學生通過圖書館、電子數據庫和因特網等途徑獲取學習資料,加強自學。從而使學生有更多精力來關注數據結構和算法的設計本身。
實踐教學的考核不能完全附屬于理論教學,要從嚴考核、單獨考核,將考核的重點放在學生在實踐教學過程中所表現出來的主動性與創新性。學校也應對學生的實踐教學效果通過抽查的形式作進一步的檢查,并制訂完善的實踐教學評估體系。
全面使用動畫、圖片、文本等多媒體技術,恰當利用多媒體的圖、文、聲特性完成實踐教學平臺的構建,通過網絡突破空間和時間的限制,方便師生、生生之間的專題交流,為學生提供豐富的實驗資源。
實踐教學是數據結構課程教學不可缺少的環節,對課程的學習發揮著非常重要的作用。筆者根據課程的特點和新的人才培養目標,以“工程實踐”能力為導向,從實踐教學內容,實踐教學方法與教學手段、考核方式和實踐教學平臺的搭建五個方面進行教學改革與教學實踐,構建了數據結構課程實踐教學體系。多年的教學實踐表明,此教學體系有利于調動學生的學習積極性,提高學生解決問題的能力、實踐創新能力。但由于作者的能力有限,此實踐教學體系還有許多不足之處,在今后的實踐教學中,需要進一步探索與實踐,適時調整實踐教學內容、改進教學方法,爭取取得更好的教學效果。
[1]徐慧,郭榮祥,周建美.多維一體的“數據結構”實踐教學系統的構建[J].計算機教育,2011(10):66-70.
XU Hui,GUO Rong-xiang,ZHOU Jian-mei.The construction of the multi dimensional integration “data structure” practice teaching system[J].Computer Education,2011(10):66-70.
[2]王曉杰,王蕓.工程化方法在《數據結構》實踐教學中的應用[J].福建電腦,2011(3):182-183.
WANG Xiao-jie,WANG Yun.The application of engineering method in the course of data structure practice teaching[J].Fujian computer,2011(3):182-183.
[3]武建華.基于ACM模式的數據結構實踐教學改革與探索[J].計算機教育,2007(12):114-116.
WU Jian-hua.Practice and exploration on data structure teaching reformation based on the mode of ACM[J].Computer education,2007(12):114-116.
[4]陶影,張斌.數據結構實驗教學應重視算法設計與分析能力的培養[J].實驗室研究與探索,2008,27(12):119-122.
TAO Ying,ZHANG Bin.Regarding to cultivate arithmetic design and analysis ability in Data Structure experimental teaching[J].Laboratory research and exploration,2008,27(12):119-122.
[5]李群.數據結構綜合性實驗體系構建研究[J].創新與創業教育,2011,2(4):60-61.
LI Qun.The research of the comprehensive experiment system construction in the course of data structure[J].Innovation and Entrepreneurship Education,2011,2(4):60-61.
[6]王濤春,羅永龍,左開中.基于在線評測的數據結構實踐教學探討[J].計算機教育,2010(10):88-91.
WANG Tao-chun,LUO Yong-long,ZUO Kai-zhong.Practice and discussion on data structure teaching based on the online evaluation[J].Computer Education,2010(10):88-91.