【摘 要】本文針對《數(shù)據(jù)結(jié)構(gòu)》教學(xué)中存在的問題,提出了案例教學(xué)法,文中講解了案例選取、案例實施的相關(guān)問題。闡明了案例法與“問題式”教學(xué)法的關(guān)系。此方法提高了學(xué)生學(xué)習(xí)的自主性、研究性和探索性。
【關(guān)鍵字】數(shù)據(jù)結(jié)構(gòu);案例教學(xué)法;問題式教學(xué);教學(xué)效果
《數(shù)據(jù)結(jié)構(gòu)》課程是計算機應(yīng)用等相關(guān)專業(yè)一門重要的專業(yè)基礎(chǔ)課,研究各種抽象數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)、物理存儲結(jié)構(gòu)、相應(yīng)存儲結(jié)構(gòu)上的各種運算三個方面的內(nèi)容,在此基礎(chǔ)上研究相關(guān)問題的算法設(shè)計,課程涉及概念、算法都比較多,難度大。是學(xué)生感覺學(xué)習(xí)難度大的課程之一。
一、現(xiàn)階段教學(xué)存在的主要問題
(一)基礎(chǔ)技能不足
數(shù)據(jù)結(jié)構(gòu)算法的設(shè)計離不開程序設(shè)計語言,例如C語言程序設(shè)計是C語言版《數(shù)據(jù)結(jié)構(gòu)》課程的前導(dǎo)課。若沒有掌握好C語言中數(shù)組、結(jié)構(gòu)體、函數(shù)、指針等基礎(chǔ)知識,在后繼的學(xué)習(xí)中就會感到很茫然,逐漸喪失該課程學(xué)習(xí)的興趣和信心。
(二)“填鴨式”教學(xué)模式的弊端
教學(xué)中教師只注重教學(xué)大綱,對學(xué)生的實際情況缺乏了解,學(xué)生的接受能力、邏輯思維能力怎樣?學(xué)生的編寫和調(diào)試程序的能力又如何?“填鴨式”教學(xué)中都忽視了這些問題,學(xué)生在被動的接受中容易產(chǎn)生懷疑,畏難情緒,從而失去了學(xué)習(xí)的興趣和主動性,使得教學(xué)效果不如人意。
二、《數(shù)據(jù)結(jié)構(gòu)》課堂教學(xué)中應(yīng)用案例教學(xué)法
案例教學(xué)法具有較強溝通性、針對性、實踐性等特點?!稊?shù)據(jù)結(jié)構(gòu)》課堂教學(xué)中運用案例教學(xué)法,將理論知識融入案例之中,運用案例引導(dǎo)學(xué)生主動學(xué)習(xí),激發(fā)學(xué)習(xí)興趣。
(一)課前案例準(zhǔn)備
作為案例教學(xué)法的核心——案例必須是優(yōu)選的。好的案例對于學(xué)生掌握基本概念、基本知識,培養(yǎng)基本技能起到積極的推動作用。
1.案例的選擇首先要以教學(xué)目標(biāo)為依據(jù),它的難易程度要適合教學(xué)目標(biāo)。其次,所選的案例應(yīng)該是內(nèi)容完整的、典型的、與生產(chǎn)生活相聯(lián)系的案例。另外,所選的案例應(yīng)該盡量考慮貼近學(xué)生的興趣點。例如,在講解拓撲排序時,可以類比學(xué)生各學(xué)期課程安排,而且拓撲排序不只一種,也即各學(xué)期課程安排不是唯一的。
2.案例選定之后,教師還需仔細分析所選案例,得出諸如下面系列問題的答案:所選案例與授課有什么樣的內(nèi)在聯(lián)系?案例的提出與展開需要分成怎樣的邏輯序列?如何引導(dǎo)學(xué)生積極參與案例的討論?案例討論中可能會出現(xiàn)什么不同觀點?這些問題的解決應(yīng)該能把學(xué)生一步步地引入案例,從而對案例相關(guān)的教學(xué)內(nèi)容有較深入的理解與認識。
(二)課堂案例實施
案例實施的過程就是教師引導(dǎo)學(xué)生共同參與案例的討論、分析、表達等活動的過程。引導(dǎo)學(xué)生投入到在具體問題的情境中積極思考、努力探索,課堂案例實施時要注意深化下面兩個“結(jié)合”。
1.案例教學(xué)與理論教學(xué)相結(jié)合。
案例的分析是為了深化理論知識,提高學(xué)生的學(xué)習(xí)興趣。而理論的掌握又是為了實際中遇到的待解問題的求解,可見案例教學(xué)與理論教學(xué)緊密相關(guān),兩者相互補充、包容與促進。
例如在介紹隊列時,可以“排隊購票”作為案例,引入隊列的概念,分析隊列結(jié)構(gòu)的特點。把整個隊看作一個“隊列”結(jié)構(gòu),那么每一個人即為隊列的元素,可以發(fā)現(xiàn),最先進入隊的先得到購票的權(quán)利,而最后進入隊的是最后得到購票的權(quán)利。從而讓學(xué)生理解隊列與線性表的區(qū)別是操作受到一定的限制,隊列的的基本操作入隊、出隊的特點及方法,以及先進先出的特征。
又如在講授順序表及鏈表的存儲特點時可以設(shè)計這樣的案例:全班的學(xué)生作為線性表的元素,教室中的桌凳即為存儲空間,把桌凳按一條龍編號,讓學(xué)生按學(xué)號對應(yīng)座位號入座即為順序存儲,讓學(xué)生拉起手來隨便坐即為鏈?zhǔn)酱鎯Y(jié)構(gòu)。從而讓學(xué)生理解順序存儲和鏈?zhǔn)酱鎯Φ奶攸c,插入刪除操作的方法及其時間復(fù)雜度等問題。
2.案例教學(xué)與“問題式”教學(xué)相輔相成。
現(xiàn)代教育思想強調(diào)教育的主要目的是培養(yǎng)學(xué)生發(fā)現(xiàn)問題、分析問題、解決問題的能力,而“問題式”教學(xué)法也正是圍繞問題而進行的發(fā)現(xiàn)、分析和解決的過程。 在問題的解決中學(xué)生的學(xué)習(xí)興趣得到了強化,學(xué)習(xí)的主觀能動性得到了調(diào)動,學(xué)生的素質(zhì)得到了提高,從而對學(xué)生的創(chuàng)新能力的培養(yǎng)起到了積極的作用。
在案例教學(xué)過程中結(jié)合“問題式”教學(xué),針對案例設(shè)計一系列適當(dāng)?shù)膯栴},通過問題的提出,討論,解決來展開案例,調(diào)動學(xué)生自覺思考問題、主動探索問題解決途徑。案例中問題的設(shè)計與組織是一個關(guān)鍵的問題。應(yīng)該針對不同的目的、多種層次來設(shè)計和組織,例如教師可以采用自問自答的方式來提出問題或引入內(nèi)容,盡量避免交待式的講解;還可以采用提出判斷問題、要求學(xué)生做答來展開問題,這樣的方式可以吸引學(xué)生注意力,調(diào)動學(xué)習(xí)積極性。
例如在講解圖的最短路徑問題時,可以設(shè)計如下問題:1)你是如何衡量最佳旅游線路的?2)你是如何找出到達n個城市的最佳旅游線路的?3)計算機怎么能計算出這個路徑呢?對于這幾個層次的問題的思考和回答使學(xué)生對圖的最短路徑問題的理解逐步深入。
(三)課后案例回顧
課堂案例法運用能夠幫助學(xué)生理清知識點之間的關(guān)系、理解各種數(shù)據(jù)結(jié)構(gòu)的特點及算法的基本應(yīng)用形式。但是課下進一步的探討和交流才可以促進知識內(nèi)化提升為能力。老師要提出一些開放性問題供學(xué)生課下探討交流、查閱資料、拓展學(xué)科視野。例如棧結(jié)構(gòu)的課后問題就可以是迷宮問題求解、不同進制數(shù)的轉(zhuǎn)換、表達式求值等問題。還可以讓學(xué)生進一步深入分析程序中遞歸調(diào)用的工作原理。這些問題有助于學(xué)生深入理解棧結(jié)構(gòu)概念,提高學(xué)生理解能力與應(yīng)用能力。
三、結(jié)束語
《數(shù)據(jù)結(jié)構(gòu)》教學(xué)中應(yīng)用案例法,克服了重理論輕實踐、學(xué)生被動接受的弊端。授課中通過案例的引入,引導(dǎo)學(xué)生自己去分析、思考、討論并動手實踐。不僅教給學(xué)生知識,更教會了學(xué)生怎樣學(xué)習(xí),提高了學(xué)生學(xué)習(xí)的自主性、研究性和探索性。
參考文獻:
[1]嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(c語言版)[M].北京:清華大學(xué)出版社.1997.
[2]郝宗波.數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革探討[J].計算機教育,2011(2).
[3]楊桂芝.數(shù)據(jù)結(jié)構(gòu)”教學(xué)方法探索與實踐[J]. 計算機教育,2007(6):7-9.
基金項目:山西工商學(xué)院科研基金資助項目 “《數(shù)據(jù)結(jié)構(gòu)》優(yōu)秀課程建設(shè)方案的研究與實踐”項目編號: 201303