摘要:本文針對(duì)數(shù)據(jù)結(jié)構(gòu)課程特點(diǎn)提出了該課程的教學(xué)改革模式——以培養(yǎng)學(xué)生的實(shí)踐能力為核心的創(chuàng)新教學(xué)模式,該模式包含了課堂理論教學(xué)、課后練習(xí)與輔導(dǎo)、上機(jī)實(shí)踐、教學(xué)效果檢驗(yàn)四個(gè)環(huán)節(jié)。本文對(duì)如何落實(shí)這四個(gè)環(huán)節(jié)進(jìn)行了詳細(xì)的闡述,提出了一個(gè)完整的數(shù)據(jù)結(jié)構(gòu)創(chuàng)新教學(xué)改革模式。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu) 教學(xué)模式 實(shí)踐能力
在計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)中,數(shù)據(jù)結(jié)構(gòu)是一門(mén)核心專(zhuān)業(yè)基礎(chǔ)課程,是該專(zhuān)業(yè)的必修課程,在本專(zhuān)業(yè)的課程體系中起著承上啟下的重要作用。因此學(xué)好數(shù)據(jù)結(jié)構(gòu)課程對(duì)學(xué)生的專(zhuān)業(yè)素質(zhì)的提高有著極其重要的作用,能有效地提高學(xué)生的計(jì)算機(jī)理論認(rèn)知水平和實(shí)踐能力,使學(xué)生能從現(xiàn)實(shí)世界中的問(wèn)題中抽象出一個(gè)適當(dāng)?shù)臄?shù)學(xué)模型,然后在計(jì)算機(jī)上用相應(yīng)的數(shù)據(jù)結(jié)構(gòu)來(lái)表示,再設(shè)計(jì)一個(gè)針對(duì)該數(shù)學(xué)模型的算法進(jìn)行編程調(diào)試,最后獲得問(wèn)題的解答。
筆者認(rèn)為數(shù)據(jù)結(jié)構(gòu)的教學(xué)不僅是讓學(xué)生了解數(shù)據(jù)結(jié)構(gòu)的理論知識(shí),更重要的是培養(yǎng)學(xué)生解決實(shí)際問(wèn)題的能力,因而數(shù)據(jù)結(jié)構(gòu)的教學(xué)要以培養(yǎng)學(xué)生的實(shí)踐能力為核心,重點(diǎn)提高分析設(shè)計(jì)能力和編程能力,這樣才能搞好數(shù)據(jù)結(jié)構(gòu)課程的教學(xué),為學(xué)生后續(xù)課程的學(xué)習(xí)及實(shí)踐打下良好的基礎(chǔ)。
一、數(shù)據(jù)結(jié)構(gòu)課程的特點(diǎn)
數(shù)據(jù)結(jié)構(gòu)是一門(mén)理論性強(qiáng)、思維抽象、難度較大的課程,是基礎(chǔ)課和專(zhuān)業(yè)課之間的橋梁。該課程的先行課程是計(jì)算機(jī)基礎(chǔ)、程序設(shè)計(jì)語(yǔ)言、離散數(shù)學(xué)等,后續(xù)課程有操作系統(tǒng)、編譯原理、數(shù)據(jù)庫(kù)原理、軟件工程等。通過(guò)本門(mén)課程的學(xué)習(xí),學(xué)生應(yīng)該能透徹地理解各種數(shù)據(jù)對(duì)象的特點(diǎn),學(xué)會(huì)數(shù)據(jù)的組織方法和實(shí)現(xiàn)方法,并進(jìn)一步培養(yǎng)良好的程序設(shè)計(jì)能力和解決實(shí)際問(wèn)題的能力,而且該課程的研究方法對(duì)學(xué)生在校和離校后的學(xué)習(xí)和工作也有著重要的意義。
數(shù)據(jù)結(jié)構(gòu)這門(mén)課程從內(nèi)容上看有這么幾個(gè)特點(diǎn):
1. 課程內(nèi)容模塊化。各種數(shù)據(jù)結(jié)構(gòu)之間雖然存在一些內(nèi)在的聯(lián)系,但總的來(lái)說(shuō)還是自成體系、較為獨(dú)立的,整個(gè)課程不具有明顯的整體性。
2. 語(yǔ)言實(shí)現(xiàn)多樣化。數(shù)據(jù)結(jié)構(gòu)的算法可應(yīng)用于不同的環(huán)境中,可以用不同的編程語(yǔ)言來(lái)實(shí)現(xiàn)。
3. 課程內(nèi)容發(fā)展化。課程內(nèi)容具有很強(qiáng)的可伸縮性,新的數(shù)據(jù)結(jié)構(gòu)、新的算法以及新的理論不斷出現(xiàn),而且數(shù)據(jù)結(jié)構(gòu)和算法也可以針對(duì)不同的問(wèn)題進(jìn)行調(diào)整,同一個(gè)問(wèn)題也可以用不同的數(shù)據(jù)結(jié)構(gòu)和算法來(lái)解決。
4. 課程內(nèi)容具有極其廣泛的適用性。數(shù)據(jù)結(jié)構(gòu)的概念、原理和方法在軟件開(kāi)發(fā)的過(guò)程中具有極其重要的指導(dǎo)意義,可以幫助人們解決社會(huì)生產(chǎn)活動(dòng)中的很多問(wèn)題。
數(shù)據(jù)結(jié)構(gòu)課程的這些特點(diǎn)決定了實(shí)踐在學(xué)生學(xué)習(xí)活動(dòng)中的重要地位,筆者在多年教學(xué)實(shí)踐探索中,總結(jié)出一種以培養(yǎng)學(xué)生的實(shí)踐能力為核心的教學(xué)模式,該模式通過(guò)課堂理論教學(xué)、課后練習(xí)與輔導(dǎo)、上機(jī)實(shí)踐、教學(xué)效果檢驗(yàn)四大環(huán)節(jié)來(lái)培養(yǎng)學(xué)生解決實(shí)際問(wèn)題的能力。
二、以培養(yǎng)實(shí)踐能力為核心的創(chuàng)新教學(xué)模式
1. 加強(qiáng)課堂理論教學(xué)
理論教學(xué)在培養(yǎng)學(xué)生的實(shí)踐能力方面的作用是基礎(chǔ)性的、指導(dǎo)性的,所以一定要加強(qiáng)課堂理論教學(xué)。
第一,在課程內(nèi)容上,要用發(fā)展的眼光融會(huì)各種教材的精華,不可拘泥于某一本教材。既要把傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)的內(nèi)容講解透徹,又要增加新的內(nèi)容和方法,以適應(yīng)計(jì)算機(jī)科學(xué)的發(fā)展;既要把基本數(shù)據(jù)結(jié)構(gòu)的定義和分析、基本數(shù)據(jù)結(jié)構(gòu)的應(yīng)用講清楚,還要把各種數(shù)據(jù)結(jié)構(gòu)綜合運(yùn)用以解決實(shí)際問(wèn)題的方法講清楚。
第二,在教學(xué)重點(diǎn)上,既要培養(yǎng)學(xué)生扎實(shí)的理論基礎(chǔ),更要培養(yǎng)學(xué)生分析問(wèn)題解決問(wèn)題的能力。比如講解圖的鄰接表存儲(chǔ)表示,不能簡(jiǎn)單地灌輸書(shū)本知識(shí),而要向?qū)W生說(shuō)明為了解決圖的存儲(chǔ)這個(gè)問(wèn)題,把圖的結(jié)構(gòu)分解為弧結(jié)構(gòu)和頂點(diǎn)結(jié)構(gòu)的有機(jī)組合。通過(guò)類(lèi)似的教學(xué),可以培養(yǎng)學(xué)生分解復(fù)雜問(wèn)題為簡(jiǎn)單問(wèn)題并且最終解決復(fù)雜問(wèn)題的能力。
第三,在教學(xué)方式上,可以根據(jù)授課內(nèi)容的不同采用啟發(fā)式教學(xué)、參與式教學(xué)、任務(wù)驅(qū)動(dòng)式教學(xué)等形式多樣的教學(xué)方式以增強(qiáng)教學(xué)效果,激發(fā)學(xué)生學(xué)習(xí)的主動(dòng)性。在課堂教學(xué)中不能只講多媒體課件,而要把板書(shū)與多媒體課件相結(jié)合。另外在教學(xué)中還要充分運(yùn)用提問(wèn)、課堂測(cè)驗(yàn)、精講等方式,以此活躍課堂教學(xué)氣氛,培養(yǎng)學(xué)生的獨(dú)立思考和自學(xué)能力。
2. 搞好課后教學(xué)輔導(dǎo)
課堂的時(shí)間畢竟是有限的,為了幫助學(xué)生鞏固課堂所學(xué)的理論知識(shí),為上機(jī)實(shí)踐做好理論和技術(shù)上的準(zhǔn)備,必須做好課后的教學(xué)輔導(dǎo)。我們主要從兩個(gè)方面來(lái)進(jìn)行課后教學(xué)輔導(dǎo)。
一是開(kāi)展靈活多樣的網(wǎng)絡(luò)教學(xué)輔導(dǎo)活動(dòng)。筆者向?qū)W生公布自己的E-mail、QQ,學(xué)生之間以及師生之間可以進(jìn)行實(shí)時(shí)或非實(shí)時(shí)的交流,實(shí)現(xiàn)學(xué)生間的互相討論以及師生間的答疑。網(wǎng)絡(luò)形式的教學(xué)輔導(dǎo)激發(fā)了學(xué)生的學(xué)習(xí)熱情,培養(yǎng)了學(xué)生的自學(xué)能力。
二是現(xiàn)場(chǎng)答疑,面對(duì)面的答疑有不可替代的解惑作用,為此安排兩周一次或一周一次的答疑是非常必要的。
3. 精心設(shè)計(jì)上機(jī)實(shí)踐
上機(jī)實(shí)踐是學(xué)生學(xué)好數(shù)據(jù)結(jié)構(gòu)、培養(yǎng)實(shí)踐能力最關(guān)鍵的環(huán)節(jié),一定要精心組織,合理設(shè)計(jì),加強(qiáng)指導(dǎo)。
第一,選題要體現(xiàn)分析設(shè)計(jì)能力的培養(yǎng)。由于數(shù)據(jù)結(jié)構(gòu)課程不具有明顯的整體性,各種數(shù)據(jù)結(jié)構(gòu)之間相對(duì)獨(dú)立,所以首先要選擇一些單一數(shù)據(jù)結(jié)構(gòu)的上機(jī)題來(lái)進(jìn)行基本的訓(xùn)練,然后再選擇一些綜合運(yùn)用的上機(jī)題來(lái)進(jìn)行拓展訓(xùn)練。給學(xué)生布置的綜合運(yùn)用上機(jī)題不宜過(guò)細(xì),應(yīng)留有余地,并把握好難度,不事先指定使用某種數(shù)據(jù)結(jié)構(gòu),而要求學(xué)生從實(shí)際出發(fā),在具體、真實(shí)的環(huán)境中分析研究數(shù)據(jù)對(duì)象的特性,構(gòu)造合理的數(shù)據(jù)結(jié)構(gòu)以及相應(yīng)的算法。
第二,鼓勵(lì)學(xué)生使用新興的編程語(yǔ)言,加強(qiáng)編程能力的培養(yǎng)。上機(jī)實(shí)踐可以進(jìn)一步鍛煉學(xué)生的編程能力,要求學(xué)生編制的程序一定要有完整的數(shù)據(jù)結(jié)構(gòu)說(shuō)明和注釋?zhuān)腥蒎e(cuò)處理,要能正常運(yùn)行。由于程序設(shè)計(jì)語(yǔ)言不斷發(fā)展,我們鼓勵(lì)學(xué)生根據(jù)自己的實(shí)際水平和愛(ài)好,自由選擇更先進(jìn)或更合適的編程語(yǔ)言,像C++語(yǔ)言和JAVA語(yǔ)言等。另外,還可以向?qū)W生提供一些基本的樣例程序和典型數(shù)據(jù)結(jié)構(gòu)的類(lèi)代碼庫(kù),使不同層次的學(xué)生各有所獲。
第三,強(qiáng)化上機(jī)實(shí)踐的教學(xué)組織管理工作。給學(xué)生布置的上機(jī)題可以分為必做題和選作題,必做題涵蓋教學(xué)大綱的重要知識(shí)點(diǎn),難度一般,每一名學(xué)生都要做完;選作題有一定難度,由學(xué)生組成若干個(gè)學(xué)習(xí)小組,協(xié)作完成分配的上機(jī)題,從而鍛煉學(xué)生的團(tuán)隊(duì)協(xié)作能力。
4. 認(rèn)真檢驗(yàn)教學(xué)效果
為了保證學(xué)生在數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)過(guò)程中確實(shí)提高實(shí)踐能力,確保教師進(jìn)行教學(xué)效果的檢驗(yàn)和評(píng)估,可以采取以下檢查方式。
一是課堂小測(cè)驗(yàn)。測(cè)驗(yàn)的內(nèi)容只限于最近一周或兩周內(nèi)講解的知識(shí)點(diǎn)。通過(guò)測(cè)驗(yàn),可以了解課堂教學(xué)效果以及學(xué)生的學(xué)習(xí)態(tài)度和學(xué)習(xí)積極性,如果出現(xiàn)問(wèn)題要及時(shí)找出原因并加以解決。
二是認(rèn)真批改作業(yè)。通過(guò)作業(yè)中出現(xiàn)的各類(lèi)錯(cuò)誤,找出一些共性的問(wèn)題,集中加以解決。也可以通過(guò)與學(xué)生談話、辦公室答疑和網(wǎng)上答疑,了解學(xué)生學(xué)習(xí)這門(mén)課程的情況以及對(duì)教師教學(xué)的評(píng)價(jià),師生互動(dòng),共同搞好教學(xué)。
三是認(rèn)真檢查上機(jī)題的完成情況。檢查工作最好在機(jī)房進(jìn)行。檢查時(shí)不僅要求學(xué)生演示最終的運(yùn)行結(jié)果,還要隨機(jī)詢(xún)問(wèn)設(shè)計(jì)思路、出錯(cuò)處理,甚至源程序語(yǔ)句說(shuō)明等,以確認(rèn)學(xué)生獨(dú)立或合作完成指定的任務(wù),達(dá)到培養(yǎng)實(shí)踐能力的目的。
結(jié)束語(yǔ)
針對(duì)數(shù)據(jù)結(jié)構(gòu)課程的特點(diǎn),著眼于培養(yǎng)學(xué)生的實(shí)踐能力,本文從教學(xué)實(shí)踐的各個(gè)環(huán)節(jié)闡述了作者探究數(shù)據(jù)結(jié)構(gòu)課程教學(xué)模式的心得體會(huì)。該模式在數(shù)據(jù)結(jié)構(gòu)課程數(shù)年的教學(xué)實(shí)踐中取得了很好的效果,大大提高了學(xué)生的實(shí)踐能力。隨著計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展和培養(yǎng)人才的需要,數(shù)據(jù)結(jié)構(gòu)的創(chuàng)新教學(xué)模式必將不斷發(fā)展完善。
參考文獻(xiàn):
[1]嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2002.
[2]李治軍,廖明宏,張巖.數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)教學(xué)模式的探討[J].計(jì)算機(jī)教育,2006,(2).