周玲芳 米成全 李政峰



關(guān)鍵詞:《數(shù)據(jù)結(jié)構(gòu)與算法》是一門訓(xùn)練學(xué)生思維、培養(yǎng)學(xué)生程序設(shè)計(jì)技能的課程,對學(xué)生理論轉(zhuǎn)化實(shí)踐的能力要求很高,因此這門課程的實(shí)踐教學(xué)尤為重要。但該課程實(shí)踐教學(xué)普遍在課程安排、網(wǎng)絡(luò)資源利用以及實(shí)訓(xùn)內(nèi)容設(shè)置方面存在問題。本文針對現(xiàn)存問題提出應(yīng)對策略,并用以實(shí)際教學(xué),通過教學(xué)結(jié)果驗(yàn)證策略的可行性以及在提升教學(xué)質(zhì)量方面的成效。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);實(shí)踐教學(xué);教學(xué)質(zhì)量
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)30-0106-02
在信息時代迅速發(fā)展、人才競爭日益激烈的當(dāng)代,實(shí)踐和創(chuàng)新能力變得尤為重要,傳統(tǒng)的教育模式需要不斷改革和創(chuàng)新,才能培養(yǎng)出更具競爭力的實(shí)踐人才。
大類招生背景下,《數(shù)據(jù)結(jié)構(gòu)與算法》成為高校計(jì)算機(jī)及信息類等相關(guān)專業(yè)開設(shè)的一門必選專業(yè)課程。這門課程集理論和實(shí)踐為一體,對學(xué)生分析、解決問題能力要求較高,對上課老師在教學(xué)方法和實(shí)訓(xùn)內(nèi)容設(shè)計(jì)方面也提出更高的要求。
1課程概述
如果說各類編程語言是開發(fā)工程師的招式,那么數(shù)據(jù)結(jié)構(gòu)與算法就是其內(nèi)功。作為計(jì)算機(jī)及信息類專業(yè)的核心課程,《數(shù)據(jù)結(jié)構(gòu)與算法》涉及程序設(shè)計(jì)、計(jì)算機(jī)軟硬件、數(shù)據(jù)庫管理、編譯原理、人工智能、操作系統(tǒng)、圖像處理等眾多領(lǐng)域。在學(xué)科體系中其重要性如圖1:
2實(shí)踐教學(xué)存在的問題
筆者在該課程實(shí)踐教學(xué)過程以及和其他高校同課程老師交流過程中,發(fā)現(xiàn)實(shí)踐教學(xué)方面普遍存在以下問題:
1)實(shí)踐訓(xùn)練不足
《數(shù)據(jù)結(jié)構(gòu)與算法》是一門要將理論融會貫通,用以在實(shí)訓(xùn)中解決具體問題的課程,學(xué)習(xí)難度較高。且學(xué)生普遍編程經(jīng)驗(yàn)少,很難跨出從理論到實(shí)踐的第一步,這需要足夠多的實(shí)踐訓(xùn)練來積累。
2)課程安排不合理
《數(shù)據(jù)結(jié)構(gòu)與算法》的前置課程包括最主要的c語言,還有必備的數(shù)學(xué)基礎(chǔ),如高等數(shù)學(xué)、離散數(shù)學(xué)和線性代數(shù)。高校部分專業(yè)沒有開設(shè)離散數(shù)學(xué)課程,而且不同專業(yè)C語言的教學(xué)要求和范圍不一致,比如c語言中指針沒有列入教學(xué)范圍或者沒有重點(diǎn)講解,導(dǎo)致在數(shù)據(jù)結(jié)構(gòu)中無法理解鏈?zhǔn)酱鎯Y(jié)構(gòu)的各種指針操作。另外,有的專業(yè)課程安排中存在C語言和高數(shù)、線性代數(shù)并行或者線性代數(shù)排在C語言之后的現(xiàn)象,這樣都會使得學(xué)生C語言基礎(chǔ)薄弱,從而在進(jìn)一步學(xué)習(xí)本課程時障礙重重。
3)嚴(yán)重的抄襲問題
由于實(shí)訓(xùn)題目大多來源于教材的典型案例,學(xué)生很容易在網(wǎng)上搜索到相關(guān)源碼,加上畏難心態(tài),部分學(xué)生直接照搬網(wǎng)上源碼或者復(fù)制同學(xué)代碼來應(yīng)付老師。
4)學(xué)習(xí)興趣不足
由于數(shù)據(jù)結(jié)構(gòu)是一門比較抽象、難理解的課程,編程基礎(chǔ)薄弱或者思維轉(zhuǎn)換不過來的學(xué)生會感到學(xué)習(xí)困難大,學(xué)習(xí)效率不高,慢慢就喪失了學(xué)習(xí)興趣。
3應(yīng)對策略
針對實(shí)踐教學(xué)過程中現(xiàn)存的問題,筆者提出以下應(yīng)對策略。
1)針對實(shí)訓(xùn)課時問題,筆者建議實(shí)踐和理論課時之比至少1:1,同時,理論課時和實(shí)踐課時應(yīng)該交叉排課,這樣剛學(xué)的理論知識能及時在實(shí)踐過程中得以鞏固。另外,設(shè)計(jì)難度系數(shù)偏低又不乏趣味性的課外實(shí)訓(xùn)任務(wù),并以此作為平時成績的重要依據(jù),這樣能豐富實(shí)訓(xùn)內(nèi)容和激發(fā)學(xué)習(xí)興趣。
2)針對課程安排問題,筆者建議前置課程盡量排在大二下學(xué)期之前;《c語言》的教學(xué)范圍應(yīng)同時兼顧《數(shù)據(jù)結(jié)構(gòu)與算法》的課程要求;《數(shù)據(jù)結(jié)構(gòu)與算法》應(yīng)該緊接c語言排課,“趁熱打鐵”的方式讓學(xué)生知識結(jié)構(gòu)更連貫,老師也不用多花時間去給學(xué)生復(fù)習(xí)基礎(chǔ)知識。
3)針對抄襲問題,筆者建議一方面要從認(rèn)識上糾正,讓學(xué)生意識到抄襲是不對的,是自欺欺人的行為。要讓學(xué)生懂得想要學(xué)到知識,必然要付出相應(yīng)的努力。另一方面,從出題上斷了學(xué)生抄襲的后路。在設(shè)計(jì)實(shí)踐案例的時候,結(jié)合專業(yè)特色和學(xué)生特點(diǎn)對典型案例的輸人、輸出、數(shù)據(jù)、實(shí)現(xiàn)形式、實(shí)現(xiàn)方法或?qū)嶒?yàn)要求等方面進(jìn)行個性化定制。這樣,就算學(xué)生從網(wǎng)上找到的相關(guān)代碼,或者拿到同學(xué)已經(jīng)運(yùn)行成功的代碼,也要結(jié)合自己題目的個性化要求進(jìn)行修改、調(diào)試才能運(yùn)行出結(jié)果。
4)“興趣”是最好的導(dǎo)師,興趣不足就得培養(yǎng)。主要從以下幾個方面著手:
實(shí)踐任務(wù)設(shè)置要從易到難,循序漸進(jìn),避免一開始就嚇退學(xué)生,設(shè)計(jì)引導(dǎo)性強(qiáng)的課外實(shí)訓(xùn)題目鞏固基礎(chǔ);
實(shí)踐題材結(jié)合學(xué)生的關(guān)注熱點(diǎn)和興趣點(diǎn),引導(dǎo)學(xué)生從自身出發(fā)來思考問題;
在實(shí)訓(xùn)過程中,允許“室友互幫”“老鄉(xiāng)互幫”操作,鼓勵學(xué)生互相討論和幫助;
設(shè)置團(tuán)隊(duì)任務(wù),引導(dǎo)學(xué)生團(tuán)隊(duì)合作和良性競爭。
5)另外,為了應(yīng)對“大數(shù)據(jù)時代”對人才的需求,《數(shù)據(jù)結(jié)構(gòu)與算法》在教學(xué)過程中也應(yīng)順應(yīng)前沿領(lǐng)域的發(fā)展,在線性表、哈希表、二叉樹及圖等知識的學(xué)習(xí)中進(jìn)行拓展,設(shè)計(jì)基于大數(shù)據(jù)的應(yīng)用案例作為綜合實(shí)驗(yàn)課題,加強(qiáng)學(xué)生創(chuàng)新能力和綜合實(shí)踐能力的培養(yǎng)。
4教學(xué)效果分析
這一學(xué)期在16級通信工程專業(yè)三、四班進(jìn)行了試點(diǎn)教學(xué),并和平行班級進(jìn)行對比分析。選取順序表的基本操作及應(yīng)用、單鏈表的基本操作及應(yīng)用、棧的基本操作及應(yīng)用、隊(duì)列的基本操作及應(yīng)用、串的基本操作及應(yīng)用、查找、排序七次實(shí)驗(yàn)作為考察點(diǎn)。最后統(tǒng)計(jì)試點(diǎn)班級和參照班級在七次實(shí)驗(yàn)課程的表現(xiàn)及得分,結(jié)果圖2:
通過數(shù)據(jù)對比發(fā)現(xiàn)在傳統(tǒng)實(shí)踐教學(xué)條件下,參考班級的成績都相對偏低,試點(diǎn)班級的實(shí)驗(yàn)得分整體比參考班級平均提高8.25分,這說明改進(jìn)的實(shí)踐教學(xué)取得了更好的教學(xué)效果。
另一方面,通過課后調(diào)查發(fā)現(xiàn),一學(xué)期下來,參考班級和試點(diǎn)班級的學(xué)生在學(xué)習(xí)興趣和課外學(xué)習(xí)方面也存在較大差異。圖3為學(xué)習(xí)興趣、課后提問以及課外延伸學(xué)習(xí)三方面的調(diào)查結(jié)果。
數(shù)據(jù)表明試點(diǎn)班級的學(xué)生編程和算法設(shè)計(jì)興趣明顯提升,課外主動擴(kuò)展學(xué)習(xí)和主動聯(lián)系老師調(diào)試代碼的學(xué)生人數(shù)居多,整體的學(xué)習(xí)氛圍更好。這也說明有效的實(shí)踐教學(xué)課堂在引導(dǎo)學(xué)習(xí)興趣、形成主動學(xué)習(xí)意識等方面有良好的效果。
5結(jié)束語
如何讓學(xué)生在激烈的人才競爭中獲取優(yōu)勢是作為老師應(yīng)該考慮的問題,論文總結(jié)歸納《數(shù)據(jù)結(jié)構(gòu)與算法》課程實(shí)踐教學(xué)方面現(xiàn)存的種種問題,并就如何解決這些問題進(jìn)行初步探索,也在實(shí)際教學(xué)中取得了初步成效。論文嘗試回答本課程在實(shí)踐人才培養(yǎng)方面如何教、教什么以及如何改的問題,這是一個大的課題,需要和更多相關(guān)課程的老師一起探討、深人研究。