曾旭
摘要首先,闡述了傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程教學(xué)過(guò)程中存在的一些問(wèn)題;然后,分析了問(wèn)題的成因;最后,依據(jù)該課程的特性設(shè)計(jì)了教學(xué)內(nèi)容、教學(xué)方法、教學(xué)手段、網(wǎng)絡(luò)資源、成績(jī)組成以及師資培養(yǎng)等方面相應(yīng)的改革措施。
關(guān)鍵詞數(shù)據(jù)結(jié)構(gòu)教學(xué)改革課程實(shí)踐
0引言
在計(jì)算機(jī)科學(xué)中,數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)中存儲(chǔ)、組織數(shù)據(jù)的方式,是一門(mén)研究非數(shù)值計(jì)算的程序設(shè)計(jì)問(wèn)題中計(jì)算機(jī)的操作對(duì)象(數(shù)據(jù)元素)以及它們之間的關(guān)系和運(yùn)算等的學(xué)科,通常情況下,精心選擇的數(shù)據(jù)結(jié)構(gòu)可以帶來(lái)最優(yōu)效率的算法。
數(shù)據(jù)結(jié)構(gòu)作為一門(mén)獨(dú)立的課程在國(guó)外是從1968年才開(kāi)始設(shè)立的。1968年美國(guó)唐·歐·克努特教授開(kāi)創(chuàng)了數(shù)據(jù)結(jié)構(gòu)的最初體系,他所著的《基本算法》是第一本較系統(tǒng)地闡述數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)及其操作的著作。數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)科學(xué)中是一門(mén)綜合性的專(zhuān)業(yè)基礎(chǔ)課,數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學(xué)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件三者之間的一門(mén)核心課程。①②數(shù)據(jù)結(jié)構(gòu)的先修課程主要有高級(jí)程序設(shè)計(jì)語(yǔ)言和離散數(shù)學(xué)。同時(shí),數(shù)據(jù)結(jié)構(gòu)也是操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)原理等課程的基礎(chǔ)。③
數(shù)據(jù)結(jié)構(gòu)由于其特殊性成為了理工科專(zhuān)業(yè)的重要課程。與此同時(shí),也由于該課程的抽象性使得如何教授好數(shù)據(jù)結(jié)構(gòu)成為任課教師厄待解決的首要問(wèn)題。④
1存在的問(wèn)題
數(shù)據(jù)結(jié)構(gòu)作為一門(mén)專(zhuān)業(yè)基礎(chǔ)課,與其他課程相比具有一定的特殊性。該課程著重介紹利用經(jīng)典算法和數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)來(lái)解決問(wèn)題的思想以及該思想的程序?qū)崿F(xiàn),即:程序=數(shù)據(jù)結(jié)構(gòu)+算法。由于課程內(nèi)容抽象、理論性強(qiáng)、學(xué)習(xí)難度大,因此成為了“教師難教,學(xué)生難學(xué)”的兩難原因。
傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)課程設(shè)置包括理論課和實(shí)驗(yàn)課。理論課教授內(nèi)容主要包括線(xiàn)性表、堆棧、隊(duì)列、數(shù)組、樹(shù)、圖及其相關(guān)算法的分析;實(shí)驗(yàn)課主要是對(duì)理論課中經(jīng)典算法進(jìn)行驗(yàn)證性的程序?qū)崿F(xiàn)。理論課和實(shí)驗(yàn)課教授過(guò)程中存在的問(wèn)題主要有以下幾個(gè)方面:
1.1理論課
理論課介紹的數(shù)據(jù)結(jié)構(gòu)及其相關(guān)算法較為經(jīng)典,相關(guān)的經(jīng)典算法很難與現(xiàn)實(shí)生活中的案例建立明顯的聯(lián)系。教師花費(fèi)了大部分時(shí)間介紹課本知識(shí),學(xué)生僅僅對(duì)知識(shí)點(diǎn)進(jìn)行積累難以吸收和消化,最終覺(jué)得數(shù)據(jù)結(jié)構(gòu)這門(mén)基礎(chǔ)課程實(shí)用性不強(qiáng)且難度較大,進(jìn)而會(huì)放松對(duì)該課程的學(xué)習(xí),導(dǎo)致學(xué)習(xí)效果差,還會(huì)影響后續(xù)核心課程的學(xué)習(xí)。
1.2實(shí)驗(yàn)課
實(shí)驗(yàn)課主要是對(duì)理論課中的經(jīng)典算法進(jìn)行驗(yàn)證性實(shí)現(xiàn)。由于教材中的算法均是利用偽代碼進(jìn)行介紹,故不能直接照搬教材中的例題。另外,再加上數(shù)據(jù)結(jié)構(gòu)算法規(guī)模均較大,難以在短短的一次實(shí)驗(yàn)課具體實(shí)現(xiàn)。以上問(wèn)題使得學(xué)生在實(shí)驗(yàn)課環(huán)節(jié)沒(méi)有得到更好的鍛煉。
2原因分析
造成教學(xué)效果差的原因有很多,我們不能把責(zé)任單一的歸結(jié)為任課教師的教學(xué)方式或者學(xué)生的學(xué)習(xí)態(tài)度的問(wèn)題。從任教多年的經(jīng)驗(yàn)中,可以總結(jié)如下幾點(diǎn)原因是值得思考的出發(fā)點(diǎn):
2.1教材
各個(gè)出版社出版的數(shù)據(jù)結(jié)構(gòu)教材較多,其中較為經(jīng)典者當(dāng)屬清華大學(xué)出版的由嚴(yán)蔚敏和吳偉民主編的《數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)》。該教材是各個(gè)理工科院校優(yōu)選的大學(xué)本科教材,但教材在內(nèi)容的組織上理論性較強(qiáng),給教學(xué)工作的開(kāi)展設(shè)定了較高的難度,難以帶給學(xué)生趣味性。當(dāng)然,不乏存在某些面向高職等學(xué)校的難度較低的教材,但其內(nèi)容回避了數(shù)據(jù)結(jié)構(gòu)的某些主要方面。
2.2學(xué)生
學(xué)生在理論課和實(shí)驗(yàn)課的學(xué)習(xí)過(guò)程中會(huì)出現(xiàn)積極性不高或者對(duì)課程的認(rèn)識(shí)出現(xiàn)偏差的情況。理論課的學(xué)習(xí)僅僅依賴(lài)課堂時(shí)間是不夠的,學(xué)生需要花更多的時(shí)間來(lái)預(yù)習(xí)或者復(fù)習(xí),在自學(xué)的過(guò)程中對(duì)算法的思想產(chǎn)生一定程度的認(rèn)知,然后在課堂上教師的講解下得到升華;實(shí)驗(yàn)課的進(jìn)行不能單單的認(rèn)為是照搬教材上的偽碼,因?yàn)閭未a是不能運(yùn)行的,而且實(shí)驗(yàn)課的宗旨是“思想第一,實(shí)現(xiàn)第二”,短短的一次實(shí)驗(yàn)課不一定非要實(shí)現(xiàn)一個(gè)算法,可以把更多的課余時(shí)間利用起來(lái)對(duì)算法進(jìn)行研究和實(shí)現(xiàn)。學(xué)生應(yīng)該正確認(rèn)識(shí)數(shù)據(jù)結(jié)構(gòu)理論課和實(shí)驗(yàn)課的學(xué)習(xí)方法,并且找到合適的方式來(lái)學(xué)習(xí)。⑤
2.3教師
教師在教授過(guò)程中不免會(huì)出現(xiàn)一定程度上的照本宣科。特別是經(jīng)驗(yàn)不豐富的教師,也容易犯脫離聯(lián)系實(shí)際的教學(xué)錯(cuò)誤,這更容易使原本就抽象的課程變成空中樓閣,給學(xué)生帶來(lái)一頭霧水,最終挫傷其積極性和主動(dòng)性,導(dǎo)致教學(xué)效果不理想。
3改革措施
通過(guò)對(duì)上述現(xiàn)狀及其原因進(jìn)行分析,為獲得較為理想的教學(xué)效果,使得學(xué)生為后續(xù)核心課程打下良好的基礎(chǔ),特建議從以下幾方面進(jìn)行改革。
3.1教學(xué)內(nèi)容
為了使學(xué)生把更多的時(shí)間花費(fèi)在重要的知識(shí)點(diǎn)上,教師應(yīng)該合理安排教學(xué)內(nèi)容。有限的課時(shí)數(shù)并不能貫穿整個(gè)教材,某些知識(shí)點(diǎn)可以安排學(xué)生自學(xué)。由于近年來(lái)參加研究生入學(xué)考試和軟考等專(zhuān)業(yè)認(rèn)證的考生增多,教學(xué)重心應(yīng)放在研究生入學(xué)考綱和軟考等相關(guān)認(rèn)證的大綱上,對(duì)于曾經(jīng)出現(xiàn)過(guò)的考題可以作為課堂例題進(jìn)行講解,在基礎(chǔ)理論講解的過(guò)程中進(jìn)行分析,加深學(xué)生的理解能力并增強(qiáng)其參與類(lèi)似考試的自信心;對(duì)于不涉及的知識(shí)點(diǎn)可以略講或者取消。例如:組數(shù)章節(jié)中的廣義表部分在研究生入學(xué)考試中已經(jīng)不再是考點(diǎn),任課教師可以在該部分內(nèi)容的介紹上有所弱化。
3.2教學(xué)方法
“興趣是一切工作得以順利開(kāi)展的動(dòng)力”,由于課程固有的概念多、算法抽象等特點(diǎn),教師更應(yīng)該在教學(xué)過(guò)程中采用合適的教學(xué)方法來(lái)提高學(xué)生的興趣。在介紹經(jīng)典算法的過(guò)程中引入生動(dòng)的案例,能夠在最大程度上調(diào)動(dòng)學(xué)生學(xué)習(xí)的主動(dòng)性、積極性和趣味性。例如:在介紹順序表時(shí)可以利用電話(huà)號(hào)碼薄案例來(lái)引入,按照筆畫(huà)排序后的電話(huà)號(hào)碼簿肯定比零亂的容易查找;為了更進(jìn)一步提高查找效率,可以建立一個(gè)對(duì)應(yīng)于原鏈表的索引表;隊(duì)列結(jié)構(gòu)類(lèi)似于排隊(duì)購(gòu)票,先到先買(mǎi);樹(shù)狀結(jié)構(gòu)能夠?qū)⑷藱C(jī)對(duì)弈問(wèn)題各個(gè)步驟可能解決方案進(jìn)行直觀的分類(lèi)選擇;圖狀結(jié)構(gòu)的遍歷可以引入教育網(wǎng)的路由方式作為案例;排序章節(jié)中時(shí)間復(fù)雜度與空間復(fù)雜度的概念可以利用一個(gè)體育教師指導(dǎo)全班從低到高排隊(duì)和兩個(gè)體育教師分別指導(dǎo)分梯度快速排隊(duì),由此帶領(lǐng)學(xué)生們理解用空間換取時(shí)間和用時(shí)間換取空間的概念。
3.3教學(xué)手段
(1)單純的PPT教學(xué)并不能使蒼白的理論變得鮮活,為了形象地再現(xiàn)數(shù)據(jù)結(jié)構(gòu)及其相關(guān)算法的思想,必須借助于更為形象的動(dòng)畫(huà)演示。具有單步執(zhí)行功能的動(dòng)畫(huà)演示能夠在一定程度上幫助學(xué)生理解算法的執(zhí)行過(guò)程。當(dāng)然,單純的動(dòng)畫(huà)演示并不能替代傳統(tǒng)的板書(shū)效果,必要的時(shí)候采取邊分析邊板書(shū)的教學(xué)方式,能夠最大限度地幫助學(xué)生理解算法的執(zhí)行過(guò)程。
(2)為了更好地讓學(xué)生積極、主動(dòng)地融入到對(duì)算法的理解中去,必須從教師“一言堂”的授課方式轉(zhuǎn)變到有學(xué)生積極參與的形式。教師提前一次課選定適當(dāng)?shù)娜藛T并分派任務(wù),讓學(xué)生在課余時(shí)間自己做PPT和動(dòng)畫(huà)演示,然后在課堂上為大家分析和講解算法。帶著任務(wù)的預(yù)習(xí)會(huì)讓學(xué)生更有決心進(jìn)行分析,成功的課堂講解更能夠使學(xué)生找回學(xué)習(xí)的興趣。
(3)傳統(tǒng)的驗(yàn)證性實(shí)驗(yàn)只能讓學(xué)生機(jī)械地照搬經(jīng)典算法,學(xué)生可以從多種渠道找到源代碼,然后生搬硬套的在短暫的一堂實(shí)驗(yàn)課堂上進(jìn)行小規(guī)模的驗(yàn)證。或許大部分學(xué)生能夠驗(yàn)證成功,但該方式并沒(méi)有達(dá)到實(shí)驗(yàn)課的目的,學(xué)生的提升也有限。為了讓學(xué)生帶著問(wèn)題完成算法分析和設(shè)計(jì),教師可以提供多個(gè)題目供學(xué)生們?cè)谧杂山M合的情況下利用課余時(shí)間完成相關(guān)實(shí)踐內(nèi)容。由于時(shí)間較為充分,所以給定題目的規(guī)??梢陨源?,讓學(xué)生綜合運(yùn)用知識(shí)的能力、協(xié)作能力和創(chuàng)新能力均得到充分的發(fā)揮。
3.4網(wǎng)絡(luò)資源
短暫的課堂講授并不能滿(mǎn)足教學(xué)需求,為了更好地對(duì)學(xué)生進(jìn)行輔導(dǎo)和交流,可以建立網(wǎng)絡(luò)課堂。教師可以把豐富的PPT、動(dòng)畫(huà)演示、練習(xí)題、上機(jī)題、課程實(shí)踐題等教學(xué)資源共享到網(wǎng)絡(luò)上,并在留言區(qū)對(duì)學(xué)生進(jìn)行在線(xiàn)輔導(dǎo)?;?dòng)的網(wǎng)絡(luò)教學(xué)能夠?qū)W(xué)生們的疑問(wèn)進(jìn)行針對(duì)性的解答,最終讓學(xué)生們的普遍疑問(wèn)得到共同的解決并獲益匪淺。
3.5成績(jī)組成
由于增加了課程實(shí)踐的環(huán)節(jié),故原有的卷面成績(jī)+實(shí)驗(yàn)成績(jī)的總分方式應(yīng)有所改變。課程實(shí)踐環(huán)節(jié)最能體現(xiàn)學(xué)生對(duì)基本知識(shí)點(diǎn)的掌握和升華,因此應(yīng)在成績(jī)組成中有所體現(xiàn)。新的成績(jī)組成方式應(yīng)該是:卷面成績(jī)+實(shí)驗(yàn)成績(jī)+課程實(shí)踐成績(jī)。
3.6師資培養(yǎng)
在多方面得到改進(jìn)的同時(shí),也應(yīng)該注重教師自身素養(yǎng)的培養(yǎng)。教師可以通過(guò)教研室內(nèi)部指導(dǎo)、兄弟院校探討、國(guó)內(nèi)國(guó)際會(huì)議交流的方式與時(shí)俱進(jìn)的提高教學(xué)能力,以更好地完成課程教學(xué)改革工作,最終達(dá)到提高教學(xué)質(zhì)量的目的。
4結(jié)束語(yǔ)
數(shù)據(jù)結(jié)構(gòu)在培養(yǎng)學(xué)生抽象思維和邏輯推理能力的同時(shí),也能夠鍛煉學(xué)生分析問(wèn)題、解決問(wèn)題的能力。⑥建立完整的知識(shí)體系,使知識(shí)融會(huì)貫通,并為后續(xù)課程打下良好的基礎(chǔ)是教學(xué)的最終目標(biāo)。通過(guò)對(duì)教學(xué)內(nèi)容、教學(xué)方法、教學(xué)手段、網(wǎng)絡(luò)資源、成績(jī)組成以及師資培養(yǎng)等教學(xué)改革的研究,形成一個(gè)完整的教學(xué)體系,必定能夠在教學(xué)工作中取得優(yōu)秀的成績(jī)。