資料結構課程中應用型教學的實踐論文
資料結構課程中應用型教學的實踐論文
摘要:應用型教育是當前大學本科教育中的一個薄弱環節。如何將本科教學中的具體講授知識點轉化為學生的實際動手能力, 培養應用型人才一直是大學教育中的一個重要研究課題。針對以上問題, 本文從多方面分析了應用型本科教育的特點, 結合作者多年的實踐教學經驗和體會, 詳細闡述了應用型教育在“演算法與資料結構”課程教學中的存在的問題, 並最後提出了對所存在問題的一些相關改進探索。實踐證明, 相關方法的探索在一定程度上對學生將所學知識進行實踐應用的轉化起到了一定的積極作用。
關鍵詞:應用型教育; 資料結構; 教改;
資料結構是一門對程式設計算法的抽象描述[1], 其講述了在程式設計過程中, 如何將實際問題進行抽象描述、對組織資料進行儲存和處理的, 是從基礎的程式語言過渡到高階程式設計的一門專業基礎課程[2]。學生對於該課程的學習效果在很大程度上決定了學生對整個計算機程式設計方面的學習興趣和後續詳細專業課程的學習效果。
我校的資料結構課程組已有十多年的授課經驗, 主體由中青年老師組成, 在多媒體課件、自主試題庫、無紙化測試、上機課程設計方面都具有較為完備的教育資源。本文就我校在本科應用型資料結構課程建設的實際情況, 提出了一定方法上的探索及其在實際教學過程中取得的成效分析。
一應用型本科教育的特點
當前, 大學本科教育主要分為研究型本科教育和應用型本科教育。研究型本科教育的主要目的在於培養創新型、理論型人才以滿足社會中原創性科研任務的需求。應用型本科教育的主要目的在於培養具有較強應用實踐能力的人才以滿足社會對相關高階人才的需求。根據培養目標的不同, 兩者處於高等教育的不同層次。根據不同的生源、師資、教學條件等, 應用型本科教育具有以下幾個方面的特點:
(一) 多樣性。
相較於原創科研型人才的培養, 應用型人才的培養是面向社會發展的不同需求而定的, 主要分為工程型、技術型和技能型三個層次。注重培養學生應用所學知識解決實際問題的能力, 在掌握基本技能的基礎上, 發揮學生自己的創造性想法, 逐步精通某項技術, 能夠獨立完成較大規模的工程。在具備以上基礎的前提下, 進行原創性技術的研究工作才是學術型人才的培養。當前, 主要的學術型人才的培養主要集中在研究生的教學極端, 而大部分的本科生的教育任務主要還是偏向於應用型人才的方向。同時, 根據不同學校的生源質量和師資條件的不同, 在應用型教育的不同層次目標上, 側重點也有不同。
(二) 綜合性。
學生的培養, 不僅僅是專業知識的培養, 同時還需要注重學生綜合素質的培養, 成為高素質的應用型人才。隨著網際網路、大資料的發展, 專業之間的限制開始變得模糊, 各種交叉學科和企業逐漸增多, 需要的`人才也在慢慢偏向於多專業背景的符合人才。因此, 應用型人才的培養也要注意多學科, 多種知識的應用能力。同時, 綜合性還體現在學生理論和實際動手結合的能力方面, 學生不僅需要掌握較為全面的理論文化知識, 還應該有較強的實踐動手能力。這裡的實踐動手能力, 不僅僅指所學專業的實踐動手能力, 還應該具有面對新問題的獨立思考, 獨立探索的能力, 能夠獨立解決未知問題的能力, 其中也包含了一定的自我學習能力。因此, 在應用型本科教育中要避免過於偏重專業知識的培養, 而忽略了學生綜合素質的培養的問題, 應當注重學生個人素質、個人價值的提神, 重點激發學生的自主學習能力。
(三) 實踐性。
應用型本科教育的重要目標就是培養學生的實踐能力, 就是將所學知識向實際動手能力的轉化。學生需要在理解相關理論知識的前提下, 能夠熟練的掌握相關工具進行實際專案的開發, 並在專案實施過程中具備一定的創造能力。同時, 實踐也應與實際發展相結合, 隨著社會需求的變化而不斷進行更新以迎合社會需求。
二應用型教學的改進探索
(一) 針對教程側重點的問題進行最佳化調節。
應用型教育決定了在資料結構教學中的側重點應偏向於學生的實踐能力的培養。當前的資料結構的教學過程中, 在知識點的講授過程中, 較偏向於算法理論的講解, 過於強調對演算法完備性, 最佳化方法的理解上, 較偏向於演算法完善的理論性研究。由於課程的考核原因, 學生會在筆試考試內容上分配較多的時間精力, 而在時間程式設計上沒有引起太大的重視。因此, 針對這種情況, 為了增加資料結構教學中的應用型培養, 在課程的教學過程中, 特意增加了實驗型教學環節。不僅僅是增加了機房上機的實驗型教學環節, 在理論授課的過程中, 也穿插了程式設計演示的過程, 讓學生在理論學習的同時增強對動手程式設計的感官認識。最後, 在課程的最後授課環節, 添加了課程設計環節, 旨在讓學生運用所學知識解決一個較為實際的問題。
(二) 針對實踐環節的內容設計問題進行最佳化。
當前, 資料結構課程最大的難點在於, 學生對於理論知識聽得懂, 相關原理也能做到理解, 但就是在動手上存在不敢動手, 不會動手的問題。每到上機實驗課程時, 很多學生都是照著書本進行程式碼的輸入, 很少有自足進行演算法設計和完善工作的。如何激發學生自主思考, 自主動手的興趣和信心, 一直是資料結構課程教學中存在的難題。考慮到學生在學習資料結構前, 大都只進行過基本的程式語言的學習, 程式設計基礎大都比較薄弱, 因此, 為了提升學生的動手程式設計的興趣和自信, 課程組採用了循序漸進的方式開展了實驗環節的教學。在實驗課程的開始階段, 主要以銜接前期的C語言為主, 以連結串列、陣列的應用為主要設計內容, 讓學生在低難度的情況下能夠自主動手, 積累自信。在課程的後期, 加入資料結構中特有的棧、佇列及排序等經典演算法, 達到課程的基本知識的動手訓練的目的。對於程式設計能力不同的學生, 採用了以多人小組的模式, 透過多人合作的方式完成設計, 在小組中採用不同的分工, 讓能力強的學生帶動能力弱的學生一起動手, 達到學生間的互幫互助。透過以上方式不斷激發學生的程式設計信心和興趣。最後透過課程最後的小任務環節, 採用小組的形式讓學生實現一些簡單的軟體功能, 模擬軟體開發的整個過程, 讓學生對軟體開發有一定的實際體會, 達到應用型教學的目的。
(三) 針對傳統教學中以筆試考試為主的考核方
式存在的不足, 課題組提出了在課程考核上的一定的改進。在課程的考核中, 弱化了筆試考查成績的佔比, 加入了課程設計的答辯評分成績。同時, 加入了新的考核模式, 採用了機考的新模式, 除了傳統的選擇填空等考察題型外, 在機考中加入了演算法程式設計題的考察。透過這種方式的改進嘗試, 能夠在一定程度上避免學生過於專注於理論知識的學習和複習中, 變相的加強了學生對動手能力的考察。
三應用型教學的改進效果
透過對資料結構課程的應用型授課方法的改進, 在幾個學期的授課中取得了一定的改進效果。在理論授課的過程中, 學生透過實驗程式碼的演示過程, 能夠對相關演算法有較深入的瞭解, 在上課時往往能參與到演算法的演示中, 開始具有一定的積極性。在實驗環節的教學中, 由於從簡到難的循序漸進的過程, 學生從一開始的不敢動手編碼到後來能夠積極思考, 規劃, 然後設計程式碼, 並在以小組為單位的課程實驗環節有相當大的參與熱情。雖然無法讓所有學生都有很大的程式設計積極性, 但隨著課程的進行, 能夠積極參與的學生比例越來越高, 甚至出現一批自信心很強的學生, 這些在以前都是很難做到的。
四結束語
本文針對應用型本科教育對資料結構的教學過程提出了改革探索。重點在於提高學生對所學理論知識的實踐應用能力。由於傳統以筆試考試為主的教學方式中存在偏理論輕動手的不足, 以及學生在動手自信和積極性上的不足, 資料結構一直在應用型培養方面存在諸多不足。本文提出的種種嘗試, 在一定程度上提高了學生動手程式設計的積極性和自信, 在應用型培養上提出了一定的嘗試和探索。同時, 這些探索在實驗課題的選擇和難度上還存在一定的問題, 在以後的教學中還將進一步最佳化和改進。
參考文獻
[1]嚴蔚敏, 吳偉民.資料結構 (C語言版) [M].北京:清華大學出版社.2007:50-52.
[2]吳英傑, 王一蕾, 王曉東.面向問題求解的實踐教學模式—“演算法與資料結構”實踐教學改革[J].計算機教育, 2007 (4) :29-31
[3]劉鑫.應用型本科院校資料結構課程教學改革與實踐[J].教育現代化, 2016, 3 (20) :21-22.
[4]朱銳, 蔡瓊, 蔡敦波.資料結構實驗教學中的改進與探索[J].教育現代化, 2017, 4 (02) :59-61.