張程,何毅,肖建良
(大連理工大學城市學院,大連116600)
《數據結構》課程實驗教學改革探索
張程,何毅,肖建良
(大連理工大學城市學院,大連116600)
《數據結構》是計算機類專業的核心課程,實驗教學是教學環節的重要組成部分,也是教學過程中理論聯系實際和培養學生創新實踐能力的重要環節。為了提高《數據結構》課程實驗的教學效果,從教學內容、教學方法和考核方式等面展開研究和探討,并提出一些具有較強實用性的方法和建議。
數據結構;實驗教學;教學改革;創新實踐
《數據結構》課程是計算機類專業的必修課程,是所有軟件類課程的基礎,也是各種程序設計類考試的必考科目,軟件企業常常將該課程作為衡量畢業生綜合素質和能力的指標性課程。數據結構實驗教學作為教學環節的重要組成部分,其作用是融會、貫通理論課所學的專業知識,并能將課程中所學的各種結構和算法靈活的應用于不同問題領域。在實驗教學中,要培養學生的創新精神和創新意識,鼓勵學生獨立思考,找到解決問題的新方法或對現有算法進行改進,全面提升學生分析問題和解決問題的能力、自主學習能力和創新實踐能力。為了提高數據結構實驗課程的教學效果,本文從教學內容、教學方法和考核方式等面進行了研究和探討,并提出了相應的教學改革方案。實踐證明,這一系列教改措施提高了學生的學習熱情和學習興趣,取得了良好的教學效果[1]。
傳統數據結構的實驗教學只是鞏固和復習理論課內容,多為一些驗證性、演示性以及基礎知識的實驗操作,缺乏針對算法應用和算法設計的實驗內容,只注重知識的學習,忽視了能力的培養,很難調動學生的主動性和積極性,教學效果不佳。針對該課程的教學特點,我們把數據結構課程實驗分為三類:理論驗證型實驗、算法設計型實驗、創新實踐型實驗,并按遞進的方式組織實驗教學。
(1)理論驗證型實驗針對每個單元的知識要點,驗證理論課所學結構和算法的有效性和可行性。教材中的每個單元,都有相應的實驗。例如,二叉樹這一單元的理論驗證型實驗包括:二叉樹的遍歷算法(遞歸和非遞歸),二叉樹基于遍歷的相關操作算法(創建二叉樹,二叉樹的復制等),哈夫曼樹和哈夫曼編碼構建算法。實驗教學中,首先要讓學生理解算法的功能,然后用偽碼或流程圖描述算法,最后編碼實現完成實驗操作。通過理論驗證性實驗,既使學生鞏固和復習了理論知識,又鍛煉了學生的實踐動手能力,加深了學生對常用結構和算法的理解。
(2)算法設計型實驗要求學生能夠綜合運用每章所學的理論知識,解決一些較為復雜的算法問題。教材中的每章,都有相應的實驗題目。例如,圖的實驗題目是:依據圖搜索的BFS算法,設計D-算法,D-與BFS的不同之處在于用棧代替BFS中的隊列,入、出隊的操作改為入、出棧的操作。算法設計型實驗要求學生不僅要有扎實的理論基礎,還要掌握基本的程序設計方法、技巧和調試方法。實驗教學中,教師要引導學生從已知問題出發,獨立思考,找到解決問題的思路,例如,對于圖搜索D-算法的設計題目,教師要引導學生找到兩個算法的異同之處,并根據BFS算法的設計思路和步驟,獨立完成D-算法的設計,最后編碼實現完成實驗操作。學生對這類實驗很感興趣,積極性很高,實踐教學中取得了良好的教學效果。通過算法設計型實驗,即培養了學生分析、解決問題的能力和獨立思考能力,又提高了學生的思維水平,激發了學生的潛能。
(3)創新實踐型實驗要求學生設計、實現一個完整的系統。實驗項目來自于教師的科研課題或競賽項目,學生用現有知識和經驗無法全部解決,必須進行探究和研究性學習以及團隊合作[2]。所有的實驗項目均是開放性的,鼓勵學生找到新的解決方法或改進現有方法。圖1是一個創新實踐型實驗項目的例子。

