王賀 張秀梅


摘? 要:緊緊圍繞國家關于實施創新驅動發展的重大戰略部署,為了有效地促進學校的創新創業訓練計劃,針對數據結構課程原有教學模式存在的不足,對授課內容和方式進行改革,采用案例導學的討論模式進行教學。案例在精而不在多,適當的案例不僅可以強化學生對基礎理論知識的掌握,而且能幫助學生更好地理解相關知識,并使他們積極思考。通過案例的學習提高學生分析問題、解決問題的能力,提高自主學習的能力,增強學習的自信心。有趣案例導學的方式也調動了學生的創新思維能力,對提高教學質量有一定的促進作用。
關鍵詞:數據結構? 案例導學? 教學模式? 案例設計
中圖分類號:G434? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1672-3791(2019)04(a)-0104-03
教學是由教與學兩方面構成,高效的教學需要師生雙方的互動,導學既有教師的指導也有學生的自學,其實現了學生為主體,教師為主導的課堂。張楚庭先生曾談到:“教學,從根本上說,是思考著的教學引導著學生思考,又讓思考著的學生促動教師思考。”而案例導學可以使枯燥乏味的課堂教學變成生動活潑、氣氛融洽的課堂。“案例導學”是以學生認知發展的基本規律為依據的教學策略——知識建構的過程實質是問題解決的認知過程,學生在學習中做出正確的問題導向,形成問題意識,并養成自主思考和分析問題、解決問題、發現問題的能力,如此的建構才是有意義的知識建構過程,這樣的教學才是有助學生發展的高效教學[1-4]。同時,“案例導學”能較好地激發出學生的學習興趣,降低學習難度。
1? 數據結構教學現狀與分析
目前,大多數學生剛從繁重的高中課業中解脫出來,進入到相對輕松的大學來學習,有的學生認為自己應該放松一下,有的學生學習態度、學習方法和學習能力都存在很大問題,針對多信息的課堂教學內容很難掌控,對于抽象性強的數據結構這門課的學習更是有一定難度。對于簡單的問題可以寫寫代碼應付過去,可是對于稍復雜一些的問題經常無從下手,沒有任何思路。課堂教學中主要問題表現在以下幾方面。
(1)課堂缺乏活力:部分學生上課缺少主動性,教師作為主角,一直在不停地講授內容,沒有學生的積極參與,致使教師缺乏課堂教學激情,課堂教學過程中氣氛沉悶,師生之間沒有互動的交流。
(2)教學目標不明確:課堂教學一般沒有目標,授課內容面面俱到,缺少一定的層次,沒有根據學生的實際情況有側重地去講解。
(3)缺乏真正的教學反饋環節:學生的學習只為了通過考試,學習興趣不高,主動學習數據結構的同學非常少,數據結構算法設計的教學意義沒有體現出來,學生創新能力的培養更無從談起。
2? 案例導學教學模式的實踐
為了適應學校對軟件工程專業“卓越工程師的培養方案”,努力為提高學生的創新創業思維的培養提供一定的平臺,在數據結構的課堂教學中以具體的案例分析作為線索,引導學生主動去探索,循序漸進地培養學生的學習興趣,提高對數據結構學習的認知。
2.1 選擇案例的原則
案例是課堂導學的核心,選定合適的案例是一項重要的工作,而案例的選編是一項重要的工作,案例的選編遵循如下原則。
(1)案例要結合實際的教學內容,是對授課內容的拓展和延伸。(2)案例要考慮學生的個體差異,學生可以逐步深入進行研究和實現。(3)案例要難易適當、簡繁相宜,做到將先驗知識和新知識的融合。
2.2 案例導學的實施
實際教學中將案例設計為3種:
第一種:課堂引用案例設計,以教師講授為主,重在知識聯系、分析過程及分析結論的講解,提高學生的理解能力。
第二種:課堂討論案例設計,以學生討論為主,教師引導為輔,重在應用,提高學生的應用分析能力。
第三種:課外實踐案例設計,以學生自我研究為主,重在應用,提高綜合能力。
下面給出基于上述案例導學的具體實施過程。
2.2.1 課堂引導案例
線性表是最基本的數據結構,課后的習題主要是在自身類的基礎上加上若干成員函數,大家比較熟悉的有:表的連接,表中元素的逆置,表中元素的劃分,或者用來存儲學生的基本信息,另外還有實現一元多項式的加法操作,通過從第一項的指數比較,如果相等則系數相加,指數不變,如果第一個多項式的第一項的指數小于第二個多項式的第一項,則讓第一個多項式向后移動,并進行存放,同理對其他項進行相同的操作。
鑒于此,提出如下問題。
假設現有砝碼3枚,質量分別為1g、2g和3g,問只用這些砝碼最多各一次你能稱出哪幾種質量的物體?而對各種質量確定的物體又有多少種不同的稱量方案?(一個熟悉的數學問題,提高學生的注意力)
首先,分析可能得到的稱重情況如表1所示。
其次,引導學生進一步分析如下。
(1)如果有1枚質量為K1的砝碼,稱量的實際質量可以為m={m1=0或m2=K1},每種質量的稱重方案數分別為P={P1=1,P2=1},觀察m和P之間的關系?
(2)如有兩枚質量分別為K1和K2的砝碼,并且K1≠K2,參照(1)可以稱重的質量4種:
①0+0=0
②K1+0=K1
③0+K2=K2
④K1+K2
(3)歸納總結。
對于(1)分析可表示為:1+xK1
對于(2)分析可表示為:(1+xK1)(1+xK2)= 1+xK1+xK2+xK1+K2
假設是n個這樣的砝碼可表示為:(1+xK1)(1+xK2)…(1+xKn)
最后,如何將現實討論的問題用計算機實現,利用目前的線性結構中單鏈表來存儲一元多項式的表示形式f(x)=a0+a1x+a2x2+…anxn。
2.2.2 課堂討論案例
課堂討論案例主要體現前后知識點的融合和貫通,一般是多個案例。
首先,介紹棧的相關操作時,給出案例“把十進制數轉換成二進制”,如何來進行轉換(口訣“除基取余倒排”),教師提出問題學生思考,注重解決問題的方法的指導,并鼓勵學生積極討論,發表不同的看法,發揮學生的主體作用。
其次,介紹隊列的相關操作時,給出案例“排序問題”,給定若干兩位的整形數據存儲在一維數組中,利用隊列來實現數據的排序。提示:(1)創建一個隊列數組,按照數據的個位數字放在相應的隊列中;(2)利用隊列的特性,將隊列中的數據出隊列重新放回一維數組中;(3)按照數據的十位數字存放在相應的隊列中;(4)將隊列中的元素出隊列得到有序序列。
最后,考慮棧、隊列結構與前面學過的線性表的區別,如何實現棧、隊列的存儲?繼而引出停車場管理的實際案例。有一個停放n輛車的狹長通道,并有一個大門可供進出。在停車場內,汽車按到達的先后次序,由內向外依次排列。若車場停滿n輛車,后來的在門道上停放,當有車開走,車場內該車輛后面的車先退出,然后再依次返回車場,便道上的車可以進入。讓學生編程模擬上述管理過程。
2.2.3 課外實踐案例
課外實踐案例設計應該注重綜合知識的運用。
數據結構課程中的線性結構、樹形結構、圖形結構了解之后,給出案例“教學計劃的安排問題”,某大一學生有8門學位課的學習,如圖1所示。
(1)可以得到一個有效拓撲序列為:
(2)解決方案提示:①在有向圖中以“入度為零”作為“沒有前驅”的量度;②算法中附設了“棧”,用于保存當前出現的入度為零的頂點;③“刪除頂點及以它為尾的弧”的這類操作可用“弧頭頂點的入度減1”的辦法來替代。
(3)更進一步地思考問題。
①如何得到全部可能的拓撲序列?(研究有向圖的鄰接表)
②能否進行學期的安排?(查閱相關文獻或書籍)
3? 結語
案例導學將抽象的理論知識與生活實踐相結合,學生主動學習與教師引導講解相結合,這不僅促動教師的專業研究,改變原有的教學方式,而且有效地監測到學生的自學過程,對學習方法也有一定的指導意義。這就好比實現了飛輪效應,為了靜止的飛輪轉動起來,一開始你必須使很大力,但一旦轉動起來,后續只要施加很小的力,它就會飛速地轉動。通過案例導學的教學實踐,大大提升了學生的學習興趣和創新能力。
參考文獻
[1] 崔秀萍.案例導學教學模式在環境學課程中的應用[J].內蒙古財經大學學報,2013(11):54-57.
[2] 郭文東.案例導學——自主探究教學模式的構建[J].湖北經濟學院學報:人文社會科學版,2008,5(11):139-140.
[3] 段群,田俊華.案例教學法在《數據結構》教學中的應用[J].陜西教育,2012(9):58.
[4] 張秀梅.《數據結構》課程教學改革探討[J].現代計算機,2013(10):47-49.
[5] 李曉鴻,駱嘉偉,季杰.“數據結構與算法分析”研究型實踐教學的探索[J].實驗室研究與探索,2012(31):121-126.
[6] 楊啟帆,李浙寧,王聚豐,等.數學建模案例集[M].北京:高等教育出版社,2006:1-10.
[7] 王曉明.基于學生自主和協作學習的數據結構實驗教學模式探索與實踐[J].教育實踐,2015(22):229-231.
[8] 陶影,張斌.數據結構實驗教學應重視算法設計與分析能力的培養[J].實驗室研究與探索,2008(12):119-122.