柴世紅
摘 要:文章闡述了數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)改革,介紹了CDIO的教學(xué)理念及如何將其應(yīng)用在數(shù)據(jù)結(jié)構(gòu)的實(shí)踐教學(xué)中:實(shí)踐教學(xué)的三次結(jié)構(gòu)、實(shí)踐教學(xué)的具體實(shí)施策略。
關(guān)鍵詞:CDIO;數(shù)據(jù)結(jié)構(gòu);教學(xué)改革
一、CDIO教學(xué)理念
CDIO是麻省理工學(xué)院探索創(chuàng)立的工程教育理念,以真實(shí)軟件系統(tǒng)為基礎(chǔ),將軟件產(chǎn)品從構(gòu)思(Conceive)、設(shè)計(jì)(Design)、實(shí)施(Implement)和運(yùn)作(Operate)的生命周期作為載體,教導(dǎo)學(xué)生分析問題、解決問題的手段和方法,讓學(xué)生主動(dòng)地把課程知識(shí)結(jié)構(gòu)融入到學(xué)習(xí)、實(shí)踐的過程當(dāng)中,培養(yǎng)學(xué)生的工程實(shí)踐能力[1]。我們?cè)趯I(yè)教學(xué)實(shí)踐中,應(yīng)用CDIO探索了專業(yè)實(shí)踐課程新思路。
二、基于CDIO的實(shí)踐教學(xué)架構(gòu)
實(shí)驗(yàn)環(huán)節(jié)要求所有學(xué)生獨(dú)立完成,在每個(gè)章節(jié)理論知識(shí)學(xué)習(xí)完成之后,對(duì)該知識(shí)點(diǎn)涉及的基本數(shù)據(jù)結(jié)構(gòu)完成其設(shè)計(jì)、實(shí)現(xiàn)。不限定所使用的語(yǔ)言,可以采用C、Java、C++、matlab、Python語(yǔ)言等,鼓勵(lì)學(xué)生學(xué)習(xí)新知識(shí),激發(fā)學(xué)生學(xué)習(xí)興趣。
課程設(shè)計(jì)環(huán)節(jié)以2~3人為小組進(jìn)行,選用具有典型應(yīng)用案例的問題作為實(shí)踐題目,讓學(xué)生討論設(shè)計(jì)方案,完成算法實(shí)現(xiàn)。在這一過程中,培養(yǎng)鍛煉學(xué)生的溝通能力、語(yǔ)言表達(dá)能力,并進(jìn)行團(tuán)隊(duì)合作,這也是CDIO工程能力中強(qiáng)調(diào)的目標(biāo)。
課外創(chuàng)新性實(shí)驗(yàn)項(xiàng)目環(huán)節(jié),充分利用各級(jí)專業(yè)競(jìng)賽、學(xué)生社團(tuán)活動(dòng)、學(xué)生項(xiàng)目申報(bào)等途徑組織培養(yǎng)有能力的學(xué)生參與軟件產(chǎn)品開發(fā)。
三、實(shí)踐教學(xué)實(shí)施
1.實(shí)施案例
根據(jù)CDIO的思想,實(shí)踐教學(xué)的實(shí)施以軟件系統(tǒng)開發(fā)生命周期作為流程,將軟件產(chǎn)品開發(fā)過程中的工作步驟分解為需求分析、系統(tǒng)設(shè)計(jì)、算法編碼、軟件測(cè)試、運(yùn)行結(jié)果分析五個(gè)環(huán)節(jié)。尤其在課程設(shè)計(jì)、課外創(chuàng)新性實(shí)驗(yàn)項(xiàng)目可依據(jù)該流程逐步地完成項(xiàng)目,從而將關(guān)于該應(yīng)用涉及的基本知識(shí)、技術(shù)、開發(fā)平臺(tái)、項(xiàng)目實(shí)施的基本策略匯聚成整體,對(duì)知識(shí)的應(yīng)用有了更深層次的理解。
以“路徑規(guī)劃”應(yīng)用課程設(shè)計(jì)為例,學(xué)生拿到項(xiàng)目任務(wù)及要求“對(duì)于某交通網(wǎng)絡(luò)圖,找到任意兩點(diǎn)之間的最短路徑”。先進(jìn)行需求分析,按照軟件工程文檔規(guī)范建立需求分析報(bào)告,從而將問題研究透徹。在系統(tǒng)設(shè)計(jì)的過程中,考慮采用適合的數(shù)據(jù)結(jié)構(gòu)來對(duì)交通網(wǎng)絡(luò)建模,這個(gè)階段教師可以適當(dāng)引導(dǎo),但是不要過多干預(yù),提倡學(xué)生“主動(dòng)學(xué)習(xí)”,讓學(xué)生直接參與到軟件項(xiàng)目的開發(fā)中,引導(dǎo)學(xué)生獨(dú)立思考問題,讓學(xué)生運(yùn)用知識(shí)去操作、應(yīng)用、主動(dòng)解決問題和評(píng)測(cè)[2],盡量避免讓學(xué)生被動(dòng)地接受知識(shí)。
在算法編碼階段,教師要重點(diǎn)訓(xùn)練學(xué)生應(yīng)用已有技術(shù)解決問題的應(yīng)用能力,編碼能力有限的學(xué)生,可以在項(xiàng)目中分擔(dān)部分任務(wù),降低難度但仍有學(xué)習(xí)空間。在軟件測(cè)試階段全組共同參與,鍛煉學(xué)生的交流能力。
運(yùn)行結(jié)果分析階段進(jìn)行小組答辯,鍛煉學(xué)生總結(jié)問題的能力和語(yǔ)言表達(dá)的能力。
2.實(shí)踐教學(xué)實(shí)施保障
實(shí)踐環(huán)節(jié)的教學(xué)需要軟硬件條件的支撐。實(shí)驗(yàn)環(huán)節(jié)安排在專業(yè)實(shí)驗(yàn)室進(jìn)行;課程設(shè)計(jì)依托實(shí)踐實(shí)訓(xùn)基地完成;課外創(chuàng)新實(shí)驗(yàn)項(xiàng)目在學(xué)生社團(tuán)工作室、項(xiàng)目工作室完成。
基礎(chǔ)實(shí)驗(yàn)項(xiàng)目已經(jīng)建成了相關(guān)指導(dǎo)性文件,并有實(shí)驗(yàn)任務(wù),每個(gè)任務(wù)包括必做和可選任務(wù),學(xué)生可根據(jù)實(shí)際情況完成。課程設(shè)計(jì)項(xiàng)目、實(shí)習(xí)項(xiàng)目已經(jīng)建立了相應(yīng)的項(xiàng)目庫(kù),學(xué)生可以選擇題目完成。創(chuàng)新性實(shí)驗(yàn)項(xiàng)目主要由學(xué)生申報(bào),學(xué)生可以自擬題目,也可以參與老師的科研教改項(xiàng)目完成。
四、結(jié)語(yǔ)
CDIO教學(xué)模式注重工程教育,強(qiáng)調(diào)學(xué)生的素質(zhì)培養(yǎng),教學(xué)要達(dá)到最優(yōu)效果關(guān)鍵在于實(shí)踐環(huán)節(jié)完成質(zhì)量。對(duì)實(shí)踐環(huán)節(jié)進(jìn)行分層次設(shè)計(jì),在實(shí)施過程中遵照軟件生命周期展開。該教學(xué)模式強(qiáng)調(diào)學(xué)生用豐富的項(xiàng)目庫(kù)作支撐,在不斷提高教學(xué)質(zhì)量的過程中,積累豐富的教學(xué)資源。
參考文獻(xiàn):
[1]朱亞玲,張睿敏.基于CDIO模式的軟件技術(shù)專業(yè)教學(xué)改革[J].高教學(xué)刊,2016(2).
[2]易著梁,黃 偉.基于CDIO教育模式軟件技術(shù)專業(yè)項(xiàng)目教學(xué)實(shí)踐[J].計(jì)算機(jī)教育,2010(11).