圖1 創新實驗項目
創新實踐型實驗是對課程的總結,考核學生對課程知識的綜合運用能力,需要學生以小組的方式完成。實驗教學中,教師要參與到實驗項目設計的各個環節之中,關鍵是要起到引導的作用,在學生遇到問題的時候,指出正確的設計思路、研究方向和查閱哪些相關文獻資料。通過創新實踐型實驗,培養了學生的自主學習能力、創新實踐能力和團隊合作精神,使學生畢業之后,即能投入工作,成為企業需要的人才。
傳統的教學方法以教師為中心,采用“教師講,學生聽”的教學模式,它并不適應數據結構實驗課程的教學要求,教師應該對教學方法進行革新[3]。針對數據結構課程的特點,在實驗教學環節綜合運用以下幾種教學方法,取得了比較理想的教學效果。
(1)邊講邊練,良性互動。數據結構實驗教學中最突出的問題就是學生“會讀不會寫”,即學生能夠讀懂算法,但是不會編碼實現。這就要求教師在實驗教學中采用邊講邊練的教學形式,“講”是把算法原理與其編碼實現結合起來,讓學生明白算法中每段代碼的作用和功能;“練”是要求學生通過模仿,加深對算法的理解,鍛煉學生的動手有能力。在“講”和“練”的過程中,師生之間要有良性的互動,通過互動,教師可以了解學生的掌握情況,有針對性地制定下一步的教學方案。
(2)案例教學。實驗教學是教學過程中理論和實踐相結合的重要環節,要讓學生了解數據結構的應用領域和最新的研究成果。因而,在實驗教學中有必要采用案例教學的形式,使學生在學習課本知識的同時,對理論知識的應用、科學研究方法與手段有所了解和掌握。例如,線性表的案例—約瑟夫環問題;棧的案例—表達式求值問題;隊列的案例—打印隊列管理;樹的案例—應用四叉樹實現空間劃分問題;圖的案例—機器人路徑規劃問題等。通過這些案例提高了學生編程能力和解決問題的能力,進而培養學生的創新實踐能力。
(3)啟發式教學。實驗教學中,教師不僅要把教學內容講明白,還要拓展學習內容和解題思路,啟發學生深入思考,構建同一問題的不同解題思路。例如,在講解哈夫曼樹時,啟發學生采用不同的存儲結構實現哈夫曼樹的創建算法,加深了學生對算法的理解,培養了學生的探索精神和創新意識。
考試是教學活動的重要環節,其目的是檢驗學生對課程內容的理解和掌握程度[4]。通常,數據結構實驗成績就是依據實驗報告成績,由于實驗報告存在抄襲現象,所以不能客觀地衡量學生的學習成果。因此,數據結構實驗課程采用了“報告+上機考核+演示答辯”的考核方式。通過實驗報告,教師可以了解學生基礎知識的掌握情況和常規算法的應用能力,基礎驗證型實驗采用這種考核方式;通過上機考核,教師可以了解學生的動手實踐能力、分析問題和解決問題的能力,設計開發型實驗采用這種考核方式;通過答辯演示,教師可以了解學生對課程知識的綜合掌握情況,自主學習能力和創新實踐能力,創新型實驗采用這種考核方式。
針對數據結構實驗課程的特點,結合多年的教學經驗,本文從教學內容、教學方法和考核方式等環節進行了一些改革嘗試。實踐效果表明,這些改革嘗試,能夠激發學生的學習興趣,提高了學生的動手能力和創新實踐能力,取得了較好的教學效果,并可為計算機類專業實驗課程的教學改革研究提供一些有意義的借鑒。
[1]張程,張坤.多元化人才培養模式下的《數據結構》教學方法[J].沈陽大學學報(社會科學版),2013(12):780-782.
[2]郭曉利,馮力,郭平.數據結構課程立體化實踐教學模式的探討[J].東北電力大學學報,2009,29(5):25-27.
[3]青宇航.關于《數據結構》現代教學方法的探索[J].教育與職業,2007(9):151-152.
[4]琚生根,廖勇,周剛等.ACM 競賽與實驗教學創新[J].實驗技術與管理,2009,26(5):125-126,131.
張程(1977-),男,遼寧大連人,碩士研究生,副教授,研究方向為虛擬現實、人工智能
何毅(1978-),女,遼寧大連人,碩士研究生,副教授,研究方向為數字圖像處理、移動應用開發
肖建良(1964-),男,遼寧大連人,碩士研究生,副教授,研究方向為網格計算
Exploration on the Experiment Teaching of Data Structure Course
ZHANG Cheng,HE Yi,XIAO Jian-liang
(City Institute,Dalian University ofTechnology,Dalian 116600)
Data Structure course is a core course of Computer Science and its experiment teaching is very important which can link the theory with practice and cultivate college students'practicalability and creativity in the whole teaching process.In order to improve the resultofthe experimentteaching,discusses the teaching contents,methods and evaluation of Data Structure course,and proposes some practicalmethods and suggestions.
Data Structure;ExperimentTeaching;Teaching Reform;Innovative Practice
大連理工大學城市學院教育教學研究基金(No.JXYJ2015006)
1007-1423(2017)30-0061-03
10.3969/j.issn.1007-1423.2017.30.013
2017-07-13
2017-09-25