程波 熊江

摘要:本文以重慶三峽學院在基于C語言數(shù)據(jù)結構課程教學改革中的探索和實踐為例,介紹了面向應用型本科院校的數(shù)據(jù)結構課程教學存在的問題,提出了一系列教學方法改進策略。通過多年教學實踐表明,這些舉措在培養(yǎng)學生分析解決問題的能力和增強學生實際應用及操作能力方面,取得了良好的教學效果。
關鍵詞:應用型本科;數(shù)據(jù)結構;教學方法;教學改革
中圖分類號:G642.41 ? ? 文獻標志碼:A ? ? 文章編號:1674-9324(2015)35-0159-02
數(shù)據(jù)結構是一門理論性、實踐性并重的計算機專業(yè)核心基礎課程,在計算機課程體系中處于承上啟下的地位[1]。圖1展示了數(shù)據(jù)結構與計算機其他課程的關系,以及在計算機課程體系中的地位。通過數(shù)據(jù)結構這一門課程,一方面培養(yǎng)學生算法設計基本能力,另一方面是要重點培養(yǎng)學生養(yǎng)成按照計算機思維方式分析問題,解決問題,為培養(yǎng)軟件開發(fā)綜合能力打好基礎。由于應用型本科院校的特殊性,培養(yǎng)學生應用、實踐能力是本科教學的目標,如果單純采用傳統(tǒng)課堂教學方式,很難培養(yǎng)學生的這些能力。又加之數(shù)據(jù)結構課程內容本身晦澀難懂,課堂教學效果往往不盡人意,學生也不易理解大多數(shù)算法原理,長此以往,學生逐漸失去學習興趣[2]。因此,本文針對應用型本科院校的特殊性,尋找當前數(shù)據(jù)結構教學方法的缺陷,探索一種理論實踐相結合的,培養(yǎng)學生算法分析設計能力的教學方法。
一、數(shù)據(jù)結構課程教學中存在的問題
數(shù)據(jù)結構課程是計算機科學與技術、軟件工程、互聯(lián)網(wǎng)工程、信息管理與信息系統(tǒng)等專業(yè)的核心課程,很多院校都把它作為專業(yè)必修課。在實際教學過程中,由于該課程的理論抽象、復雜,學生動手編寫算法能力不足,傳統(tǒng)的教學方法已經(jīng)不能適應于應用型人才的培養(yǎng)目標[3]。具體來講,當前數(shù)據(jù)結構課程教學中存在以下幾個方面的問題。
1.學生對學習數(shù)據(jù)結構所需的預備知識掌握不牢。其中,C語言程序設計是數(shù)據(jù)結構重要的先修課程之一。然而,經(jīng)過多年的教學實際情況表明,大多數(shù)學生的C語言學習效果不佳。主要體現(xiàn)在數(shù)據(jù)結構中,從線性表開始,都會廣泛使用結構體這一數(shù)據(jù)類型,而結構體在C語言的教學中,很多教材往往出現(xiàn)在最后的幾個章節(jié),多數(shù)老師也不會重點講解這一部分內容,也有的老師根本不講。此外,C語言中函數(shù)和指針方面的知識,掌握情況也很差。因此,這些先導知識與技能的儲備不足,直接導致大多數(shù)學生一開始接觸數(shù)據(jù)結構就迷惑,從而失去學習動力。
2.單一的課堂理論教學不能充分培養(yǎng)學生的算法分析、設計能力。由于數(shù)據(jù)結構很多算法理論性較強,單一的課堂教學,無法使學生理解這些算法的實際用途和理論來源。此外,大多數(shù)學生靈活應用C語言能力不足,不能將C語言的知識儲備轉化為數(shù)據(jù)結構算法分析、設計的基礎能力。
3.實踐能力欠缺,傳統(tǒng)只注重理論教學,實驗課程安排課時比例偏小。加之,理論教學無法充分展現(xiàn)數(shù)據(jù)模型的內在聯(lián)系,學生無法理解數(shù)據(jù)之間的各種關系。上機編寫算法能力很差,也無法體會數(shù)據(jù)結構的實際應用價值,失去學習興趣。
4.當前大多數(shù)教材偏重數(shù)據(jù)結構算法模型的講解,沒有強調面向實際應用的價值性。面向應用型本科院校強調“學以致用”,編寫實用性、趣味性的數(shù)據(jù)結構實驗教材勢在必行。
二、案例教學法用于理論課程教學
在經(jīng)濟、管理等學科教學中,案例教學法是普遍采用的有效教學方法。合理的、趣味性強的案例應用于理論教學中,十分有助于學生理解抽象復雜的理論知識,也很容易激發(fā)學生的學習興趣。因此,可以嘗試將案例教學法引入數(shù)據(jù)結構的課堂理論教學中,改善現(xiàn)有教學方式,提高課堂理論教學的趣味性。但是,如何尋找合理的、趣味性強的案例是案例教學的首要問題。此外,如何有效利用這些案例,是改進數(shù)據(jù)結構教學效果的關鍵因素。
數(shù)據(jù)結構的基本概念和算法是很抽象的,對于在校的大學生,他們從未從事過軟件開發(fā)等相關工作,結合案例,將抽象的概念實例化,為進一步理解算法打好基礎。通過案例提供的情境,學生們可以從中體會數(shù)據(jù)之間的復雜關系,促進學生思考算法的應用性。此外,針對各個算法,開發(fā)生動、直觀的教學動畫課件,能有效幫助學生理解抽象的算法過程。動畫模擬真實場景的案例,引起了學生的關注,培養(yǎng)了學習興趣,增強了數(shù)據(jù)結構理論教學的趣味性。
將案例分析同課堂討論式教學相結合,是提高學習效果的一種重要手段。對一些重要的、較復雜的算法模型,尋找一些趣味性的案例,采用提問式教學,結合動畫課件教學。在課堂教學中,把學生分成若干小組,組織學生去分小組討論算法的難點,尋找算法在實際應用中的真實案例,結合這些案例分析理解這些算法,并做好報告。這種啟發(fā)式教學,能提高學生學習的主動性和參與性。在這個過程中,教師積極引導,對算法講解深入淺出,培養(yǎng)學生學以致用、從生活中學習知識的能力。
因此,將案例教學法引入數(shù)據(jù)結構的課堂教學是提高學生理解、分析算法,培養(yǎng)學習興趣的有效途徑。
三、項目驅動式教學用于實驗課程教學
項目驅動式教學法是一種行為引導式的教學形式[4],被廣泛應用于計算機課程教學中,特別是軟件工程等課程。該教學方法是強調教學過程以學生的實際完成項目情況為考核目標,教師輔助引導學生完成項目,最后評判項目。通過分組做項目,驅動學生應用理論知識解決實際問題,同時加深學生理解算法,發(fā)現(xiàn)算法的優(yōu)缺點,思考算法改進的途徑。
數(shù)據(jù)結構是一門應用性很強的課程,除了課堂理論教學之外,實驗教學也很重要[5]。課程開課前,便從網(wǎng)上和熟悉的企業(yè)中廣泛收集該課程的相關項目。對于這些項目,應該要把握難易程度。在上完數(shù)據(jù)結構緒論章節(jié)后,把這些項目公布出來,供學生分小組選擇,這樣可以培養(yǎng)學生的團隊合作意識,根據(jù)自己的能力選擇合適的項目。如果提供的項目列表中,沒有合適的項目,要引導學生尋找自己合適的、感興趣的項目。如果多個組選擇了同一個項目,教師可以組織一個項目競標會,通過比較評分決定項目歸屬權。接下來,在教學過程中,結合項目需求進行重點、難點知識的講解。遇到有爭議的問題,結合本組的項目,大家通過課堂討論解決問題。臨近期末時,組織學生相互驗收對方的項目,同時還組織老師團隊驗收項目,把教師和學生驗收情況進行對比,讓學生發(fā)現(xiàn)自己項目的問題,對于獲得優(yōu)秀評價的項目要給予獎勵。
項目驅動式教學做到了以學生為中心,教師只是提供必要的理論、技術指導,實現(xiàn)了一切以學生為主的教學理念[6]。
四、編寫面向應用型本科的數(shù)據(jù)結構教材
當前,大多數(shù)數(shù)據(jù)結構教材都以理論闡述為主,缺少應用性的內容。結合現(xiàn)有優(yōu)秀數(shù)據(jù)結構理論教材,加入相應的案例引導,編寫生動、直觀的動畫課件,使枯燥、難懂的數(shù)據(jù)結構教材變得生動有趣。對于一些特殊算法,可以加入游戲等內容,幫助學生理解算法。比如,“棧與隊列”章節(jié)中,把一些游戲算法作為引導案例,對于學生理解棧與隊列的基本概念和算法大有裨益。此外,在數(shù)據(jù)結構第一章,應該增加該課程預備知識的內容,主要包含結構體的概念與編程實例、指針、函數(shù)等相關內容,同時還可以增加一些算法在實際應用中的案例等內容。總之,針對面向應用型本科院校的教學要求,使數(shù)據(jù)結構教材更加淺顯易懂、趣味生動,使學生通過教材可以自學數(shù)據(jù)結構,增加學習興趣。
五、結論
總而言之,針對面向應用型本科院校的數(shù)據(jù)結構課程教學,我們要進一步強化學生的算法設計預備基礎知識,編寫合適的教材。在課堂理論教學過程中增加趣味性案例教學內容,積極探索合適的理論教學方法,培養(yǎng)學生對數(shù)據(jù)結構算法的分析、理解能力,開發(fā)學生算法設計能力。對于實驗教學,也加大投入力度,以項目驅動方式改進傳統(tǒng)的實驗教學方法。另外,數(shù)據(jù)結構課程的教學方法隨著社會的需求改變而不斷變革。信息技術迅速發(fā)展,課程也需要及時調整,將最新科研成果融入到課程教學過程中,以開拓學生的視野。
參考文獻:
[1]范莉麗,彭濤.基于C語言的數(shù)據(jù)結構教學技巧[J].計算機教育,2011,(18):61-64.
[2]董麗薇.“數(shù)據(jù)結構”課程教學方法的改進[J].沈陽師范大學學報(自然科學版),2012,(30):307-309.
[3]萬書振.多聯(lián)動教學法在數(shù)據(jù)結構教學中的應用[J].計算機教育,2014,(23):76-79.
[4]王樹鋒,曹寶香.以實驗教學深化理論教學的數(shù)據(jù)結構教學新模式[J].計算機教育,2014,(10):97-100.
[5]呂亞榮,繆相林.數(shù)據(jù)結構與算法實驗教學的改革與探索[J].教育教學論壇,2014,(18):28-29.
[6]孫玉霞,李國屏,夏端峰.《數(shù)據(jù)結構》教學初探[J].福建電腦,2011,(2):208-209.