摘要:根據(jù)傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程教學(xué)中存在的不足,提出了數(shù)據(jù)結(jié)構(gòu)課程與其它相關(guān)計(jì)算機(jī)基礎(chǔ)課程結(jié)合協(xié)同教學(xué)的教學(xué)方案。研究了在互動式教學(xué)中提高學(xué)生自學(xué)能力、創(chuàng)新能力、軟件設(shè)計(jì)能力的教學(xué)模式改革方案,并對教師業(yè)務(wù)學(xué)習(xí)、提高教學(xué)質(zhì)量和評價機(jī)制等問題進(jìn)行了探討。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);教學(xué)改革;互動式教學(xué);教學(xué)方法
引言
數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)相關(guān)專業(yè)的一門專業(yè)技術(shù)基礎(chǔ)課,它為軟件設(shè)計(jì)提供必要的基礎(chǔ)知識和方法。其主要任務(wù)是講解數(shù)據(jù)組織中的數(shù)據(jù)邏輯結(jié)構(gòu),存儲結(jié)構(gòu)以及有關(guān)操作的算法;目的是使學(xué)生學(xué)會分析研究計(jì)算機(jī)處理數(shù)據(jù)的方式,以便為應(yīng)用中涉及的數(shù)據(jù)選擇適當(dāng)?shù)倪壿嫿Y(jié)構(gòu)、存儲結(jié)構(gòu)及相應(yīng)的算法,并初步了解對算法的時間分析和空間分析技術(shù)。本課程具有很強(qiáng)的理論性和實(shí)踐性,并且課程間聯(lián)系密切,它所包含的數(shù)據(jù)分析、結(jié)構(gòu)設(shè)計(jì)以及算法設(shè)計(jì)和分析等知識,無論對學(xué)生進(jìn)一步學(xué)習(xí)計(jì)算機(jī)領(lǐng)域的其他課程,還是對今后從事理論研究、應(yīng)用開發(fā)及技術(shù)管理工作都起著至關(guān)重要的作用。
數(shù)據(jù)結(jié)構(gòu)課程具有較高的抽象性,因此學(xué)生普遍感覺學(xué)習(xí)難度大。不容易理解和掌握。如果按照傳統(tǒng)教學(xué)方法,學(xué)生在短時間內(nèi)很難掌握數(shù)據(jù)結(jié)構(gòu)的精髓,無法真正達(dá)到教學(xué)要求,更無法滿足社會需求。結(jié)合社會需求、研發(fā)經(jīng)驗(yàn)和教學(xué)實(shí)際,我們從系統(tǒng)高度上,整合與數(shù)據(jù)結(jié)構(gòu)教學(xué)相關(guān)的課程,統(tǒng)一考慮教學(xué)內(nèi)容,重新制定了新的教學(xué)計(jì)劃和科學(xué)的教學(xué)模式,形成了一套協(xié)同教學(xué),分解難點(diǎn),理論與應(yīng)用相結(jié)合,不斷激發(fā)學(xué)生學(xué)習(xí)興趣,逐步完善學(xué)生知識體系的教改方案,并在教學(xué)實(shí)踐中取得了顯著成效。
1 傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)教學(xué)存在的問題
傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)教學(xué)中存在很多不足,嚴(yán)重影響了教學(xué)效果。在傳統(tǒng)教學(xué)計(jì)劃中,數(shù)據(jù)結(jié)構(gòu)是學(xué)生繼計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)后接觸的第一門與程序設(shè)計(jì)密切相關(guān)的課程,由于程序設(shè)計(jì)基礎(chǔ)課程課時少,任課教師往往注重程序設(shè)計(jì)基本語法和程序結(jié)構(gòu)的講解,在講到程序設(shè)計(jì)精華一結(jié)構(gòu)體和指針時,課時已剩不多,學(xué)生對結(jié)構(gòu)體和指針的知識掌握少,上機(jī)實(shí)踐時間短,理解不透徹。而數(shù)據(jù)結(jié)構(gòu)中存儲結(jié)構(gòu)以及相關(guān)算法的描述,離不開指針和結(jié)構(gòu)體的知識。另外,數(shù)據(jù)結(jié)構(gòu)中的很多算法涉及的函數(shù)調(diào)用在教材中根本未描述或者只是在前面章節(jié)中概述過,一般不能直接在計(jì)算機(jī)上運(yùn)行,需要學(xué)生自己進(jìn)行轉(zhuǎn)換,重新編程后才能運(yùn)行。這種前驅(qū)課程和后繼課程的脫節(jié)以及算法描述特有的一些特性,給學(xué)生學(xué)習(xí)和理解數(shù)據(jù)結(jié)構(gòu)造成了很大的困難。
2 優(yōu)化教學(xué)體系
數(shù)據(jù)結(jié)構(gòu)課程注重培養(yǎng)學(xué)生自學(xué)能力和創(chuàng)新能力,培養(yǎng)學(xué)生能夠根據(jù)具體問題進(jìn)行數(shù)據(jù)抽象,設(shè)計(jì)合理的數(shù)據(jù)結(jié)構(gòu),通過研究算法及其實(shí)現(xiàn),進(jìn)行系統(tǒng)軟件和應(yīng)用軟件的研發(fā),并且編寫的程序結(jié)構(gòu)清楚、正確易讀并符合軟件工程標(biāo)準(zhǔn)。為此,我們瞄準(zhǔn)能力培養(yǎng),努力構(gòu)建科學(xué)合理的教學(xué)體系。在教學(xué)安排上,既要保證教學(xué)內(nèi)容的完整性和先進(jìn)性,又要使學(xué)生容易接受,愿意接受。在實(shí)際教學(xué)中,我們打破了傳統(tǒng)課程界限,根據(jù)學(xué)生培養(yǎng)方案和課程間相互關(guān)系,對相關(guān)課程知識點(diǎn)重新劃分,避免知識點(diǎn)的過多重復(fù),保證相關(guān)課程內(nèi)容相輔相成,由淺到深,由易到難,理論和應(yīng)用相互促進(jìn),讓學(xué)生不斷鞏固所學(xué)知識,提高知識的綜合應(yīng)用能力。
數(shù)據(jù)結(jié)構(gòu)課程的開設(shè),需要前驅(qū)課程的支持,如程序設(shè)計(jì)基礎(chǔ)、離散數(shù)學(xué)。鑒于目前數(shù)據(jù)結(jié)構(gòu)與相關(guān)課程銜接中存在的問題,以及程序設(shè)計(jì)訓(xùn)練太少的情況,我們對相關(guān)的課程教學(xué)內(nèi)容和教學(xué)重點(diǎn)進(jìn)行了調(diào)整。
2.1 與程序設(shè)計(jì)語言結(jié)合
在程序設(shè)計(jì)基礎(chǔ)課程中,按照教材內(nèi)容順序講解,容易造成教學(xué)重點(diǎn)不突出,難點(diǎn)訓(xùn)練不到位,學(xué)生自學(xué)和創(chuàng)新能力被壓抑等問題。根據(jù)知識點(diǎn)間的連續(xù)性、學(xué)生的理解能力以及后續(xù)課程需要,我們打破教材章節(jié)限制,將部分內(nèi)容提前講解,并有重點(diǎn)地對學(xué)生進(jìn)行訓(xùn)練。在程序設(shè)計(jì)教學(xué)中,注重學(xué)生自學(xué)能力的培養(yǎng),遵循少講多練的原則,對程序設(shè)計(jì)中基本的數(shù)據(jù)格式輸入輸出以及類型定義等基本內(nèi)容只進(jìn)行簡單講解,對于格式輸入輸出和類型轉(zhuǎn)換中經(jīng)常遇到的問題,通過習(xí)題和上機(jī)實(shí)踐,讓學(xué)生自己去掌握。將指針和結(jié)構(gòu)體的定義提到數(shù)據(jù)類型部分講解,使學(xué)生盡早接觸指針和結(jié)構(gòu)體的應(yīng)用,能夠順利地將地址和指針聯(lián)系在一起,懂得結(jié)構(gòu)體和基本數(shù)據(jù)類型的關(guān)系。在習(xí)題和上機(jī)實(shí)踐中加強(qiáng)數(shù)組、指針和結(jié)構(gòu)體的練習(xí),適時引入項(xiàng)目設(shè)計(jì)(如學(xué)生信息和成績管理系統(tǒng)),要求學(xué)生利用所學(xué)知識設(shè)計(jì)完成基本的數(shù)據(jù)查找,插入、刪除、更新等;根據(jù)學(xué)生學(xué)習(xí)情況適當(dāng)增加難度,激發(fā)學(xué)生的探索欲,培養(yǎng)自學(xué)能力,增強(qiáng)對所學(xué)知識的理解和應(yīng)用能力。這既有助于提高學(xué)生對程序設(shè)計(jì)語言的綜合應(yīng)用能力,又有助于學(xué)生對后續(xù)數(shù)據(jù)結(jié)構(gòu)課程的理解。
2.2 加強(qiáng)離散數(shù)學(xué)實(shí)踐環(huán)節(jié)
數(shù)據(jù)結(jié)構(gòu)課程與離散數(shù)學(xué)聯(lián)系密切,需要離散數(shù)學(xué)中很多知識的支持。傳統(tǒng)教學(xué)中,只注重離散數(shù)學(xué)的理論學(xué)習(xí),學(xué)生不知道所學(xué)知識怎樣應(yīng)用。為此,我們本著實(shí)用的原則,自己編寫教材,在離散數(shù)學(xué)教學(xué)中引入了上機(jī)實(shí)驗(yàn)內(nèi)容,要求學(xué)生根據(jù)所學(xué)理論知識,自己設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),將理論描述轉(zhuǎn)換為程序設(shè)計(jì)。這既能培養(yǎng)學(xué)生靈活運(yùn)用數(shù)學(xué)知識解決實(shí)際問題的能力,又能提高學(xué)生的程序設(shè)計(jì)技能,還有助于學(xué)生對數(shù)據(jù)結(jié)構(gòu)課程中圖等內(nèi)容的理解。
2.3 整體規(guī)劃數(shù)據(jù)結(jié)構(gòu)教學(xué)內(nèi)容
由于學(xué)生在程序設(shè)計(jì)基礎(chǔ)和離散數(shù)學(xué)中反復(fù)進(jìn)行了程序設(shè)計(jì),對指針、數(shù)組和結(jié)構(gòu)體的應(yīng)用都已經(jīng)很熟練,并且數(shù)據(jù)結(jié)構(gòu)中的很多應(yīng)用算法在前面課程中都已簡單接觸過,再進(jìn)行數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)學(xué)生會加深對知識的理解,并且有溫故而知新的效果,學(xué)習(xí)不會感覺太吃力。
在數(shù)據(jù)結(jié)構(gòu)課程開始,老師首先分析數(shù)據(jù)結(jié)構(gòu)與前面所學(xué)知識的內(nèi)在聯(lián)系和不同之處,以及學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)課程的必要性,并引入數(shù)據(jù)結(jié)構(gòu)在經(jīng)典項(xiàng)目中的應(yīng)用實(shí)例,激勵學(xué)生的學(xué)習(xí)積極性和求知欲。貫穿數(shù)據(jù)結(jié)構(gòu)的命脈是存儲結(jié)構(gòu)和算法描述,不同邏輯結(jié)構(gòu)的存儲又分順序存儲和鏈?zhǔn)酱鎯煞N方式,每個章節(jié)之間既相互獨(dú)立,又相互聯(lián)系。對此,教學(xué)中我們抓住主線理清其內(nèi)在聯(lián)系,對整個內(nèi)容進(jìn)行有機(jī)整合,注意與前驅(qū)課程內(nèi)容間的對比,加強(qiáng)理論與實(shí)際問題的結(jié)合,每部分學(xué)習(xí)完畢后,均為學(xué)生提供幾個與階段知識相關(guān)的實(shí)訓(xùn)項(xiàng)目進(jìn)行分組設(shè)計(jì),通過實(shí)際問題的解決,提高學(xué)生分析問題,解決問題的能力,加深對所學(xué)知識的理解,同時加強(qiáng)學(xué)生程序設(shè)計(jì)能力。實(shí)訓(xùn)項(xiàng)目設(shè)計(jì)過程中,學(xué)生通過共同分析問題,相互幫助,促進(jìn)了學(xué)生間的團(tuán)結(jié),有利于團(tuán)隊(duì)精神的形成。學(xué)生在每個項(xiàng)目完成后都會有很大的成就感,提高了學(xué)習(xí)積極性。
將數(shù)據(jù)結(jié)構(gòu)課程與其它課程相互滲透的教學(xué)方法,分解了理論知識的難點(diǎn),可以促進(jìn)課程間知識的互補(bǔ);課程間知識的交互重疊,有助于加深學(xué)生對知識的理解,形成較完整的知識體系,提高學(xué)生自學(xué)能力,創(chuàng)新能力和綜合應(yīng)用能力。
3 科學(xué)的教學(xué)模式
實(shí)際教學(xué)中合理的教學(xué)手段和教學(xué)方法,對于提高教學(xué)效果和學(xué)生的學(xué)習(xí)積極性是十分重要的。
3.1 互動式教學(xué)
傳統(tǒng)的“填鴨式”教學(xué),學(xué)生只能被動聽講和練習(xí),老師缺少與學(xué)生的互動和交流,課堂氣氛沉悶,這有悖于教與學(xué)的和諧統(tǒng)一,束縛了學(xué)生的思維發(fā)展和創(chuàng)新意識,壓抑了學(xué)生的學(xué)習(xí)積極性。
數(shù)據(jù)結(jié)構(gòu)課程是理論與實(shí)際結(jié)合非常密切的一門計(jì)算機(jī)專業(yè)課,既能夠培養(yǎng)學(xué)生應(yīng)用能力,又能培養(yǎng)獨(dú)立思考和創(chuàng)新能力。我們在課堂教學(xué)中,以學(xué)生為教學(xué)主體,采取互動式教學(xué)方式。對于部分教學(xué)內(nèi)容老師提前提出問題,安排學(xué)生查找資料,分組討論,由學(xué)生自己動手,例如設(shè)計(jì)存儲結(jié)構(gòu)和算法,并在課堂上講解,講完后老師進(jìn)行點(diǎn)評和指導(dǎo)。學(xué)生可以在課下或者課堂上提出自己的見解,由老師直接給出解答或者由老師組織同學(xué)們進(jìn)行討論。這種互動式教學(xué)起到了教與學(xué)互相促進(jìn)的作用。學(xué)生由被動學(xué)習(xí)轉(zhuǎn)換為主動學(xué)習(xí),并參與到課堂的講解中,無形中增加了責(zé)任感;學(xué)生經(jīng)常與老師交流溝通,可以加深師生間的感情,進(jìn)而提高教學(xué)效果;學(xué)生自己查找資料,設(shè)計(jì)算法,有利于學(xué)生創(chuàng)新能力的培養(yǎng)。這種教學(xué)方式能夠提高學(xué)生的學(xué)習(xí)主動性和自學(xué)能力,擴(kuò)展學(xué)生知識面,加深學(xué)生對知識點(diǎn)的理解,提高學(xué)生的語言表達(dá)能力。
互動式教學(xué)方式對任課老師是一種考驗(yàn)。學(xué)生提前自學(xué),在課堂上會提出各種各樣的問題,這要求老師上課時不能再完全按教材進(jìn)行授課,需要根據(jù)具體情況靈活掌握課程進(jìn)度和深度,并且平時要加強(qiáng)業(yè)務(wù)學(xué)習(xí),積極參加實(shí)際項(xiàng)目的研發(fā),不斷將最新的算法介紹給學(xué)生。老師在聽取學(xué)生的講解過程中,及時發(fā)現(xiàn)學(xué)生對于問題解決方案的創(chuàng)新點(diǎn),并積極鼓勵和引導(dǎo),這有利于學(xué)生科研能力的培養(yǎng)。利用這種教學(xué)方式,老師可以及時了解學(xué)生的學(xué)習(xí)動態(tài),發(fā)現(xiàn)教學(xué)環(huán)節(jié)中存在的問題并及時改正,促進(jìn)了教學(xué)體系的不斷完善,提高了教學(xué)質(zhì)量。
互動式教學(xué)過程,充分體現(xiàn)了學(xué)生在學(xué)習(xí)中的主體地位和教師的引導(dǎo)作用,是主動與被動教學(xué)相結(jié)合的最好應(yīng)用。
3.2 加強(qiáng)實(shí)踐教學(xué)
數(shù)據(jù)結(jié)構(gòu)課程實(shí)踐性非常強(qiáng),能夠鍛煉學(xué)生實(shí)際問題解決能力和程序編寫能力。我們非常重視學(xué)生實(shí)際動手能力的培養(yǎng),對學(xué)生的上機(jī)實(shí)驗(yàn)嚴(yán)格要求,要求學(xué)生自己動手完成課程中涉及的所有算法,在每一個教學(xué)單元完成后,要將本單元的所有算法集成形成一個小的應(yīng)用系統(tǒng)。通過系列實(shí)驗(yàn)把難以理解的抽象概念和算法轉(zhuǎn)化為實(shí)實(shí)在在的能夠在計(jì)算機(jī)上正確運(yùn)行的程序,學(xué)生才能將所學(xué)知識和實(shí)際應(yīng)用結(jié)合起來,真正體會算法的設(shè)計(jì)思想精髓,提高運(yùn)用知識解決實(shí)際問題的能力。在實(shí)踐教學(xué)中,老師根據(jù)學(xué)生能力的高低,對學(xué)生進(jìn)行分組,由能力較強(qiáng)的同學(xué)作為實(shí)驗(yàn)主題負(fù)責(zé)人,負(fù)責(zé)本組同學(xué)的實(shí)驗(yàn)操作以及實(shí)訓(xùn)項(xiàng)目的任務(wù)分配,并負(fù)責(zé)幫助能力較弱的同學(xué)。老師要求學(xué)生每次實(shí)驗(yàn)前列出實(shí)驗(yàn)計(jì)劃,實(shí)驗(yàn)中對于學(xué)生遇到的問題及時給予解決,對于突出問題可以安排同學(xué)們進(jìn)行討論。如果問題不能及時解決的,老師負(fù)責(zé)課下對學(xué)生進(jìn)行個別輔導(dǎo),或者指定其他同學(xué)幫助存在問題的同學(xué)進(jìn)行分析并完成實(shí)驗(yàn)。每次實(shí)驗(yàn)完畢由負(fù)責(zé)人寫出本組實(shí)驗(yàn)報(bào)告,并說明實(shí)驗(yàn)中存在的難點(diǎn)、未完成實(shí)驗(yàn)學(xué)生的情況。學(xué)生通過嚴(yán)格的上機(jī)實(shí)驗(yàn)訓(xùn)練,提高了程序設(shè)計(jì)能力,深化了對理論知識的理解,并且可以發(fā)現(xiàn)學(xué)習(xí)中存在的問題,及時與老師溝通,彌補(bǔ)不足,不斷完善自己的知識體系。同時,老師在實(shí)驗(yàn)中能夠發(fā)現(xiàn)學(xué)生的不足,及時調(diào)整教學(xué)方案和教學(xué)內(nèi)容。
3.3 現(xiàn)代化的教學(xué)手段
高質(zhì)量的教學(xué)離不開現(xiàn)代化的教學(xué)手段和教育技術(shù),在教學(xué)中我們充分利用多媒體資源和網(wǎng)絡(luò)資源進(jìn)行課堂教學(xué)和課外輔導(dǎo)。多媒體教學(xué)形象生動,易于演示,在教學(xué)中我們非常注重?cái)?shù)據(jù)結(jié)構(gòu)多媒體課件的研制和算法演示系統(tǒng)的設(shè)計(jì),將抽象的問題,通過多媒體手段形象地演示出來,這既能活躍課堂氣氛又能加深學(xué)生對知識的理解和記憶。為了充分利用網(wǎng)絡(luò)資源,加強(qiáng)學(xué)生和老師的交流以及教學(xué)過程的現(xiàn)代化管理。我們自主開發(fā)了教學(xué)管理平臺。學(xué)生登陸系統(tǒng)后可以向老師提交作業(yè)或者反映學(xué)習(xí)中遇到的問題,可以將自己每次實(shí)驗(yàn)的算法提交到服務(wù)器,并可隨時下載;老師可以通過系統(tǒng)發(fā)布教學(xué)資源,審查算法設(shè)計(jì),批改作業(yè),回答學(xué)生疑問。
4 教學(xué)評價
教學(xué)評價是對學(xué)生學(xué)習(xí)情況和教師授課情況的綜合考查。對于學(xué)生學(xué)習(xí)情況的評價,我們改變了以往只看考試成績的慣例,為鼓勵學(xué)生積極探索新知識,敢于動手,勤于思考,我們根據(jù)學(xué)生上機(jī)實(shí)踐、實(shí)訓(xùn)項(xiàng)目完成狀況、老師實(shí)際課題參與情況、課堂表現(xiàn)和考試成績等多方面對學(xué)生進(jìn)行綜合評價。這種多方位評價體系能夠更加科學(xué)地反映學(xué)生的自學(xué)能力,實(shí)踐能力,創(chuàng)新能力和理論知識理解能力。
為保證教學(xué)質(zhì)量,我們在教學(xué)中建立了一支年齡結(jié)構(gòu)合理、知識結(jié)構(gòu)全面、責(zé)任心強(qiáng)的數(shù)據(jù)結(jié)構(gòu)教學(xué)梯隊(duì)。為提高教學(xué)質(zhì)量,督促教師不斷提高教學(xué)水平,我們建立了老師間互相聽課、評課制度,并且在教學(xué)科研成果、實(shí)際項(xiàng)目參與情況、課堂新知識的引入、作業(yè)批改、學(xué)生評價等方面對任課老師進(jìn)行量化考核。對于考核不合格的老師,由教學(xué)和科研經(jīng)驗(yàn)豐富的老師對其進(jìn)行幫教。
5 結(jié)束語
數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)專業(yè)非常重要的核心基礎(chǔ)課程,在人才培養(yǎng)中具有非常重要的作用,其理論性和實(shí)踐性都很強(qiáng),并且學(xué)科間聯(lián)系密切,技術(shù)發(fā)展迅速。因此,我們要在教學(xué)中不斷完善教學(xué)計(jì)劃,積極探索新的教學(xué)方法,引入更先進(jìn)的算法設(shè)計(jì)理念,以培養(yǎng)出更多適合信息社會發(fā)展的合格專業(yè)人才。