摘要:教學(xué)實(shí)踐是決定“數(shù)據(jù)結(jié)構(gòu)”課程學(xué)習(xí)成效的重要環(huán)節(jié)。以“數(shù)據(jù)結(jié)構(gòu)”的教學(xué)目標(biāo)和學(xué)生創(chuàng)新能力的培養(yǎng)為前提,將課程的實(shí)踐活動(dòng)分為驗(yàn)證、設(shè)計(jì)、綜合和創(chuàng)新四個(gè)層次;按學(xué)生和教師兩種角色討論實(shí)踐活動(dòng)的實(shí)施方法;介紹服務(wù)于多層實(shí)踐活動(dòng)的輔助教材和教學(xué)網(wǎng)站;提出構(gòu)建多維一體的數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)系統(tǒng)。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);實(shí)踐;多維;教材
“數(shù)據(jù)結(jié)構(gòu)”是在20世紀(jì)60年代中期才設(shè)立的一門課程。它主要討論在軟件開發(fā)過程中的分析、設(shè)計(jì)與實(shí)現(xiàn)中的若干基本問題[1]:1)問題的建模。如何把客觀世界的問題映射到計(jì)算機(jī)世界中?如何在計(jì)算機(jī)世界中表述和存儲(chǔ)客觀世界中的對(duì)象?它是算法處理的對(duì)象。2)問題的求解方法,即算法。3)算法的評(píng)價(jià)。評(píng)價(jià)算法的優(yōu)劣。算法是數(shù)據(jù)結(jié)構(gòu)的主要研究內(nèi)容。算法是計(jì)算機(jī)科學(xué)的核心,也是一種一般性的智能工具。“學(xué)習(xí)算法有助于人們對(duì)其他學(xué)科的理解,不管是化學(xué)、控制、甚至音樂,即使非計(jì)算機(jī)專業(yè)的學(xué)生,學(xué)習(xí)算法的理由也是非常充分的[2]?!币虼?,數(shù)據(jù)結(jié)構(gòu)是高級(jí)程序設(shè)計(jì)、編譯原理、操作系統(tǒng)、數(shù)據(jù)庫、人工智能等課程的基礎(chǔ),它不僅被作為計(jì)算機(jī)相關(guān)專業(yè)(如計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、網(wǎng)絡(luò)工程等)的一門核心的專業(yè)基礎(chǔ)課;也是工科、理科、醫(yī)科等學(xué)科中許多專業(yè)的必修或選修專業(yè)基礎(chǔ)課。
“數(shù)據(jù)結(jié)構(gòu)”課程具有抽象性和實(shí)踐性??陀^世界中的問題在計(jì)算機(jī)中的表示與算法描述是抽象的,但算法的實(shí)現(xiàn)是實(shí)踐的,惟有通過實(shí)踐才能真正掌握課程內(nèi)容,達(dá)到學(xué)習(xí)目標(biāo)。通常在有限的課時(shí)內(nèi),教師主要講授的是抽象部分,此種情況下如果沒有相應(yīng)的實(shí)踐,課程的學(xué)習(xí)將如同在沙漠建房,難以落成。
因此,如何構(gòu)建能夠有效的實(shí)踐環(huán)節(jié),一直是教師關(guān)注的問題。
筆者結(jié)合“數(shù)據(jù)結(jié)構(gòu)”課程建設(shè),就多維一體的“數(shù)據(jù)結(jié)構(gòu)”實(shí)踐教學(xué)系統(tǒng)的構(gòu)建與實(shí)現(xiàn)進(jìn)行總結(jié),以期為“數(shù)據(jù)結(jié)構(gòu)”實(shí)踐教學(xué)提供一定的參考和借鑒。
1 “數(shù)據(jù)結(jié)構(gòu)”實(shí)踐活動(dòng)層次
實(shí)踐是一切認(rèn)識(shí)活動(dòng)和知識(shí)的前提[3],學(xué)生的認(rèn)識(shí)主要是在實(shí)踐活動(dòng)中發(fā)展起來的[4]。筆者根據(jù)由淺入深、循序漸進(jìn)和創(chuàng)新能力獲得的規(guī)律,將課程實(shí)踐活動(dòng)按層次由低到高分為驗(yàn)證型實(shí)踐、設(shè)計(jì)型實(shí)踐、綜合型實(shí)踐和創(chuàng)新型實(shí)踐。
1.1驗(yàn)證型實(shí)踐
荀子說:“聞之,不若見之;見之,不若知之;知之,不若行之……行之,明也?!彬?yàn)證型實(shí)踐指通過運(yùn)行已實(shí)現(xiàn)的算法對(duì)書本知識(shí)及算法進(jìn)行對(duì)錯(cuò)性的驗(yàn)證。驗(yàn)證理論的實(shí)踐活動(dòng)使學(xué)生充分領(lǐng)悟知識(shí)的內(nèi)在意蘊(yùn),加深學(xué)生對(duì)基礎(chǔ)知識(shí)的理解,掌握基本實(shí)驗(yàn)技能,為后續(xù)較高層次的實(shí)踐活動(dòng)奠定基礎(chǔ)。驗(yàn)證型實(shí)踐活動(dòng)從內(nèi)容上來講,它依附于課堂教學(xué),是課堂教學(xué)的延伸和補(bǔ)充。
1.2設(shè)計(jì)型實(shí)踐
設(shè)計(jì)型實(shí)踐指用所學(xué)的一個(gè)或若干個(gè)知識(shí)點(diǎn)去解決特定的問題。通過對(duì)問題的求解,了解知識(shí)的應(yīng)用場景,獲取知識(shí)的初步應(yīng)用能力。智慧來源于知識(shí),但知識(shí)不會(huì)自然而然地達(dá)成智慧,需要通過實(shí)踐活動(dòng)對(duì)知識(shí)“內(nèi)化”和“活化”,起關(guān)鍵作用的是人的實(shí)踐經(jīng)驗(yàn)[5]。這里的知識(shí)是局部的,是一個(gè)個(gè)知識(shí)點(diǎn)。大量的設(shè)計(jì)練習(xí)是解決較復(fù)雜的問題的基礎(chǔ)。
1.3綜合型實(shí)踐
綜合型實(shí)踐是指將所學(xué)的數(shù)據(jù)結(jié)構(gòu)思想與方法,應(yīng)用到軟件開發(fā)的分析、設(shè)計(jì)與實(shí)現(xiàn)等方面。綜合型實(shí)踐要用到課程的許多知識(shí)點(diǎn)。能力與智慧的獲得,絕不是簡單的累積,此處,1+1≠2。學(xué)習(xí)者可能掌握各個(gè)知識(shí)點(diǎn)及其各自的應(yīng)用,但不等于具備解決復(fù)雜問題的能力,盲人摸象的典故正說明這一點(diǎn)。通過綜合實(shí)踐,引導(dǎo)學(xué)生從全局的觀點(diǎn),認(rèn)識(shí)數(shù)據(jù)結(jié)構(gòu)課程的精髓和本質(zhì);指導(dǎo)學(xué)生如何綜合地將所學(xué)的知識(shí)應(yīng)用于軟件開發(fā)過程中。
1.4創(chuàng)新型實(shí)踐
創(chuàng)新型實(shí)踐是指能夠激發(fā)和培養(yǎng)學(xué)生創(chuàng)新能力的實(shí)踐活動(dòng)。培養(yǎng)具有創(chuàng)新精神和實(shí)踐能力的有較高綜合素質(zhì)的人才是當(dāng)代教育的目標(biāo),也是學(xué)校教學(xué)的出發(fā)點(diǎn)和歸宿。但“人的發(fā)展以人在不同經(jīng)驗(yàn)方式中發(fā)展為前提[5]”,創(chuàng)新型實(shí)踐旨在通過實(shí)踐活動(dòng)培養(yǎng)學(xué)生的創(chuàng)新能力,由舊知識(shí)建構(gòu)新知識(shí),達(dá)到學(xué)習(xí)的目標(biāo)。
2數(shù)據(jù)結(jié)構(gòu)實(shí)踐活動(dòng)的實(shí)施
實(shí)踐活動(dòng)的參與者有教師和學(xué)生兩方。學(xué)生是實(shí)踐的主體,旨在運(yùn)用所學(xué)的知識(shí)和理論發(fā)現(xiàn)問題、分析問題、嘗試解決問題,目的是提高解決問題的能力。教師是引導(dǎo)者,為學(xué)生提供必要的實(shí)踐環(huán)境和條件,當(dāng)學(xué)生遇到困難時(shí),給予指導(dǎo);對(duì)學(xué)生的實(shí)踐成果給予評(píng)定,使他們不斷進(jìn)取。
2.1驗(yàn)證型實(shí)踐
對(duì)驗(yàn)證型實(shí)踐的處理方式有兩種。一種是作為課程實(shí)驗(yàn)內(nèi)容。此法的不妥之處在于:1)在有限的實(shí)驗(yàn)課時(shí)內(nèi),只能完成驗(yàn)證工作的很少一部分;2)如果把驗(yàn)證作為課程實(shí)驗(yàn)的主要內(nèi)容,那高一層次的設(shè)計(jì)型實(shí)驗(yàn)就沒有時(shí)間了。另一種方式是完全由學(xué)生自我解決。持該觀點(diǎn)者認(rèn)為,算法的實(shí)現(xiàn)是學(xué)生在學(xué)過高級(jí)程序設(shè)計(jì)語言后應(yīng)該能解決的問題,不是本課程應(yīng)該關(guān)注的。其實(shí),算法描述和算法實(shí)現(xiàn)之間是有距離的,這如同一臺(tái)機(jī)器的構(gòu)造和機(jī)器生產(chǎn)工藝流程之間的區(qū)別一樣,能夠跨越這個(gè)距離的學(xué)生很少,即使有的學(xué)生具備這個(gè)能力,但因時(shí)間、精力所限,也不可能實(shí)現(xiàn)教材中的所有算法。
一個(gè)人接受科學(xué)教育的最大收獲是那些能夠受用一生的智能工具。數(shù)據(jù)結(jié)構(gòu)正屬于這類教育的內(nèi)容。通過學(xué)習(xí)算法,學(xué)生一方面開擴(kuò)眼界,培養(yǎng)正確的思維方法,更重要的是數(shù)據(jù)結(jié)構(gòu)介紹的典型數(shù)據(jù)模型和實(shí)現(xiàn),是一種可以用于解決復(fù)雜問題的工具。如果學(xué)習(xí)者的學(xué)習(xí)只是紙上談兵,就不可能學(xué)會(huì)工具的使用,就無法用工具去解決問題呢?所以,無論從學(xué)習(xí)者的認(rèn)知所需還是從課程的學(xué)習(xí)目的來看,以適當(dāng)?shù)姆绞綆椭鷮W(xué)生掌握典型的數(shù)據(jù)模型的實(shí)現(xiàn)是必須的。因此,上述兩種方法均不可取。我們的做法是由教師實(shí)現(xiàn)這些數(shù)據(jù)模型并把源程序提供給學(xué)生,學(xué)生利用課余時(shí)間自行進(jìn)行驗(yàn)證實(shí)驗(yàn),具體任務(wù)如下。
1) 教師。①給出教材中相應(yīng)算法實(shí)現(xiàn)后的源程序;②給出程序設(shè)計(jì)說明,方便學(xué)生理解程序的結(jié)構(gòu)與功能;③給出思考題,引導(dǎo)學(xué)生閱讀源程序和理解源程序;④給出操作說明和測試用例,引導(dǎo)學(xué)生進(jìn)行正確性地驗(yàn)證和更全面地理解算法。
2) 學(xué)生。①理解相關(guān)背景知識(shí);②根據(jù)程序設(shè)計(jì)說明和思考題閱讀源程序;③根據(jù)操作說明運(yùn)行源程序的測試用例,并進(jìn)行結(jié)果分析;④回答思考題。
為了督促學(xué)生進(jìn)行驗(yàn)證實(shí)踐,要求學(xué)生將任務(wù)③、④的工作記錄作為作業(yè)上交;教師利用課堂提問,抽檢和討論部分源程序的運(yùn)行結(jié)論。
2.2設(shè)計(jì)型實(shí)踐
設(shè)計(jì)型實(shí)踐活動(dòng)分為兩個(gè)部分,一是課程實(shí)驗(yàn),二是作業(yè)。
2.2.1課程實(shí)驗(yàn)
鑒于實(shí)踐對(duì)數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)的重要作用,一般會(huì)拿出課時(shí)的1/5~1/4用于課程實(shí)驗(yàn)。針對(duì)課程實(shí)驗(yàn),教師與學(xué)生的工作分別如下。
1) 教師。①給出問題描述,提出問題解決的基本要求,如采用的知識(shí)點(diǎn)、輸入輸出要求、算法復(fù)雜度等;②對(duì)問題進(jìn)行初步分析,必要時(shí)給出邏輯設(shè)計(jì)和存儲(chǔ)設(shè)計(jì)的建議;③酌情給出算法描述;④給出若干測試用例,引導(dǎo)學(xué)生進(jìn)行功能測試,領(lǐng)會(huì)健壯的程序設(shè)計(jì);⑤給出實(shí)驗(yàn)報(bào)告撰寫要求,包含問題描述、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、功能劃分和算法設(shè)計(jì)、界面設(shè)計(jì)、運(yùn)行與測試、總結(jié)與心得、源程序等。
2) 學(xué)生。①分析問題;②定義數(shù)據(jù)結(jié)構(gòu);③給出算法描述;④編程實(shí)現(xiàn)算法;⑤用測試用例測試程序,記錄運(yùn)行結(jié)果;⑥寫出符合要求的實(shí)驗(yàn)報(bào)告。
教師通過檢查源程序運(yùn)行情況和批閱實(shí)驗(yàn)報(bào)告,了解和評(píng)定學(xué)生的實(shí)驗(yàn)情況。
2.2.2作業(yè)
作業(yè)題分為兩類:基本概念題和算法設(shè)計(jì)題。部分算法設(shè)計(jì)題要求學(xué)生編程實(shí)現(xiàn),以彌補(bǔ)課堂設(shè)計(jì)實(shí)驗(yàn)的不足。對(duì)于這部分實(shí)踐活動(dòng),教師布置題目,通過批改作業(yè),檢查學(xué)生的完成情況。學(xué)生編程實(shí)現(xiàn)題目,將設(shè)計(jì)思路、算法和運(yùn)行結(jié)果形成作業(yè)上交。
2.3課程設(shè)計(jì)
課程設(shè)計(jì)對(duì)應(yīng)于綜合實(shí)踐活動(dòng)。對(duì)于計(jì)算機(jī)相關(guān)專業(yè)的學(xué)生來說,在“數(shù)據(jù)結(jié)構(gòu)”課程學(xué)習(xí)結(jié)束后,通過前期的驗(yàn)證和設(shè)計(jì)實(shí)踐,具備一定的綜合使用課程知識(shí)解決問題的能力和規(guī)范的程序設(shè)計(jì)能力。所以,一般在課程結(jié)束后,單獨(dú)有1~2周的“數(shù)據(jù)結(jié)構(gòu)”課程設(shè)計(jì),教師與學(xué)生的工作分別如下。
1) 教師。①制定課程設(shè)計(jì)實(shí)施計(jì)劃書。給出課程設(shè)計(jì)的目的和要求、日程安排、考核方法及分組情況等。②給出問題描述。區(qū)別于設(shè)計(jì)題,這里的問題一般較復(fù)雜,實(shí)現(xiàn)的源碼,一般均在500行以上,甚至千余行。③提出設(shè)計(jì)要求,引導(dǎo)學(xué)生進(jìn)行概要分析??煞譃榛疽蠛洼^高要求,與不同層次的學(xué)生的能力相對(duì)應(yīng)。④設(shè)計(jì)提示。綜合設(shè)計(jì)的問題解決,通常包含多個(gè)算法,對(duì)其中特別難的、學(xué)生不易想到的要點(diǎn)給出提示。⑤提出課程設(shè)計(jì)報(bào)告的寫作要求。包含需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、調(diào)試分析、測試分析、總結(jié)與體會(huì)、使用說明及源程序等。
2) 學(xué)生。①根據(jù)實(shí)施計(jì)劃書的進(jìn)度要求、問題描述和設(shè)計(jì)要求進(jìn)行“概要設(shè)計(jì)→詳細(xì)設(shè)計(jì)→調(diào)試測試”的問題求解;②接受系統(tǒng)檢查;③撰寫符合要求的課程設(shè)計(jì)報(bào)告。
教師通過作品檢查和批閱課程設(shè)計(jì)報(bào)告給出學(xué)生的課程設(shè)計(jì)成績。教師通常在課程設(shè)計(jì)的最后一天,通過運(yùn)行系統(tǒng)和提問,檢查學(xué)生的系統(tǒng)設(shè)計(jì)與完成情況。
2.4科技活動(dòng)
學(xué)生的創(chuàng)新能力來自科研實(shí)踐??蒲袑?shí)踐要因人而異,針對(duì)學(xué)有余力的學(xué)生,通過下列三種途徑提供科研實(shí)踐活動(dòng)。
2.4.1項(xiàng)目開發(fā)
通過項(xiàng)目鍛煉,培養(yǎng)學(xué)生進(jìn)行科學(xué)研究的工作方法和相互協(xié)作的精神。
1) 輔研。教師積極向?qū)W生介紹自己的研究方向和課題,吸納有特長和興趣的學(xué)生參加自己的項(xiàng)目研究,根據(jù)其知識(shí)結(jié)構(gòu),給學(xué)生布置力所能及的任務(wù),逐步深入。
2) 項(xiàng)目申報(bào)。積極鼓勵(lì)學(xué)生參與各級(jí)項(xiàng)目的申報(bào)。學(xué)生作為申報(bào)人并獲得資金的資助,能有效增加其完成項(xiàng)目的責(zé)任感與投入其中的熱情。
2.4.2社會(huì)實(shí)踐
“沒有經(jīng)驗(yàn)”被企業(yè)視為大學(xué)畢業(yè)生的最ovwHDD1q0Iylry6gmHuOKyCa3O+ZMKp+Zpi6dlOQu3s=大弱項(xiàng)。參加社會(huì)實(shí)踐,是學(xué)生獲取經(jīng)驗(yàn)的最好途徑。學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的學(xué)生基本上是大二和大三的,這樣,他們有1~2個(gè)暑假,可以進(jìn)行社會(huì)實(shí)踐。教師向?qū)W生宣傳社會(huì)實(shí)踐的好處,介紹社會(huì)實(shí)踐場所。學(xué)生在寒暑假或平時(shí)課余時(shí)間,到某個(gè)單位短期工作或兼職工作,參與單位具體項(xiàng)目的工發(fā)。
2.4.3競賽
競賽是學(xué)生用理論知識(shí)解決實(shí)際問題的有效載體,是檢驗(yàn)、鍛煉、提高和展示學(xué)生科技創(chuàng)新能力的很好平臺(tái)。競賽所帶來的榮譽(yù)感,能夠有效激勵(lì)學(xué)生的創(chuàng)新熱情。常見的競賽有:校級(jí)的“希盟杯”電腦技能設(shè)計(jì)大賽、網(wǎng)頁設(shè)計(jì)大賽等;市級(jí)的“天翼杯”電腦技能大賽、科技創(chuàng)新大賽等;省級(jí)的“富士通”杯網(wǎng)頁網(wǎng)站設(shè)計(jì)大賽、大學(xué)生軟件設(shè)計(jì)大賽等;國家級(jí)的數(shù)學(xué)建模大賽、“挑戰(zhàn)杯”全國大學(xué)生科技作品競賽、軟件人才設(shè)計(jì)大賽等。
教師及時(shí)地把各種競賽信息通報(bào)給學(xué)生并組織學(xué)生申報(bào);組織好競賽作品的創(chuàng)作與指導(dǎo)工作;對(duì)參賽者和獲獎(jiǎng)?wù)呓o予一定的獎(jiǎng)勵(lì),并對(duì)參賽作品進(jìn)行展示和宣傳,擴(kuò)大活動(dòng)效果,以吸引更多的學(xué)生參與競賽活動(dòng)。
3 “數(shù)據(jù)結(jié)構(gòu)”實(shí)踐平臺(tái)
為了使數(shù)據(jù)結(jié)構(gòu)的實(shí)踐活動(dòng)能夠順利進(jìn)行,我們編寫了《數(shù)據(jù)結(jié)構(gòu)實(shí)踐教程》[6],創(chuàng)建了“數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)網(wǎng)站”作為實(shí)踐教學(xué)實(shí)施平臺(tái)。
3.1 《數(shù)據(jù)結(jié)構(gòu)實(shí)踐教程》教材建設(shè)
本書含蓋了1—3層的實(shí)踐活動(dòng)的素材和實(shí)施指導(dǎo)。全書分為三篇:驗(yàn)證篇、設(shè)計(jì)篇和綜合篇。
1) 驗(yàn)證篇。詳述《數(shù)據(jù)結(jié)構(gòu)》[1]教材中相關(guān)算法的實(shí)現(xiàn)。本篇首章介紹算法到程序轉(zhuǎn)換的基本步驟及需要注意的問題;給出了進(jìn)行驗(yàn)證性實(shí)驗(yàn)的步驟;同時(shí)介紹了實(shí)驗(yàn)環(huán)境。其余各章按教材教學(xué)內(nèi)容進(jìn)行編排。每個(gè)應(yīng)用程序的敘述采用一致的結(jié)構(gòu),由如下四個(gè)部分組成:①程序設(shè)計(jì)。給出數(shù)據(jù)的類定義和程序結(jié)構(gòu)圖。②源程序。方便學(xué)習(xí)者研習(xí)程序設(shè)計(jì)思路、程序結(jié)構(gòu)、改進(jìn)程序以及更好地操作程序。③程序運(yùn)行。給出程序操作方法介紹及程序運(yùn)行界面。④思考題。引導(dǎo)學(xué)習(xí)者更深入地理解程序、程序所實(shí)現(xiàn)的算法、程序所采用的存儲(chǔ)結(jié)構(gòu)以及可改進(jìn)之處。
2) 設(shè)計(jì)篇。針對(duì)一定的知識(shí)點(diǎn)給出不同難易程度的設(shè)計(jì)題,作為課程實(shí)驗(yàn)和課后程序設(shè)計(jì)素材。本篇介紹了設(shè)計(jì)型實(shí)驗(yàn)的實(shí)驗(yàn)步驟、設(shè)計(jì)內(nèi)容;提供了實(shí)驗(yàn)報(bào)告格式,并給出一個(gè)實(shí)驗(yàn)報(bào)告案例。其余各章按教材教學(xué)內(nèi)容進(jìn)行編排,每個(gè)設(shè)計(jì)題由以下五個(gè)部分組成:①問題描述。給出問題背景,提出需要解決的問題。②基本要求。給出算法實(shí)現(xiàn)時(shí)對(duì)數(shù)據(jù)邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)、功能設(shè)計(jì)、數(shù)據(jù)輸入或輸出上的要求。③實(shí)現(xiàn)提示。對(duì)算法設(shè)計(jì)給出必要的提示或偽碼描述。④測試與運(yùn)行。給出測試案例。⑤思考題。提出相關(guān)問題或更高設(shè)計(jì)要求。
3) 綜合篇。針對(duì)一個(gè)以上的知識(shí)點(diǎn)給出綜合設(shè)計(jì)題,可以作為課程設(shè)計(jì)素材。全篇首章給出有關(guān)綜合設(shè)計(jì)項(xiàng)目涵蓋的內(nèi)容、綜合設(shè)計(jì)報(bào)告格式以及綜合設(shè)計(jì)成績評(píng)定準(zhǔn)則等。其余各章按設(shè)計(jì)任務(wù)編排,每個(gè)項(xiàng)目任務(wù)的敘述由以下三個(gè)部分組成:①問題描述。給出問題背景,提出需要解決的問題。②設(shè)計(jì)要求。提出項(xiàng)目設(shè)計(jì)與實(shí)現(xiàn)時(shí)功能上需求,分為基本要求和較高要求。③實(shí)現(xiàn)提示。對(duì)數(shù)據(jù)組成形式、相關(guān)算法設(shè)計(jì)上給出必要的提示。
該教材充分考慮了學(xué)習(xí)者進(jìn)行1—3層次的實(shí)踐活動(dòng)的可能需求。驗(yàn)證程序使用菜單界面,結(jié)構(gòu)統(tǒng)一,操作簡單;設(shè)計(jì)篇和綜合篇內(nèi)容豐富,提供了各種難易程度、且有一定實(shí)用性或趣味性的題目,可以為學(xué)習(xí)者提供全程指導(dǎo)。
3.2數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)網(wǎng)站
該網(wǎng)站分為用戶管理、學(xué)生主頁和老師主頁三個(gè)部分,其功能如圖1所示。
圖1 “數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)平臺(tái)”系統(tǒng)功能
3.2.1學(xué)生主頁
以學(xué)生身份登錄系統(tǒng)后進(jìn)入學(xué)生主頁,從中查看實(shí)踐教學(xué)內(nèi)容、聯(lián)系教師,上傳作業(yè)、在線交流等。頁面中包括課程實(shí)驗(yàn)、課程實(shí)訓(xùn)、課程設(shè)計(jì)、作品展示等。
1) 課程實(shí)驗(yàn):提供實(shí)驗(yàn)教學(xué)大綱、實(shí)驗(yàn)指導(dǎo)書及實(shí)驗(yàn)上傳功能。
2) 作品展示:提供經(jīng)典算法設(shè)計(jì)案例、優(yōu)秀學(xué)生作品展示、典型數(shù)據(jù)結(jié)構(gòu)及其基本操作的算法動(dòng)畫演示等。
3) 課程實(shí)訓(xùn):提供習(xí)題、試題、典型題解、最新題庫等。
4) 課程設(shè)計(jì):提供課程設(shè)計(jì)指導(dǎo)書、課程設(shè)計(jì)作品上傳等。
3.2.2教師界面
以教師身份登錄系統(tǒng)后進(jìn)入教師主頁。教師通過該頁面,發(fā)布公告,進(jìn)行實(shí)驗(yàn)、實(shí)訓(xùn)(即課外設(shè)計(jì))、課程設(shè)計(jì)、作品、學(xué)生、教師等相關(guān)信息的管理。
1) 公告管理:實(shí)施公告的編輯、發(fā)布及公告的數(shù)據(jù)庫管理等。
2) 課程實(shí)驗(yàn):發(fā)布實(shí)驗(yàn)指導(dǎo)相關(guān)內(nèi)容;查看學(xué)生上傳的課程實(shí)驗(yàn)源程序與報(bào)告。
3) 課程實(shí)訓(xùn):發(fā)布實(shí)訓(xùn)設(shè)計(jì)問題及對(duì)問題庫的數(shù)據(jù)庫管理。
4) 課程設(shè)計(jì):發(fā)布課設(shè)指導(dǎo)相關(guān)材料;對(duì)學(xué)生上傳作業(yè)進(jìn)行管理。
數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)系統(tǒng)的開發(fā)為學(xué)生和教師帶來了很大的方便,通過網(wǎng)絡(luò)突破時(shí)間和空間的限制,方便教師與學(xué)生之間、學(xué)生與學(xué)生之間的專題交流,為學(xué)生提供豐富的素材。
4結(jié)語
實(shí)踐教學(xué)是“數(shù)據(jù)結(jié)構(gòu)”教學(xué)中不可缺少的環(huán)節(jié),對(duì)課程學(xué)習(xí)成效起著決定性的作用。筆者根據(jù)課程特點(diǎn)和創(chuàng)新人才培養(yǎng)目標(biāo),提出按驗(yàn)證、設(shè)計(jì)、綜合和創(chuàng)新四個(gè)層次的實(shí)踐活動(dòng),對(duì)教材和網(wǎng)站的建設(shè)進(jìn)行了積極探索,構(gòu)建了一個(gè)多維一體的數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)體系。經(jīng)過多年的實(shí)踐,已經(jīng)取得了明顯的成效,考研率逐年提高;學(xué)生在各級(jí)比賽中獲獎(jiǎng)越來越多,等級(jí)也逐步提高。
參考文獻(xiàn):
[1]