摘要:C語言程序設計和數據結構是計算機應用技術等計算機相關專業重要的專業基礎課。本文論述了將C語言程序設計和數據結構進行整合的必要性,提出了這項教學改革的思路和方法、實踐教學的設計等相關內容。
關鍵詞:C語言;數據結構;整合;高職
隨著高職教育的發展,高職教育的課程改革越來越顯得重要和迫切。在幾年來的教學實踐中,我們通過對C語言與數據結構課程的整合,獲得了一定的教學經驗,取得了良好的教學效果。
一、課程整合的必要性
C語言程序設計和數據結構是計算機應用技術等計算機相關專業重要的專業基礎課。它的后續課程有操作系統、計算機網絡、軟件工程、數據庫概論、計算機圖形學和面向對象程序設計等課程,在整個專業教學中占有重要地位。傳統的教學模式是分兩門課程學習,先講C語言的程序設計,后講數據結構,分兩個學期授課。在以往的教學中發現這樣安排存在以下弊端:數據結構部分內容學生在實際應用中用不上學習難度大,不符合高職教學理論基礎知識“夠用為度”的原則,況且隨著學制的縮短,也不允許用兩個學期的學時進行這兩門課程的教學,課程改革勢在必行,同時這兩門課程的內容聯系也使整合具有了可行性。
二、課程整合的思路
C語言與數據結構課程教學內容是依據計算機應用與維護專業的就業崗位需要,緊密結合本專業的培養目標,滿足后續專業課程的需要來確定的。具體實施過程中,根據高職教學特點和專業課程的需要,將C語言和數據結構兩門課程整合為一門課程,本著既要體現本課程的基礎性又要滿足后續專業課程的需要的原則來處理教材、設計教學內容。合理分配學時,注重內容的新穎與信息量。根據這兩門課程的特點,將其整合為一門課程“C語言與數據結構”,在一個學期內完成授課內容。為此重新設計了教學大綱、實訓大綱、實驗指導書等教學文件,提出了理論教學以“必需、夠用”為度,加強實踐環節的教學方法。經過幾年來的實踐,收到了良好的效果。
課程整合后,C語言與數據結構的授課思路是以C語言內容為主線,將數據結構的內容滲透、溶入C語言的教學內容中,對于數據結構的內容以“必需、夠用”為度。具體的教學內容包括:
1 C語言與數據結構概述:C語言與數據結構的發展,支持環境,C源程序的編輯、編譯、連接與運行,數據結構的基本概念和術語。
2 數據描述與基本操作:數據類型,常量與變量,運算符與表達式,數據的輸入與輸出。
3 C程序的流程設計:算法,算法的描述,選擇型程序設計,循環型程序設計
4 數組:一維數組和順序表,順序存儲結構的棧和隊列,內排序和檢索,二維數組和多維數組,字符數組和字符串。
5 模塊化程序設計:函數,經典算法舉例,變量的存儲屬性,編譯預處理。
6 指針:指針的定義與引用,指針與數組,指針與函數。
7 結構體、共用體和枚舉類型的定義和引用,結構體數組,鏈表、鏈式存儲結構的棧和隊列,共用體的定義和引用,枚舉類型的定義和引用。
8 樹和圖:樹的定義,二叉枝,樹和森林,圖的定義與存儲,文件的遍,歷,圖的連貫性。
9 文件:文件的概述,文件的打開與關閉,文件的順序讀寫,文件的隨機讀寫。
三、實踐教學設計
在課程進行中,根據課程內容安排各種實驗,以鞏固、加深教學內容。為了全面提高學生的實踐能力和應用能力,使實驗內容能滿足不同層次學生自主學習的要求,我們努力探索對該門課程的實驗教學內容進行改革。教師設計了四種教學內容的實驗,即驗證形、引導型、擴充型和設計型。在題目設計上盡可能做到既覆蓋知識點,又切合實際生動有趣。例如,在學習選擇結構設計時,教師安徘一個設計型實驗題目,由鍵盤任意輸入一個不超過五位的正整數,編程判斷并輸入它的位數以及各位數之和,要求學生用“選擇結構”編制程序。學完循環結構程序設計后,將其改為引導型題目,要求學生用“循環結構”實現,等學完函數后再安排同樣的引導型題目,學生很快將其寫成了一個自定義函數待用。通過完成不同類型的實驗,有目的的、分層次地培養學生的實踐能力,使學生學會從實驗過程中獲取知識、積累經驗。
課程學習結束后,還要進行2周的實訓,要求學生以3—5人為小組進行綜合性程序設計,題目具有較強的應用背景,如管理信息系統、工藝過程的軟件控制系統、動畫制作、手機游戲開發等。要求學生經過需求分析、軟件設計、編碼、測試等軟件開發的階段,最后提交一個軟件原型及相關文檔。通過這樣較大規模的軟件開發活動的實踐,不僅提高了學生的軟件開發水平,而且培養了學生的團隊工作精神。為了增強學生學習的積極性、主動性和創造性,“C語言程序設計與數據結構”課題小組還吸收部分學生參加課題小組實踐工作,由任課教師提出實際開發的一些項目需求,鼓勵學生將所學的知識與實際應用相結合,使學生在項目開發過程中拓展自己的知識面,開闊自己的視野。如同學們參與設計的“算法動畫”已經被應用到課件中,效果很好。
四、教學方法與手段
任課教師深入了解學生,針對學生的特點采取有效的教學方法。例如:在理論教學中,采用CAI教學,利用Flash動畫進行課堂演示教學,提高了學生的興趣,采取師生互動的啟發式教學模式,活躍了課堂氣氛,課后做到及時答疑,在實踐教學中,讓學生自己設計程序,充分發揮學生的主動性,以培養創新意識和能力;在課程實訓設計中,選用一些有代表性的游戲程序制作題目,這樣既增加了學生的興趣,又系統地培養了學生程序設計能力,特別是當一個程序成功完成后,學生們有無比的自豪感和成就感,激發了學生的潛能,同時又充分體現了高職的教學特色。