摘 要 數據結構課程是一門非常注重學生實踐能力培養的計算機專業核心課程,以能力為導向的實驗教學改革一改以往的傳統教學模式,從實驗教學內容、教學過程、考核機制等方面進行全面改革,取得較好的教學效果,學生實踐能力得到提升。
關鍵詞 數據結構;實驗;能力導向
中圖分類號:G642.423 文獻標識碼:B 文章編號:1671-489X(2011)24-0128-02
高校教育的理念以加強學生實踐能力鍛煉,培養創新人才為目標。作為計算機專業的核心基礎課程,數據結構既注重基本的程序設計能力的培養,又強調技術性和實踐應用性。本課程是后續若干課程的基礎,也是培養學生編程技巧、鍛煉實踐動手能力的首當其沖的課程。本課程的教學效果的好壞,對學生的專業興趣、后續課程學習、就業能力都有重大影響。因此,將能力導向納入數據結構實驗課程的教學設計中,充分運用項目化教學模式,取得良好的教學效果。
1 教學內容的改革
1.1 在教學內容中滲透能力導向
雖然目前軟件設計人才緊缺,但大量的企業卻一直無法找到具有優秀編程思想的畢業生,在進到企業之前仍需長期的培訓。所以在這門課的第一節課上,通過一些成功進入大型公司的優秀畢業生的案例來打動學生,以他們在校的表現、對編程的領悟和理解、在ACM競賽中持續堅持和努力并最終獲得成功的事件激勵學生。高年級學長的親身經歷很可能就在不經意間影響很多學生。
當學生對編程有了基本的了解和學習以后,多給學生看一看介紹國外優秀程序員的視頻,指導學生用軟件工程的思路來分析問題,讓他們了解設計程序比編寫程序更重要,優秀的算法能成為代碼的亮點。舉出如電路優化設計、網絡控制、圖像處理、人工智能等實例,改變學生對數據結構的片面認識,用大型公司的面試題分析來進一步激發學生的學習熱情。這一切要比讓他們看教科書所獲得的認知效果更好。在這個過程中,教師的作用是舉足輕重的,教師應該與學生保持交流與溝通,幫助學生進行自身定位,讓學生知道能力的重要,并且知道如何具備優秀程序員的相關能力。
1.2 實驗內容緊貼實際應用
目前的實驗內容大多以驗證性實驗為主,遵循“表——樹——圖——查找——排序”這五大內容上孤立的實驗。理論上教授的內容在實驗課上重復驗證,不僅浪費了學時,更無法調動學生進行程序設計的積極性和創造性,因而改革實驗內容迫在眉睫。
實驗內容不僅要前后銜接,過渡自然,環環相扣,更應該緊貼實際應用。例如,在做第一次“線性表”的實驗時,以分子生物學中基因鏈的重組作為實驗內容,讓學生應用鏈式存儲結構解決基因字符串的存儲,并實現簡單的查找和排序。再如做“樹”的實驗時,以九宮格的棋盤游戲為例,編寫代碼實現人機對弈;做“圖”的實驗時,以七橋問題為例,實現圖的遍歷及鏈表的綜合應用;做“查找-排序”的實驗時,以線性表的實驗內容為基礎,進行基因的快速比對和查找。或者設計一個綜合性的二分查找樹的排序問題,內容如下:衛星測控中對監測到的城市名進行記錄,現有10 000條信息,請對城市名按字母排序并輸出監測到的占比,時間控制在1秒內。以上實驗內容均以實際應用為例,不再單純地驗證課本代碼,不僅強調以能力為導向,更能激發學生的探索熱情。
1.3 教學內容層次化
學生的能力在客觀上存在差異,為了照顧能力較差的學生掌握基本知識,又要兼顧到能力較強學生的學習熱情,為此設三層次的實驗教學內容,進行分層次教學。每個實驗項目給出不同能力分值的題目,且題目數量不唯一。學生根據自身情況選擇不同難度的題目,只需要達到相應的分值即可。
例如,第一次做“線性表”的實驗,給出3個實驗層次:基礎驗證性40%,綜合設計性60%,創新性20%。前2個層次必做,后1個層次選做。每個層次里,分別給出不同分值的5個題目。例如基礎驗證性層次里,A、B、C題均為20分,D題30分、E題40分。學生只需要選夠40分的題目即可,分數超出部分教師根據情況酌情處理。這樣,能力薄弱的學生可以慢慢地打基礎,能力較強的學生則在不斷的拔高題中主動訓練自己。
2 教學過程的改革
目前的教學過程里學生大多是進入實驗室才開始想問題,從第一行代碼開始寫起。為了改變這種局面,進行課前、課中、課后三步走的實驗過程改革。課前給學生布置1~2道驗證性預作實驗,限定實驗前一周完成,不限地點地網上提交,并且有查重軟件防止學生抄襲。若課前預作實驗無法完成,則不能登陸實驗系統進行正常的實驗。實驗過程中,分層次教學,限時提交,當場評閱代碼并給出分數。另外,在開學之初即公布實驗課后鞏固題,不限時,只限量。在期末之前必須完成100道中的30道題目,其中這100道均為程序設計題。
同時鼓勵學生參與創新性實驗項目、大學生科技創新項目、撰寫發表科研小論文等。通過這樣的改革,不僅把學生的課外時間充分調動起來,而且針對大一的新生,這樣的訓練模式也培養了他們的自學能力、主動探索能力,為后序大學階段的學習養成良好的學習習慣。教學過程中安排課程組教師輪流在學生空閑時間答疑,加強上機輔導和課后輔導,和學生面對面的交流方式對提高學生的實踐能力也起到關鍵性作用。
3 考核形式的改革
3.1 摒棄筆試,采用機考
考核在教學過程中起著重要的作用,教師可以了解學生學習狀況,并據此實施因材施教,學生可以依此進行自我認識、自我評價,并引導實驗思路。傳統的筆試強調所考核知識點的完整性和全面性,而無法真正檢驗學生的實際技能、實踐能力等綜合素質。
取消筆試,直接采用機考形式考核學生的最終學習效果,題型僅限于程序填空和程序設計題。這不僅與目前工信部舉辦的全國軟件專業人才設計與開發大賽的題型和宗旨一致,更能使學生順應ACM國際大學生程序設計競賽的要求,為將來的參賽做準備。在規定的時間內完成一定數量的程序設計題,不僅可以檢驗相關知識點的掌握情況,更能很好地驗證學生能力提高與否。
3.2 多種形式的綜合測評
數據結構課程的綜合評定成績由平時成績、課程小論文、實驗課考查、創新性實驗加分等組成。目前試行的考核比重是:平時成績(包括學生平時到課率、學習表現、課堂討論、小測驗、作業等)20%,課程小論文10%,實驗課考查(包括預作實驗和課堂實驗的成績、實驗課表現和能力)20%,期末機考50%。另外,學生參加創新性實驗項目或發表課程論文,均有一定的加分。
考試形式靈活多樣,綜合評定成績的方法必定促使學生重視平時學習,對培養學生良好學習習慣起到較好的作用;有利于學生增加課外閱讀量,掌握自學方法,調動學生學習的主動性和創造性;另外,教師的小班授課可以讓教師更熟悉學生,平時關注學生的學業以熟悉每一個學生的學習狀況,這樣能做到心中有數,評分有據。
4 結語
總之,數據結構是一門理論和實踐緊密結合的課程,該課程教師應以學生為中心,以能力為導向,結合學生特點設計實驗課的教學過程,充分調動學生的學習積極性,變學生被動學習為主動學習,在實際教學過程中收到較好的教學效果,使學生綜合能力得到提升。
參考文獻
[1]於曉蘭.以能力為導向的項目化課程教學評價探討[J].武漢職業技術學院學報,2010,9(4):61-63
[2]郭觀七,周細義,張舸.應用型本科計算機專業實踐教學改革探索[J].計算機教育,2009(12):85-87
[3]趙玉蘭.“數據結構”課程實驗環節教學的改革與實踐[J].計算機教育,2010(1):70-72