金 靜
摘要:“數(shù)據(jù)結(jié)構(gòu)”是信息類專業(yè)的核心基礎(chǔ)課,這門課程的掌握直接關(guān)系到學(xué)生后繼課程的學(xué)習(xí)。本文針對信息類專業(yè)的特點,分析了“數(shù)據(jù)結(jié)構(gòu)”課程的課堂教學(xué)與實驗教學(xué)中存在的問題,并進一步研究探討了教學(xué)方法改革和實踐的手段。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);課堂教學(xué);實驗教學(xué);教學(xué)策略
中圖分類號:G642 文獻標(biāo)識碼:A
1引言
近年來,隨著計算機技術(shù)應(yīng)用領(lǐng)域的不斷拓展,各高校也都致力于計算機交叉學(xué)科專業(yè)的建設(shè),信息管理、信息與計算科學(xué)以及地理信息系統(tǒng)等信息類新專業(yè)蓬勃發(fā)展?!皵?shù)據(jù)結(jié)構(gòu)”是計算機專業(yè)的一門核心基礎(chǔ)課程,由于各信息類專業(yè)與計算機技術(shù)有著密不可分的關(guān)系,因此在這些專業(yè)的本科培養(yǎng)計劃中,“數(shù)據(jù)結(jié)構(gòu)”仍是十分重要的專業(yè)必修課。
非計算機信息類專業(yè)的培養(yǎng)目標(biāo)、課時安排、學(xué)生基礎(chǔ)等具有自身的特點,這也使“數(shù)據(jù)結(jié)構(gòu)”教學(xué)面臨著新的問題。針對問題,筆者在近幾年信息類專業(yè)的“數(shù)據(jù)結(jié)構(gòu)”實際教學(xué)中,認(rèn)真研究了課堂策略并積極應(yīng)用到了具體的實踐中,取得了一定的效果。
2存在的問題
2.1課堂教學(xué)中的問題
(1) 學(xué)生有畏難心理
“數(shù)據(jù)結(jié)構(gòu)”主要研究非數(shù)值計算的程序設(shè)計問題中計算機的操作對象及其之間的關(guān)系,課程要采用高級語言作為算法描述和實現(xiàn)的工具。非計算機專業(yè)學(xué)生在大學(xué)一年級開設(shè)了程序設(shè)計基礎(chǔ)課程,近兩年我院開設(shè)的是“C++”。對大部分學(xué)生而言這是第一次接觸高級語言,加之這門公共基礎(chǔ)課課時分配較少,學(xué)生總體的掌握程度較差。“C++”中的函數(shù)、指針、類與對象等內(nèi)容更是學(xué)習(xí)中的薄弱環(huán)節(jié),而這部分知識卻是數(shù)據(jù)結(jié)構(gòu)中要頻繁用到的。因此,在以“C++”為工具的“數(shù)據(jù)結(jié)構(gòu)”教學(xué)中,學(xué)生打開課本看到大量用“C++”描述的算法,覺得十分繁瑣和復(fù)雜,必然會產(chǎn)生畏難情緒。
(2) 個別學(xué)生產(chǎn)生漠視情緒
“數(shù)據(jù)結(jié)構(gòu)”課程理論性較強,在學(xué)習(xí)中部分學(xué)生會產(chǎn)生“紙上談兵”的感覺,覺得學(xué)習(xí)這門課程沒有什么實用性。同時,個別非計算機專業(yè)學(xué)生還會覺得該課程和本專業(yè)關(guān)系不大,所以更容易對課程的學(xué)習(xí)提不起興趣,即產(chǎn)生漠視的情緒。
(3) 多媒體教學(xué)方式的利弊
“數(shù)據(jù)結(jié)構(gòu)”教學(xué)采用多媒體方式,具有生動形象,圖文并茂等優(yōu)點,但多媒體課件放映過程中信息量大、速度快,而學(xué)生的反應(yīng)能力和接受能力有限,這就很容易走入“填鴨式”教學(xué)的誤區(qū)。
2.2實驗教學(xué)中的問題
“數(shù)據(jù)結(jié)構(gòu)”的實驗教學(xué)是整個課程中十分重要的環(huán)節(jié)。目前數(shù)據(jù)結(jié)構(gòu)實驗教學(xué)中主要存在的問題有:
(1) 實驗課時不足
目前“數(shù)據(jù)結(jié)構(gòu)”的課內(nèi)上機和課堂教學(xué)時間分配是1∶3,為16學(xué)時。學(xué)生在上機課中完成作業(yè)的時間很不充裕,課外上機較難保證,因此很難達到實驗教學(xué)預(yù)期的效果和目的。
(2) 編程能力兩極分化
在實驗教學(xué)中學(xué)生的表現(xiàn)呈現(xiàn)出兩極分化的現(xiàn)象。通過觀察和了解,程序設(shè)計基礎(chǔ)較好或?qū)幊膛d趣濃厚的同學(xué),能夠完成實驗項目,寫出合格的實驗報告;而編程基礎(chǔ)較差的同學(xué),缺乏信心,上機時坐在計算機面前茫然無措,隨著課程學(xué)習(xí)的深入,形成了惡性循環(huán),進而影響到班級整體實驗教學(xué)的順利開展。
3改革措施
3.1重視前導(dǎo)課程相關(guān)內(nèi)容的復(fù)習(xí)
在“數(shù)據(jù)結(jié)構(gòu)”的第一講課中,不應(yīng)操之過急地直接進入課程第一章的講解,而應(yīng)對程序設(shè)計基礎(chǔ)中的指針、函數(shù)及類與對象等內(nèi)容進行歸納和復(fù)習(xí)。由于課程中基本的數(shù)據(jù)結(jié)構(gòu)都是用類模板來描述,因此對于類和對象這一部分更是要作為重點。同時,要求學(xué)生課后必須完成程序設(shè)計基礎(chǔ)課本中指定內(nèi)容的復(fù)習(xí)鞏固。第一次實驗的作業(yè)要求學(xué)生編寫兩個簡單的基于面向?qū)ο蟮男〕绦?目的在于復(fù)習(xí)如何定義類、如何用構(gòu)造和析構(gòu)等各種成員函數(shù)實現(xiàn)對數(shù)據(jù)成員的操作以及如何使用對象等。
實踐證明,學(xué)生通過對前導(dǎo)課程的學(xué)與練,通過上機成功調(diào)試面向?qū)ο蟮某绦蚝?在心理上首先放下了包袱,不再覺得類與對象等概念高不可攀。這也十分有助于教師對后期教學(xué)的深入展開。
3.2轉(zhuǎn)變教學(xué)模式,重視激發(fā)學(xué)生興趣
教學(xué)應(yīng)該是一個“教”與“學(xué)”同步進行的過程,在這個過程中學(xué)生才是主體。授課中如果教師只是滿足于自顧自地把內(nèi)容交代清楚,而不注意學(xué)生的接受程度,不營造生動的課堂氛圍,那么學(xué)生的學(xué)習(xí)行為只能是被動行為,更不可能成為課堂的主體,也就不可能達到理想的教學(xué)效果。
首先,在課堂教學(xué)中要精心組織課件。多媒體課件決不能是課本內(nèi)容的堆積,應(yīng)該將文本、圖片、聲音、動畫等合理地組織起來。例如在講解算法時,用動畫來演示算法的動態(tài)執(zhí)行過程,以增加課程的生動性,降低課程的難度。
其次,課堂講授應(yīng)符合學(xué)生的認(rèn)知規(guī)律。范例教學(xué)模式在“數(shù)據(jù)結(jié)構(gòu)”授課中就能發(fā)揮很大的優(yōu)勢:即用特例具體直觀地闡明“個體”的具體特征,根據(jù)范例“個體”的知識推論特點,分析掌握整個“類別”事物的特征,使對“個體”的認(rèn)識上升為對“類別”的認(rèn)識,從而掌握其規(guī)律和范疇。數(shù)據(jù)結(jié)構(gòu)中的主要算法和一些抽象的概念,可以盡量先從直觀意義或具體實例解釋著手,讓學(xué)生更容易理解。因此在教學(xué)過程中宜多畫圖、多舉例、多解釋。這種從特殊到一般,從具體到抽象的方法,適用于數(shù)據(jù)結(jié)構(gòu)中的很多內(nèi)容。例如:講解隊列的概念時,可通過日常生活中的購物排隊的過程來反映隊列中插入、刪除的原則,再結(jié)合計算機中的操作隊列、打印隊列的應(yīng)用來說明;對二叉樹的遍歷算法可通過一個特定的二叉樹的例子說明其遍歷思想,再推廣到一般的二叉樹。
再次,在課堂上要鼓勵學(xué)生大膽想象,勇于實踐。例如在講解起泡排序時,可以啟發(fā)學(xué)生思考:如果在排序中奇數(shù)趟排序從前向后、偶數(shù)趟排序從后向前兩兩比較相鄰記錄,算法的效率會如何變化?先讓學(xué)生進行幾分鐘的討論,然后可以總結(jié)分析:從兩端兩兩比較的起泡算法可稱為雙向起泡排序,它是對起泡排序的改進。然后,請學(xué)生編寫雙向起泡算法,并上機編程以和傳統(tǒng)起泡排序算法的效率進行比較。這樣,可以培養(yǎng)學(xué)生大膽想象、勇于實踐的創(chuàng)新精神,還可以調(diào)節(jié)課堂氣氛,利于師生交互,同時還能激發(fā)學(xué)生上機編程的熱情。
3.3循序漸進,精心設(shè)計組織實驗內(nèi)容
“數(shù)據(jù)結(jié)構(gòu)”課程中的實驗可分為三大類:驗證實驗、設(shè)計實驗和綜合實驗。驗證實驗是將教材中的重要數(shù)據(jù)結(jié)構(gòu)上機實現(xiàn);設(shè)計實驗是針對具體問題來應(yīng)用某個知識點,需要自己設(shè)計簡單的方案;綜合實驗是針對具體問題應(yīng)用某幾個知識點,需要設(shè)計總體方案。這三類實驗由易到難,由淺入深,構(gòu)成了完整的實驗教學(xué)體系。實驗的開展應(yīng)該以此為主線,循序漸進地進行。
在教學(xué)中,每學(xué)習(xí)完一種基本數(shù)據(jù)結(jié)構(gòu)后就要求學(xué)生完成相應(yīng)的驗證實驗,這樣不但能深化學(xué)生對課本知識的掌握和理解,還能培養(yǎng)調(diào)試和測試程序的能力。設(shè)計實驗和綜合實驗在某部分知識點學(xué)習(xí)完后進行,以鍛煉學(xué)生利用數(shù)據(jù)結(jié)構(gòu)解決具體問題的能力。實驗的內(nèi)容應(yīng)該和學(xué)生的專業(yè)相結(jié)合,并且選擇有趣味性的題目以激發(fā)學(xué)生的興趣。同時,結(jié)合非計算機專業(yè)學(xué)生的具體情況,設(shè)計實驗和綜合實驗選題難度不宜太大,綜合實驗若干周進行一次,以保證實驗的完成質(zhì)量。
例如,針對地理信息專業(yè)的學(xué)生,學(xué)習(xí)完線性表這一章后,首先要求上機建立順序表和單鏈表,并在其上逐一對插入、刪除等操作進行驗證。設(shè)計實驗要求學(xué)生編寫算法求解線性表中值最小的元素及其位置,然后上機在已建好的順序表和單鏈表上實現(xiàn)該算法。綜合實驗要求解決約瑟夫環(huán)問題。對于信計專業(yè)的學(xué)生可以適當(dāng)提高難度,例如設(shè)計實驗要求對建立好的單鏈表進行就地置逆。
3.4分組開展實驗,培養(yǎng)團隊協(xié)作精神
針對班級里實驗?zāi)芰蓸O分化的現(xiàn)象,可以組織學(xué)習(xí)小組來展開實驗。在第一、二次上機時教師可對班級學(xué)生的動手能力進行摸底,然后進行分組。每個小組由4~5人組成,組員能力的高低須呈階梯狀。對于驗證實驗和設(shè)計實驗,要求每組的每個人都要完成并提交源代碼,但允許同組的同學(xué)互相溝通、互相幫助。綜合實驗以小組為單位組員,通過互相協(xié)作來完成,每個小組最終提交一份源代碼即可,但每個人必須總結(jié)整理出獨立的實驗報告。當(dāng)然,對于設(shè)計實驗和綜合試驗,要鼓勵學(xué)生開動腦筋,盡量發(fā)揮想象力和創(chuàng)造力。
在這個過程中,一方面動手能力強的學(xué)生能較好地發(fā)揮幫帶作用,而且自身得到很好的鍛煉,另一方面基礎(chǔ)差的學(xué)生可以增加信心,提高能力。同時以小組為單位展開綜合實驗還能培養(yǎng)學(xué)生良好的團隊精神和科學(xué)作風(fēng)。
4結(jié)語
在信息類專業(yè)的“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)中,根據(jù)學(xué)生的特點認(rèn)真研究課堂策略以及構(gòu)建合理完善的實驗體系,是十分有助于提高教學(xué)質(zhì)量的。在這個過程中,學(xué)生分析問題、解決問題的能力就能夠得到有效的培養(yǎng)和提高。
參考文獻:
[1] 劉曉利. 現(xiàn)代教學(xué)模式下數(shù)據(jù)結(jié)構(gòu)教學(xué)的組織和設(shè)計[J]. 計算機教育,2007(5):70-72.
[2] 張桂芬. 數(shù)據(jù)結(jié)構(gòu)教學(xué)的改革和探索[J]. 高教論壇,2008(6):103-104.
The Discussion and Reformation of “Data Structure” Teaching for Information Technology Major
JIN Jing
(School of Mathematics, Physics & Software Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China)
Abstract:“Data Structure” is an important basic course for Information Technology Major,it is related to the studentsstudy of successive courses directly. The paper has analysised the problems of “Data Structure” in Classroom teaching and Experimental teaching aimed at the characteristics of information technology major,and researched the reformation and practice of teaching strategies.
Key words: Data Structure; classroom teaching; experimental teaching; teaching strategies