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