摘要:生動有趣的課堂教學是吸引學生上好課程的第一步。本文介紹了在數據結構課上進行有效的課堂教學組織和課程內容編排,并通過開展有趣的游戲、與實際應用相結合等手段,使數據結構課堂教學活躍起來的具體做法。
關鍵詞:數據結構課堂教學;有趣的游戲;擴大知識面;突出實用性
數據結構是計算機及相關專業的專業基礎課程,了解數據結構的基本概念、基本結構和基本算法是提高計算機程序設計能力和軟件系統設計能力的必要條件。然而,數據結構課程比較抽象,對邏輯思維能力要求較高,學生普遍感到比較難學。要提高學生的學習興趣,取得良好的教學效果,課堂教學、實驗教學、課程設計等各個環節缺一不可,而生動有趣的課堂教學就是吸引學生的第一步。
筆者在課堂教學內容的編排上注意由淺入深、算法分析與實例演示相結合,使學生能直觀地看到算法的作用以及不同算法的優缺點。在教學手段上,一方面采用現代多媒體教學來加大信息量、進行直觀演示,同時也充分發揮傳統板書在邏輯推理、演算分析方面的長處,二者的完美結合使得數據結構這樣一門比較抽象的課程變得不再是那么深奧難懂了,而要使它真正變得生動有趣,還得在其他方面多下功夫。
上好第一堂課
第一印象非常重要,不僅要讓學生喜歡教師本人,更要讓他們對數據結構這門課程產生濃厚的興趣。第一次課的教學目標就是要明確:什么是數據結構、為什么要學習數據結構。開學之初,學生大多還沉浸在寒假的狀態中,筆者即以此為切入點引入邏輯結構的概念:大街上熙熙攘攘的人群是“集合”、火車站買票的長龍是“線性結構”、四世同堂的大家族是“樹型結構”、長沙一日游線路是“圖結構”。師生一起回味著假日的生活:步行街的熱鬧、買車票的艱辛、大團圓的喜悅、古長沙的變遷,一下了拉近了課程與生活的距離。
有趣的游戲
互動和參與是活躍課堂的靈丹妙藥,而學生自己從游戲中推導出的結論也更易于理解和記憶。在講到棧結構的時候,教學游戲是這樣進行的:
教師:“請坐在靠墻長椅上的四位同學站到過道中來”。
學生:很自然地按先外后里的次序魚貫而出。
教師:“謝謝你們的合作,請回到各自的座位上去。”
學生:按剛才出來時相反的次序魚貫而入。
教師:“請最外面的同學出來好嗎?”
學生:很輕松地完成。
教師:“現在請最里面的同學出來。”
學生:面面相覷,最后里面的男生從桌子上爬了出來,全場大笑。
此時,再請學生一起來分析棧結構的特點,很自然地得出“先進后出,插入和刪除只能在棧頂進行”的結論。
將游戲與學生的熱門話題結合起來,更能引起學生的共鳴。如鏈結構的游戲就按當時正在熱播的電視劇《暗算——捕風》的劇情來設計。請幾位學生分別扮演地下工作者毒蛇、小馬駒、耗子、警犬、白兔,演繹單線聯系傳遞情報的流程,這不僅使學生對鏈結構“邏輯上相鄰的記錄不一定相鄰存儲”的特性有了深刻的認識,在學習鏈表的插入、刪除時也更容易理解了。
類似的小游戲也可用于冒泡排序等內容的教學。筆者總是將游戲設計得短小精悍,有代表性,以集中體現教學內容的核心思想,如此便收到了事半功倍的效果。
擴大知識面
學無止境,充滿求知欲的學生總是想從教師那里學到課程以外的更多知識。如果教師能結合課程教學旁征博引,不僅能擴大學生的知識面,提高學習興趣,還能贏得學生的尊重與愛戴。例如,上第一堂課時,我通過長沙一日游的線路引出邏輯結構中的圖結構:先畫出幾個主要景點的方位圖,其間有四通八達的道路;再循著三國時關公戰長沙的足跡,沿著魏延刺韓玄的路徑,開始了圖上旅行。想當年韓玄狼狽逃竄,兩次脫靴故布疑陣,卻都被魏延識破,最終難逃一死,這一幕幕場景仿佛在眼前閃過,回頭再來看那些原本連許多老長沙也不明就里的地名,什么“南倒脫靴”、“西倒脫靴”、“賜閑(刺韓)湖”,竟一下子變得活生生的了。可是要游遍圖中所有的景點,該如何選擇最優線路呢?這些懸念極大地引發了學生的興趣,也明確了數據結構課程的學習目的,為后面的學習奠定了堅實的基礎。后來有學生把這些故事寫進了名為《長沙印象》的文章,發表在校刊上,引得更多學生關注古長沙的人文歷史,令筆者十分欣慰。又如,在講到“權”的概念時,筆者不是簡單地照搬教材上的解釋“給樹的每個結點賦予一個具有某種實際意義的實數”,而是從漢語中“權”的原意“砝碼、秤錘”說起,引出權衡、權力等含義,然后繪聲繪色地說起了楚漢戰爭的故事。當時劉邦與項羽在鴻溝對峙,相持不下,而手握重兵的大將軍韓信的立場就起了決定性的作用。項羽的說客武涉為韓信分析天下形勢,說道“當今二王之事,權在足下,足下右投則漢王勝,左投則項王勝”。韓信感念劉邦的知遇之恩,沒有聽從謀士蒯通“自立為王”的建議,而是選擇了出兵助劉,這才有了歷史上著名的“十面埋伏”、“垓下之圍”,不可一世的西楚霸王自刎烏江,令人扼腕長嘆的故事。一句“權在足下”,不僅讓學生深刻領會到了“權”的實質,甚至還引得幾位學生讀了《史記·淮陰侯列傳》。
突出實用性
無論學習哪門課程,學生最喜歡問的莫過于“為什么要學?學了有什么用?”對于數據結構這樣一門理論性很強、比較抽象的課程來說,一定要在突出實用性上下功夫,才能讓學生明確學習的目標。圖的概念和術語抽象又復雜,干巴巴地講解只能讓學生一頭霧水,失去興趣。筆者是以圖結構的實際應用為出發點,采取逐步擴展的方式介紹圖的相關概念。
“世界杯就要開賽了,每小組四個隊打單循環,每個隊要打幾場?A組共有多少場比賽?作為賽事主辦方,你該怎樣來安排A組的比賽日程?”學生們七嘴八舌地議論起來,有的說共12場,有的說共6場,有的越想越糊涂。這時筆者畫出了一張有四個頂點的無向完全圖,結果一目了然,抽象的概念頓時轉變成了實用的利器。
如果中國隊打贏了,在圖上如何體現呢?很簡單,邊上加個箭頭,指向勝利者。”于是,無向圖變成了有向圖,頂點的出度、入度、度的概念也就分別變成了球隊輸、贏和總的比賽場次了。
“可是足球小組賽不一定能分出勝負呀,積分能在圖中體現出來嗎?能!得分就是邊的權。”前面的無向完全圖被改造成了帶權的有向完全圖,通過弧頭對應的權就可以輕松地計算出球隊的得分。
“進入十六強之后的淘汰賽用什么表示?”這個問題對于一個個已經儼然成了世界杯主辦者的學生來說簡直太容易了,大家異口同聲地回答“樹”!此時還有誰會覺得數據結構是一門沒有實用價值的課程呢?這時再趁熱打鐵地把世界杯賽程設計作為課程設計的內容布置下去,讓學生帶著目標學習,并且及早著手準備,保證了課程設計的圓滿完成。
以上只是筆者在教學實踐中的一點心得體會。要使數據結構的課堂教學更加生動有趣,還需要教師與學生共同努力,一起探討,開發出更多更好的教學方法。此外,還需通過加強與完善實驗教學、課程設計使數據結構真正成為一門廣受歡迎的專業基礎課程。
參考文獻:
[1]名人與街道[OL].http://www.dmw.gov.cn/newslist.asp?id=487.
[2]曲建元,劉元紅,鄭陶然.數據結構(C語言)[M].北京:清華大學出版社,2005.
[3]司馬遷.史記[M].西安:三秦出版社,1999.
作者簡介:
張群哲(1970—),女,碩士,湖南科技職業學院,講師,研究方向為軟件技術。