“數(shù)據(jù)結(jié)構(gòu)”是重要的專業(yè)基礎(chǔ)課,是計(jì)算機(jī)科學(xué)的核心課程,是計(jì)算機(jī)理論與技術(shù)的重要基石,該課程在大學(xué)二年級(jí)上學(xué)期開(kāi)設(shè),具有承上啟下的重要作用,既要對(duì)前兩年學(xué)習(xí)的軟件技術(shù)進(jìn)行總結(jié)提高,又要為后續(xù)專業(yè)課程提供基礎(chǔ)。它貫通始終,是計(jì)算機(jī)科學(xué)與技術(shù)人才素質(zhì)培養(yǎng)框架中的中堅(jiān)課程,對(duì)學(xué)生的軟件開(kāi)發(fā)能力培養(yǎng)至關(guān)重要,為學(xué)生今后的專業(yè)生涯打下牢固基礎(chǔ)。
經(jīng)過(guò)多年的課程建設(shè),在課程教學(xué)內(nèi)容體系、能力培養(yǎng)、教學(xué)方法、教學(xué)資源建設(shè)上已形成自己的特色,并探索、實(shí)施了一套適應(yīng)本科“數(shù)據(jù)結(jié)構(gòu)”課程的教學(xué)模式,在教學(xué)大綱、教材建設(shè)、實(shí)踐環(huán)節(jié)、教學(xué)課件、課程網(wǎng)站等方面取得一些成果。
1構(gòu)建先進(jìn)科學(xué)的課程體系結(jié)構(gòu)
“數(shù)據(jù)結(jié)構(gòu)”是計(jì)算機(jī)科學(xué)課程體系中核心課程之首,作為本學(xué)科的專業(yè)基礎(chǔ)課,應(yīng)該與本學(xué)科中問(wèn)題求解的理論、抽象和設(shè)計(jì)的方法論相對(duì)應(yīng),把握課程體系結(jié)構(gòu)的本質(zhì)。具體措施是:
(1) 制訂實(shí)施符合新技術(shù)要求的教學(xué)大綱
課程體系結(jié)構(gòu)的三個(gè)層面:即概念表述、構(gòu)建數(shù)據(jù)模型、設(shè)計(jì)算法三個(gè)層面,突出數(shù)據(jù)組織方法與算法設(shè)計(jì)技術(shù),將整個(gè)知識(shí)體系劃分為核心知識(shí)集合,以及不同的擴(kuò)展知識(shí)模塊,以適應(yīng)不同層次的教學(xué)需求。
貫穿程序設(shè)計(jì)與軟件工程新技術(shù):引入抽象數(shù)據(jù)類型的概念來(lái)介紹數(shù)據(jù)結(jié)構(gòu)技術(shù);集中體現(xiàn)了分解、抽象和信息隱蔽的基本原則,展示了由數(shù)學(xué)模型→抽象數(shù)據(jù)類型→數(shù)據(jù)結(jié)構(gòu)的信息結(jié)構(gòu)轉(zhuǎn)換的三個(gè)重要階段,抓住抽象數(shù)據(jù)類型的中樞位置。
制訂符合新技術(shù)發(fā)展要求的課程大綱:以訓(xùn)練構(gòu)造性思維為重點(diǎn),以強(qiáng)化程序抽象能力和培養(yǎng)數(shù)據(jù)抽象能力為指導(dǎo),把握課程體系結(jié)構(gòu)的本質(zhì)。教學(xué)大綱與實(shí)驗(yàn)大綱應(yīng)該不斷修訂,以滿足學(xué)科發(fā)展對(duì)課程教學(xué)的要求。
(2) 編寫具有特色的數(shù)據(jù)結(jié)構(gòu)新教材
教材建設(shè)是提高教學(xué)質(zhì)量的基本建設(shè)之一。教材是大綱精神的具體實(shí)施,是知識(shí)點(diǎn)的載體。教材的科學(xué)性、先進(jìn)性和實(shí)用性,為知識(shí)的傳授和能力的培養(yǎng)奠定了良好的基礎(chǔ)。
把握學(xué)科規(guī)律,突出教材的科學(xué)性
根據(jù)課程技術(shù)性的特點(diǎn),將教學(xué)內(nèi)容分為三層次:第一個(gè)層次是基本概念部分;第二個(gè)層次是基本結(jié)構(gòu)部分,包括線性結(jié)構(gòu)(線性表、棧和隊(duì)列、串、數(shù)組與廣義表)與非線性結(jié)構(gòu)(樹(shù)、圖);第三個(gè)層次是基本技術(shù)部分,包括查找與排序方法。按照三層次法組織教材內(nèi)容,其中包含許多精彩的經(jīng)典算法,為學(xué)習(xí)者繼續(xù)拓展提供線索,同時(shí)貫穿了計(jì)算機(jī)科學(xué)中的一些重要的問(wèn)題求解技術(shù),如指針參數(shù)傳遞技術(shù)、指針與動(dòng)態(tài)數(shù)組技術(shù)、棧與遞歸技術(shù)。教材編寫采用了由淺入深,由表及里,從具體到抽象,再?gòu)某橄蟮骄唧w的方法,符合認(rèn)知規(guī)律,有利于學(xué)生學(xué)會(huì)分析數(shù)據(jù)對(duì)象特征,掌握數(shù)據(jù)組織方法和計(jì)算機(jī)的表示方法,掌握算法的時(shí)間、空間復(fù)雜度分析技術(shù),培養(yǎng)良好的程序設(shè)計(jì)技能,使得學(xué)生能夠在軟件開(kāi)發(fā)過(guò)程中靈活選擇適當(dāng)?shù)倪壿嫿Y(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)及相應(yīng)的處理算法。
科研與教學(xué)結(jié)合,體現(xiàn)教學(xué)和教材的先進(jìn)性
積極開(kāi)展一維線性數(shù)據(jù)結(jié)構(gòu)、二維平面數(shù)據(jù)結(jié)構(gòu)、三維空間數(shù)據(jù)結(jié)構(gòu)方面展開(kāi)研究,在虛擬現(xiàn)實(shí)技術(shù)、三維數(shù)據(jù)組織結(jié)構(gòu)與處理算法、基于內(nèi)容檢索新技術(shù)研究,結(jié)合科研,在教材中補(bǔ)充了技術(shù)發(fā)展新內(nèi)容。
針對(duì)課程中的難點(diǎn)問(wèn)題,積極組織中青年教師進(jìn)行專題討論,總結(jié)教學(xué)規(guī)律,交流教學(xué)經(jīng)驗(yàn)。通過(guò)“輔導(dǎo)實(shí)習(xí)、實(shí)驗(yàn)設(shè)計(jì)、觀摩教學(xué)、課程試講”四個(gè)環(huán)節(jié)培養(yǎng)青年教師的教學(xué)能力。在教學(xué)中,充分發(fā)揮教師的軟件開(kāi)發(fā)能力與經(jīng)驗(yàn),使之貫穿于實(shí)踐指導(dǎo)與講課過(guò)程中,教師良好的科研素質(zhì)已在深化教學(xué)中發(fā)揮了重要作用,青年教師已成為教學(xué)骨干。
內(nèi)容與新技術(shù)接軌,增進(jìn)教材的實(shí)用性
教材的編寫以多年來(lái)“數(shù)據(jù)結(jié)構(gòu)”課程的教學(xué)講義為基礎(chǔ),充分反映了自身的教學(xué)理念,突出課程的本質(zhì)與重點(diǎn)。教材中引入面向?qū)ο蟮男掠^點(diǎn),補(bǔ)充技術(shù)發(fā)展新內(nèi)容,使教材內(nèi)容與新技術(shù)接軌。
教材以C語(yǔ)言作為算法描述工具,使之與大多數(shù)院校教授的第一編程語(yǔ)言相銜接。對(duì)于每種抽象數(shù)據(jù)類型(ADT)定義,不僅包含數(shù)學(xué)模型,同時(shí)還包含定義在這個(gè)模型上數(shù)據(jù)組織和數(shù)據(jù)處理運(yùn)算,同時(shí)在具體章節(jié)內(nèi)容中詳細(xì)展開(kāi)相應(yīng)數(shù)據(jù)結(jié)構(gòu)及運(yùn)算實(shí)現(xiàn),并給出了用C語(yǔ)言表示抽象數(shù)據(jù)類型的方法。增進(jìn)了教材的實(shí)用性,該教材被全國(guó)多所學(xué)校選用作本科教材,普遍反映教材本質(zhì)突出,體系科學(xué),實(shí)用效果好。
2強(qiáng)化素質(zhì)能力培養(yǎng)
“數(shù)據(jù)結(jié)構(gòu)”課程的核心內(nèi)容就是通過(guò)學(xué)習(xí)結(jié)構(gòu)技術(shù)的過(guò)程,培養(yǎng)學(xué)生算法設(shè)計(jì)能力以及創(chuàng)造性思維,培養(yǎng)舉一反三、觸類旁通的能力,以達(dá)到提高學(xué)生應(yīng)用知識(shí)解決復(fù)雜問(wèn)題的素質(zhì)能力的目標(biāo)。理解、習(xí)慣、掌握算法思維方法是一個(gè)構(gòu)造性方式的訓(xùn)練過(guò)程,憑借算法構(gòu)造思維方式,從具體操作規(guī)范入手,通過(guò)操作過(guò)程的構(gòu)造實(shí)施,解決特定問(wèn)題。
計(jì)算機(jī)程序設(shè)計(jì)是一項(xiàng)創(chuàng)造性的智力勞動(dòng),數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)過(guò)程,是進(jìn)行復(fù)雜程序設(shè)計(jì)的訓(xùn)練過(guò)程,關(guān)鍵在于增強(qiáng)應(yīng)用所學(xué)知識(shí)解決復(fù)雜問(wèn)題的能力,培養(yǎng)優(yōu)良的算法設(shè)計(jì)思想與設(shè)計(jì)風(fēng)格,技能培養(yǎng)的重要性不亞于知識(shí)傳授。讓學(xué)生理解、習(xí)慣、熟悉這一套算法構(gòu)造思維方法,是實(shí)踐環(huán)節(jié)所要解決的核心問(wèn)題。
針對(duì)“數(shù)據(jù)結(jié)構(gòu)”技術(shù)性與綜合性較突出的特點(diǎn),提出并實(shí)施了“指導(dǎo)—大運(yùn)動(dòng)量實(shí)踐—反饋”的教學(xué)法來(lái)抓好實(shí)踐訓(xùn)練、增強(qiáng)對(duì)學(xué)生實(shí)踐能力的培養(yǎng)。課程的實(shí)踐過(guò)程通過(guò)課程實(shí)習(xí)、課程設(shè)計(jì)兩個(gè)環(huán)節(jié)來(lái)實(shí)現(xiàn),前者偏重于對(duì)課程內(nèi)容的理解,后者側(cè)重于軟件設(shè)計(jì)的綜合訓(xùn)練,突出以項(xiàng)目訓(xùn)練為主的教學(xué)實(shí)踐。
(1) 作業(yè)練習(xí)
書(shū)面作業(yè)是上機(jī)實(shí)習(xí)的基礎(chǔ)。通過(guò)精心設(shè)計(jì)、選擇典型的習(xí)題,啟發(fā)學(xué)生自主完成、改造習(xí)題、舉一反三,使得學(xué)生在有限的時(shí)間內(nèi),通過(guò)有限的習(xí)題,掌握盡可能多的知識(shí)。做到每堂課有作業(yè),每章有綜合練習(xí),作業(yè)全收全改,收發(fā)及時(shí),明確指出作業(yè)中的錯(cuò)誤點(diǎn),并對(duì)具有技術(shù)難點(diǎn)的題目,進(jìn)行啟發(fā)式講解。
(2) 實(shí)習(xí)指導(dǎo)
課程實(shí)習(xí)著眼于原理與應(yīng)用的結(jié)合點(diǎn),使學(xué)生學(xué)會(huì)如何把書(shū)上學(xué)到的知識(shí)用于解決實(shí)際問(wèn)題,培養(yǎng)軟件工作所需要的動(dòng)手能力,通過(guò)課程實(shí)習(xí)使學(xué)生將書(shū)上的知識(shí)學(xué)“活”,起到深化理解和靈活掌握教學(xué)內(nèi)容的目的。
在實(shí)習(xí)環(huán)節(jié),采用了“指導(dǎo)—大運(yùn)動(dòng)量實(shí)踐—反饋”法,即在教學(xué)中強(qiáng)調(diào)對(duì)學(xué)習(xí)內(nèi)容的要求和指導(dǎo),采取大運(yùn)動(dòng)量訓(xùn)練并及時(shí)了解實(shí)踐反饋信息的方法。質(zhì)的飛躍來(lái)自量的積累,艱苦的磨練,良好的專業(yè)技能和創(chuàng)造性思維培養(yǎng)的關(guān)鍵在于教師良好的教育引導(dǎo)。本課程的教學(xué)梯隊(duì)成員均主持或參加過(guò)國(guó)家級(jí)、省部級(jí)、橫向科研項(xiàng)目,均有主持或參加開(kāi)發(fā)大型應(yīng)用軟件的經(jīng)歷,良好的科研素質(zhì)基礎(chǔ)在深化教學(xué)實(shí)習(xí)中發(fā)揮了重要作用,這種技能訓(xùn)練過(guò)程的有效指導(dǎo),大大的提高了學(xué)生善于與計(jì)算機(jī)交談的能力和善于聯(lián)想、觸類旁通的能力,在復(fù)雜程序設(shè)計(jì)過(guò)程中使學(xué)生的構(gòu)造性思維得到了鍛煉,有利于知識(shí)、技能的鞏固和遷移,為進(jìn)行軟件開(kāi)發(fā)打下了良好的基礎(chǔ)。
(3) 課程設(shè)計(jì)
課程設(shè)計(jì)重在培養(yǎng)學(xué)生軟件設(shè)計(jì)的綜合能力。對(duì)“數(shù)據(jù)結(jié)構(gòu)”課程設(shè)計(jì)作出規(guī)范要求,突出了關(guān)鍵技術(shù)要點(diǎn),貫穿基本技能訓(xùn)練主線,體現(xiàn)加強(qiáng)實(shí)踐能力培養(yǎng)的重要思路。
“數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)”是進(jìn)行軟件綜合訓(xùn)練的第一門課,通過(guò)選用具有一定實(shí)用性的綜合題目,采用學(xué)生個(gè)人進(jìn)行和小組合作的方式,通過(guò)問(wèn)題分析、總體結(jié)構(gòu)設(shè)計(jì)、用戶界面設(shè)計(jì)、程序設(shè)計(jì)實(shí)現(xiàn)與測(cè)試的一系列過(guò)程, 培養(yǎng)學(xué)生動(dòng)手實(shí)踐、協(xié)作開(kāi)發(fā)大型軟件項(xiàng)目的能力,使學(xué)生能夠按照軟件工程的工程化、系統(tǒng)化方法進(jìn)行軟件設(shè)計(jì)與實(shí)現(xiàn),為后續(xù)專業(yè)技能的訓(xùn)練提供基礎(chǔ)。
通過(guò)課程設(shè)計(jì)的訓(xùn)練,突出構(gòu)造性思維訓(xùn)練的特征,提高了學(xué)生組織數(shù)據(jù)與進(jìn)行編寫大型程序能力,使學(xué)生更好地理解和掌握了算法設(shè)計(jì)所需的技術(shù),為整個(gè)專業(yè)學(xué)習(xí)打下了良好的基礎(chǔ)。
(4) 考核方式
考核過(guò)程采用了全程化(平時(shí)考核、期中考試、期末考試)、立體化(課堂聽(tīng)講、作業(yè)、自學(xué)、實(shí)習(xí))、標(biāo)準(zhǔn)化(參照水平考試、等級(jí)考試等國(guó)家統(tǒng)一考試的命題要求)的新型考核體系。真實(shí)地反映了學(xué)生掌握知識(shí)、技能的情況,充分發(fā)揮考核與考試對(duì)學(xué)生學(xué)習(xí)的督促作用,以及考試內(nèi)容對(duì)學(xué)生學(xué)習(xí)的引導(dǎo)作用。
平時(shí)考核主要通過(guò)課堂提問(wèn)、課堂抽查、小測(cè)驗(yàn)、作業(yè)情況、上機(jī)表現(xiàn)等環(huán)節(jié)進(jìn)行;期中考試和期末考試采用標(biāo)準(zhǔn)化形式,增加近年來(lái)水平考試中要求的題型,把握課程內(nèi)容要求的深度,加大算法理解與分析、算法設(shè)計(jì)、構(gòu)造分析類、能力型題目的比例。幫助學(xué)生在學(xué)習(xí)中注重廣泛閱讀、加深理解,從書(shū)本越讀越厚,過(guò)渡到提綱攜領(lǐng),總結(jié)提高,使書(shū)本越讀越薄。同時(shí)教師可通過(guò)對(duì)考試試卷的分析總結(jié),找出問(wèn)題,為改進(jìn)教學(xué)提供依據(jù);實(shí)習(xí)考核則通過(guò)考核程序質(zhì)量、調(diào)試技能、實(shí)習(xí)報(bào)告。經(jīng)過(guò)多年考試過(guò)程的驗(yàn)證,考核內(nèi)容和考核方式適合課程的性質(zhì)和要求。
3加強(qiáng)教學(xué)資源建設(shè)
為了豐富教學(xué)資源,建設(shè)數(shù)據(jù)結(jié)構(gòu)課程網(wǎng)站,在網(wǎng)站上,提供電子教材、多媒體課件、網(wǎng)上考試與練習(xí)系統(tǒng)、試題庫(kù)等相關(guān)資源。與教材配套的多媒體教學(xué)課件中具有復(fù)雜抽象算法的動(dòng)態(tài)演示過(guò)程,通過(guò)實(shí)例化、可視化方式把抽象的概念形象化,突出了典型算法的本質(zhì)。同時(shí)多媒體課件中提供的選件控制方式為教師教學(xué)的個(gè)性化發(fā)揮提供了基礎(chǔ)。
(1) 開(kāi)發(fā)與教材配套、適合網(wǎng)上教學(xué)的多媒體課件
“數(shù)據(jù)結(jié)構(gòu)”課程的難點(diǎn)在于對(duì)抽象算法本質(zhì)的理解,利用Flash進(jìn)行開(kāi)發(fā),以動(dòng)畫的形式來(lái)展現(xiàn)算法,并結(jié)合實(shí)例演示來(lái)加強(qiáng)學(xué)生對(duì)算法的理解。
課件制作融入了教學(xué)理念,滲透模塊化、數(shù)據(jù)抽象和信息隱蔽等新觀點(diǎn)新技術(shù),用精練的文字、準(zhǔn)確的圖示描述基本概念,用直觀的動(dòng)畫解釋抽象的算法過(guò)程,豐富了學(xué)生獲取信息的種類、方式,有助于教師形象生動(dòng)、深入淺出的講解,便于學(xué)生從直觀的感性認(rèn)識(shí)過(guò)渡到理性的深入理解。課件通過(guò)采用模擬方法、單步顯示、自動(dòng)演示多種方式,并采用動(dòng)態(tài)網(wǎng)頁(yè)方式框架,充分考慮網(wǎng)絡(luò)方式下超鏈接使用的接口,課件中提供了選件控制方式,具有互動(dòng)性、組裝性、動(dòng)態(tài)性,便于教師在講課過(guò)程中對(duì)內(nèi)容進(jìn)行組合,為教師教學(xué)的個(gè)性化發(fā)揮提供了基礎(chǔ)。實(shí)現(xiàn)了多媒體課件與黑板講授相結(jié)合的課堂授課方式,發(fā)揮了傳統(tǒng)教學(xué)與電化教學(xué)各自的優(yōu)勢(shì)。目前有幾十所院校直接與我們聯(lián)系使用課件事宜。
(2) 建設(shè)課程網(wǎng)上教學(xué)網(wǎng)站
課程輔導(dǎo)網(wǎng)站提供了教學(xué)大綱、電子教案、電子教材、課堂視頻、多媒體課件、參考文獻(xiàn)、聯(lián)系教師、相關(guān)題庫(kù)等豐富的教學(xué)資源,增加了學(xué)生學(xué)習(xí)課程的手段,拓寬了學(xué)生的視野,為課內(nèi)學(xué)習(xí)與課外學(xué)習(xí)相結(jié)合提供了支撐,實(shí)現(xiàn)了面授輔導(dǎo)方式與網(wǎng)上輔導(dǎo)相結(jié)合的方式,將傳統(tǒng)的面對(duì)面輔導(dǎo)方式與通過(guò)教學(xué)網(wǎng)站進(jìn)行的網(wǎng)上輔導(dǎo)方式相結(jié)合。通過(guò)論壇、E-mail等方式,實(shí)現(xiàn)師生、生生之間超越時(shí)間、空間限制的自由討論,大大提高了輔導(dǎo)的效果和效率。資源上網(wǎng)后經(jīng)常收到來(lái)自校內(nèi)外學(xué)生與同行的信息,為校間及國(guó)內(nèi)同行提供了課程交流的平臺(tái)。使學(xué)生在課堂與課下均有學(xué)習(xí)指導(dǎo),提高了教學(xué)質(zhì)量、效率與效果。
(3) 加強(qiáng)程序設(shè)計(jì)類訓(xùn)練平臺(tái)建設(shè)
深入開(kāi)展程序設(shè)計(jì)類的課程建設(shè),提供了相關(guān)的為加強(qiáng)程序設(shè)計(jì)類訓(xùn)練,并建設(shè)了相關(guān)類教學(xué)資源,以提供交流與溝通的渠道。
4課程改革和建設(shè)效果
在教學(xué)體系改革、實(shí)踐能力培養(yǎng)、教學(xué)資源建設(shè)、考核手段上已形成系列特色,提出并實(shí)施了概念、模型、算法的三層次體系結(jié)構(gòu);采用“指導(dǎo)—實(shí)踐—反饋的措施,采用全程化、標(biāo)準(zhǔn)化、立體化的考核方式,通過(guò)作業(yè)練習(xí)、實(shí)習(xí)指導(dǎo)、課程設(shè)計(jì)、考核過(guò)程,重點(diǎn)強(qiáng)化實(shí)踐素質(zhì)能力的培養(yǎng);加強(qiáng)教學(xué)資源建設(shè),利用現(xiàn)代教學(xué)手段,開(kāi)發(fā)并逐步完善了具有互動(dòng)性、組裝性、動(dòng)態(tài)性的多媒體課件,建設(shè)充實(shí)課程網(wǎng)站,為同行教師間師生學(xué)生間提供了共享與交流的平臺(tái)。該成果經(jīng)過(guò)本科教學(xué)多年實(shí)踐檢驗(yàn),已在國(guó)內(nèi)多所院校應(yīng)用,受益面大,影響面寬,成效顯著,充分表明該項(xiàng)成果的示范性與推廣價(jià)值。