摘 要: 《數據結構》是計算機專業一門重要的基礎課,其理論性強,概念多,具有相當的難度和抽象性,而非計算機專業學生學習《數據結構》又有一些特殊的困難,傳統的授課方式會影響教學效果。在授課過程中引入相關案例可以將實際與理論知識相結合,避免以抽象概念來描述數據結構及其算法,可以降低知識點難度,提高學生學習興趣。
關鍵詞: 非計算機專業 《數據結構》 案例教學法
一、引言
《數據結構》課程是計算機相關專業的一門核心基礎課程,具有內容廣、概念多、專業性、理論性強、具有很強的抽象性等特點。即使對于計算機專業而言,也是一門公認難學難教的課程。近年來,由于專業需求,一些非計算機專業也相繼開設《數據結構》課程,目標為提高學生對數據的分析、組織、處理能力,培養學生的程序設計能力。以往針對《數據結構》課程的教學研究主要針對計算機及其相關專業展開,針對非計算機專業則相對較少。而非計算機專業學生由于程序設計基礎較差,課時較少,學習起來難度更大。
在非計算機專業《數據結構》課程中引入案例教學法,把傳統的教學方法與案例教學相結合,避免以抽象概念來描述數據結構及其算法,降低知識點本身的難度,可以很好地調動學生學習的積極性,從而達到提高教學質量的目的。
二、非計算機專業《數據結構》教學的現狀及存在問題
1.學生學習基礎掌握不牢
程序設計基礎是《數據結構》的先導課程之一,學生對其掌握程度直接關系到《數據結構》課程的教學效果。大多數高校開設的都是《C語言程序設計》,非計算機專業的學生由于專業安排,《C語言程序設計》課程的課時較少,學習的內容也較淺,學習的重點是基礎知識和幾種程序結構,而對《數據結構》課程中頻繁用到的函數、遞歸、指針、結構體5bI8p9q0Jr0V4pSnWZCvvQ==等知識學習較少、理解較淺,這使得教師的教學難度加大,也極大地阻礙了學生對各種數據結構和算法等知識點的理解和應用,從而失去了對《數據結構》課程學習的興趣。
2.課時不足
非計算機專業通常將《數據結構》作為主要選修課而非專業基礎課開設,無論是理論授課還是實驗課時,都相對較少。這使得教師為了趕進度,沒有辦法將相關知識點深入闡述、幫助學生加深理解,而只能是蜻蜓點水般地作簡單介紹。
3.教材內容過于抽象
《數據結構》現有教材大多是針對計算機專業而編寫,使非計算機專業學生常覺得教材內容多,偏重理論,缺乏生動有趣、通俗易懂的案例,而老師在教學過程中主要注重理論講解,與現實應用聯系較少,不能很好地把理論與現實應用聯系起來,導致學生認為該課程枯燥難懂,不能激起學生學習的興趣[1][2]。
另外,大部分教材使用類C語言或偽碼編寫算法,不能夠直接上機使用,需要另行編寫調試C程序,這對非計算機專業學生而言進一步加大了其學習的難度,加劇了畏懼情緒,學習興趣也進一步降低。
三、在《數據結構》課程教學中應用案例教學法
所謂案例教學法,就是教師根據教學目的和教學內容的需要,運用典型案例,創設情境,讓學生進入角色,積極思考主動探索,以提高他們運用所學知識分析、解決問題能力的一種教學方法[3]。
在《數據結構》課程的教學過程中,我們發現,學生剛接觸該課程時感覺很難,雖然在態度上對之很重視,但學習起來覺得很茫然;當課程逐漸深入時,因其理論性強和抽象性,會慢慢失去學習的興趣。
為了防止學生的學習興趣喪失,老師在課堂教學中,需注意理論聯系實際,根據教學內容設計一些生動易懂的案例,將相關的知識點用一個一個案例來概括,把一些枯燥的理論知識融合在具體的案例中,并盡量貼近現實生活,這樣可以讓學生了解所學的知識在現實生活中的具體應用,以激發學生的學習興趣。
在設計案例時需要注意:一要根據教學內容選擇案例,案例中應該涉及學生已學過的或即將學到的知識;二要根據非計算機專業學生的特點,盡量選取最基礎、最本質的東西作為教學內容。
比如在講解線性表時,可以編寫一個“學生基本信息管理系統”作為案例,詳細講解在這個系統中所有學生都是一種線性關系,而建立這個“學生基本信息管理系統”的基本操作:新建、錄入、插入、刪除、修改、輸出學生信息等,以及諸如按姓名查找、按成績排序等都是講解線性表的基本內容。而在上機實踐課上,當這個真實生活中的案例在計算機上實現時,會給學生帶來很大的成就感,進一步激發學生學習的興趣:原來學習數據結構有這么大的用處。
在介紹棧時,可以“玻璃杯與兵乓球”的游戲作為案例,引入棧的概念,分析棧的特點。乒乓球的直徑和玻璃杯口的直徑一致,可以把玻璃杯看做棧,把乒乓球看做是棧中的元素,可以連續向空的玻璃杯中放入多個乒乓球,但如果要取出乒乓球,最先取出的是最上面的乒乓球,最后取出的是最下面(最先放入)的乒乓球,從而讓學生理解棧是一種操作受限的線性表、進棧和出棧操作,以及棧的后進先出的特點。然后進一步介紹棧在現實生活中的應用:火車的調度。
在介紹隊列時,可以以現實生活的“排隊等待”為案例,引入隊列的概念及特點。
再例如在介紹樹時,可以“家譜”作為案例,讓學生理解層次結構的特點。
在講解圖結構時,可以一個“校園導游咨詢”作為圖結構的驅動案例。首先,設計校園的各個地點,由此引出圖及其相關概念;其次需要為學生提供校園中任意地點的位置、簡介、開放時間等的查詢,由此引出圖的遍歷;最后提供圖中任意地點的路徑查詢,從某地點到達另外地點的路徑查詢,引出最短路徑及最小生成樹等概念。
而在講解查找時,可以圖書館查閱書籍的方法為案例,使學生掌握不同的查找方法,并主動比較其性能[4]。
四、結語
在非計算機專業《數據結構》教學中,通過一系列案例的分析和討論,學生學習到的就不再是枯燥乏味的理論知識,而是一個一個在現實生活中會遇到的實際問題。這樣可以很好地將理論和實際結合起來,而學生在上機實驗完成程序后,當枯燥的算法變為生動的實例后,會非常有成就感,促使他們有更大的興趣去學習新的知識[5]。
參考文獻:
[1]呂璐等.《數據結構》課程教學方法探討[J].黃石理工學院學報,2008-12-15.
[2]鄧立苗等.新的教學環境下《數據結構》教學方法的探討[J].電腦學習,2009-04-01.
[3]董黎明.關于案例教學的思考[J].武警學院學報,2003-08-25.
[4]吳聰聰等。案例驅動法在《數據結構》教學中的應用[J].電腦知識與技術,2010-9-26.
[5]董黎明.關于案例教學的思考[J].武警學院學報,2003-08-2