向志華 賴小平


摘? ?要:文章結合應用型本科學生的學習特點、現狀及計算機行業的人才需求,按照教學難度遞增,層次化設計實踐內容,改善實踐教學方法和評價機制,建立以教師為主線,以學生對象為主體的實踐課程教學體系,從而激發學生學習興趣,提高學生創新能力,為國家培養創新型計算機專業人才。
關鍵詞:“數據結構與算法”;實踐教學;人才培養;創新
1? ? “數據結構與算法”實踐教學體系建設的意義
“數據結構與算法”課程作為一門計算機專業的核心課程,對培養學生的計算思維能力、算法設計能力和創新能力有非常重要的意義[1-2]。學生通過課堂知識點學習、上機編程和調試算法,掌握算法的設計思路,進一步提高算法分析和設計水平。為了培養學生的程序開發和創新能力,必須對已有的教學模式進行改革,構建符合應用型本科院校創新人才培養需求的實踐教學體系,從而提高學生的專業素質和實踐創新能力[3]。
2? ? 實踐教學現狀分析
在該課程的學習過程中,需要將以往高級語言程序設計的編程基礎融入數據的結構與算法設計中。雖然在教學過程中理論、實踐教學同步進行,但現有的實踐教學體系教學效果并不理想,主要存在以下問題。
2.1? 理論教學和實踐教學脫節,對實踐課堂不夠重視
課程內容的抽象性和邏輯性很強,有些學生在學習中會因為理論跟實踐銜接得不夠緊密,無法將所學算法編碼調試出來,從而喪失學習積極性。
學生程序設計基礎薄弱,缺乏計算思維能力,對課堂實訓重視度不夠,達不到預期的教學效果。
2.2? 參加競賽或考試通過率低
學生對程序員考試、軟件設計師以及各類程序設計競賽等各類題型掌握得不夠深入,導致參加各類考證的通過率低、參加競賽的獲獎率及獲獎等級不高。
3? ? 實踐教學體系建設方案
3.1? 制定實踐教學大綱
以學生的創新能力為培養目標,結合應用型本科學生特點,秉承“重實踐、強能力”的理念,對珠三角軟件行業的發展進行調研,對“數據結構與算法”課程在工作崗位中的應用情況進行分析,結合職業考證要求,制定并修改教學大綱。
3.2? 合理設計實踐教學內容
實踐教學內容要加強注重知識點之間的聯系,按照“讀,仿,改,創”的模式組織教學內容[4],合理設計難度呈階梯式的微項目實踐,主要有以下3種方式:驗證型實踐、設計型實踐及綜合應用型實踐[5]。
“數據結構與算法”實踐教學中,驗證型和設計型實踐主要以個人實踐為主,綜合應用型實踐以團隊實踐為主,主要注重學生團隊精神、創新實踐能力。在大部分的應用型本科院校,學生編程基礎各不相同,上機時間也有限,所以將實踐教學設計按難度分階段、分層次的階梯式微項目。對于一些復雜的綜合應用型實踐,若課內時間難以完成,學生可以利用課外時間自主學習。各階段實踐教學內容安排如表1所示。
3.2.1? 驗證型實踐
驗證型實踐微項目主要來源于教材中的基礎算法設計,實現對所學數據結構基本算法的驗證。在學習相關理論知識后,將抽象算法的執行過程進行演示,并將相關內容以作業的形式布置給學生。學生在上機過程中參考老師的算法和代碼編程進行驗證,如線性表、棧、隊列、數組、樹、圖這些抽象數據結構的構造、查找、插入、刪除算法等,通過對算法過程的演示讓學生對算法有感性認識,在低難度的情況下能夠自主動手,從而快速掌握知識點。
3.2.2? 設計型實踐
設計型實踐微項目難度中等,綜合了課程內容的多個知識點。在課程學習的中期,加入數據結構內容中較為經典的算法設計。教師通過實踐引導和啟發,讓學生自主思考設計算法,在上機過程中加深對不同數據結構的理解,并靈活掌握算法中數據的組織、加工、處理方式。
3.2.3? 綜合應用型實踐
綜合應用型實踐微項目一般在課程后期進行,以培養學生創新精神和創新能力為目標,充分利用學校內外各項教學資源開展實施。綜合應用型實踐項目具有創新性,對學生的設計和創新能力提出了更高的要求,同時也為學生提供了更加自主的平臺。綜合應用型實踐教學內容的來源主要有兩個:
(1)來自學科競賽中經過簡化的問題,如“藍橋杯”大賽、ACM程序設計競賽、團體程序設計天梯賽等,大賽的歷屆題庫為綜合應用型實踐教學提供了豐富的資源。
(2)來自實用軟件開發項目、大學生創新創業項目、科研項目等,主要來自實際的校園和社會需求,培養學生數據模型建立、數據結構設計和算法最終實現的能力。
3.3? 教學方法的選擇
使用靈活多樣的教學方法,能讓學生更好地掌握課程知識點、開拓思維、延伸和擴展知識面。同時,在實踐教學中,還要充分利用已有的網絡技術和多媒體技術,搭建實踐教學平臺,方便學生更好地完成各階段實訓內容。
驗證型實踐教學方法以算法動畫演示和圖示及文字講解為主,引導學生分析、模仿算法。
設計型實踐通過對實踐內容進行指導和啟發,讓學生自己實現編程,使其加深對該種數據結構的設計、存儲及算法的理解。
綜合應用型實踐,采用項目式的教學模式組織課堂教學,按照軟件工程的指導思想,讓學生自主組隊實訓。組內成員一起展開討論,選出項目負責人,并進行需求分析,確定實施步驟并明確各成員的角色和任務。通過項目式的團隊工作,使學生逐步了解團隊溝通和協作的方式,熟悉大型項目開發的流程[6]。教師可以根據學生的完成情況,從中選拔優秀學生參加不同級別的競賽。實踐教學內容及方法分層如圖1所示。
3.4? 建立合理的考核評價機制
在實踐課程考核中,各部分實踐內容所占的比重如下:驗證型實踐項目(50%),設計型實踐(30%),綜合設計型實踐(20%)。教師須建立合理的考核標準,根據項目完成情況對驗證型實踐、設計型實踐進行評價。綜合設計型項目以分組形式進行,結合項目文檔資料以及可執行程序,并參考分工及工作量進行考核評價。
4? ? 結語
文章以應用型本科院校的辦學宗旨和特色為基礎,以培養學生的創新能力為目標,構建教師為主導、學生為主體的課程實踐教學體系,在不同階段利用不同的教學手段和方法,實施難度不同的實踐教學活動。教學方式由教師單一的指導驗證轉變為學生積極主動的多形式、創新性學習,有效地活躍創新思維,提高創新能力。
[參考文獻]
[1]黃翹.基于B/S模式的數據結構實驗平臺設計[J].數字通信世界,2018(3):186.
[2]徐勝舟.以學科競賽驅動程序設計類課程教學改革研究[J].軟件導刊,2015(5):180-182.
[3]吳長偉,鄭曉霞,鄧紅,等.應用型本科數據結構課程多維度實踐教學體系改革[J].中國冶金教,2015(4):63-66.
[4]徐新愛,胡啟宙,盧昕.基于學科競賽的計算機專業實踐教學模式探索[J].計算機教育,2015(12):126-130.
[5]鄭明輝,胡濤,周慧華.以項目+競賽模式引領計算機專業創新實踐能力培養[J].計算機教育,2014(8):47-51.
[6]文俊浩,徐玲,熊慶宇,等.漸進性階梯式工程實踐教學體系的構造[J].高等工程教育研究,2014(1):161-163.
Abstract:This paper combining with the learning characteristics, current situation of application-oriented students and the demand for talents in the computer industry, according to the increasing difficulty of teaching, rationally design hierarchical practical content,and improve practical teaching methods and evaluation mechanism, so to establish a practical teaching system with teachers as the main line and students as the main body, then stimulate students learning interest, improve students innovative ability, and train innovative computer professionals for the country.
Key words:“Data Structure and Algorithm”; practical teaching; talent training; innovation