蔣高飛 管秀君 張超


分析“C語言”和“數據結構”兩門課程傳統教學模式的弊端,結合二者所講解知識點的關聯性,重新把兩門課程無縫整合;并以實際生活中學生熟悉的完整項目程序為教學依托,以學生為教學主體,調動學生學習興趣和積極性,更好地做到“學以致用”、“工學結合”、“理論聯系實際”,增加學生就業競爭力。
C語言;數據結構;課程整合;綜合應用;激發學習興趣;加強實際操作
【基金項目】吉林交通職業技術學院2011年課題(編號:2011-2-208)
“C語言”和“數據結構”是眾多院校計算機專業的基礎核心課程。“C語言”融合了其他編程語言基本的基礎知識點,且包含指針、位運算等其他語言不具備的編程模式,“數據結構(C語言版)”包含軟件開發人員應該掌握的重要算法。學生若能學好兩門課程,做到靈活、熟練應用其中的知識,對未來就業及成為軟件開發人員有很大幫助。但以往傳統教學模式有許多弊端,造成學生不愿學、學不進去的現象。
1.傳統教學模式弊端
“C語言”和“數據結構”授課界限過于清晰。眾多院校計算機專業兩門課程的授課順序普遍為先講授“C語言”,讓學生了解C語言編制應用程序的基本語法規則;再在下一學期講授“數據結構”,即學習C語言編制的不同數據結構常用算法。這種教學安排的結果是講解“數據結構”時,學生經過一段時間后已經不太準確記得、甚至忘記了前面學習過的“C語言”,此時教師在講解“數據結構”,需要幫助學生“回憶”“C語言”知識,相當于“數據結構”一門課的時間去講兩門課,結果當然是感覺課時不夠用,教師教得累、學生學得也累。
講授內容過于零散。傳統的講授方法是只針對講授的某一部分知識去講解和舉例,把相關聯的內容分散了,實踐操作教學中也僅包含基本簡單程序和算法,沒有做到把零散知識綜合匯聚到完整的應用程序項目中,導致學生不能把所學零散知識有機整合、靈活應用。
講授內容過于抽象。兩門課程中所講解的算法過于抽象,沒有實際應用的實例,理論和實際脫節。特別是“數據結構”本身課程有難度,所涉及的程序又與實際無關,遇到實際問題的時候不能運用學過的知識去解決,導致學生認為課程在實際應用不大,學了以后也用不上,進而失去學習的興趣。
機械地教而教,學而學。教師教授課程時,只是“填鴨式”、照本宣科式教學。教師機械地為完成教學任務,學生為應付考試而學,教學雙邊互動不足,教師在教學過程中忘記了培養學生的邏輯思維能力、分析問題能力,挫傷學生學習程序設計的積極性,嚴重影響教學效果和學生創新能力的培養。
根據以上對兩門課程傳統教學的分析,本教學改革以推動枯燥乏味的“C語言”和“數據結構”兩門課程理論和實踐教學工作為目的,提高學生學習興趣,引導學生掌握學習方法,總結學習經驗,提高學習效率、實踐動手能力和分析解決問題能力為宗旨,進行了以下理論和實踐教學改革。
2.課程整合教學改革思路及具體實踐
“C語言”和“數據結構”課程整合主要在以下方面進行教學改革:教學中各個理論知識點自然地、合理地整合在生活中學生熟悉、感興趣的實際應用程序項目中,吸引學生的學習興趣;另外通過完整項目學習,讓學生對所學各部分零散的理論知識有一個整體感。
包括:選擇合適的實際應用程序,即能兼顧包含所有理論知識點,又能吸引學生的學習興趣;合理布局應用程序講授的順序,使其中蘊含知識點的講解順序,由易到難,并能合理分割難點到不同項目中,循序漸進,讓學生越學越愛學,且對所學知識能自主地進一步探索,找出適合自己的學習、編程方法,建立自己的邏輯思維模式。
“C語言”和“數據結構”兩門獨立的課程有機地、合理地整合在一起。包括:把兩門課程相關聯的知識點實現平滑過渡和整合;把原有兩門課程傳統的教學內容、教學方法合理化地進行修改和調整。
基于以上教學改革的想法和思路,首先分析了“C語言”和“數據結構”課程相通和相同的知識點,根據該特點把兩門獨立的課程整合成一門課程,把相通和相同的知識有機、有序地結合,以完整應用程序項目為依托,把所有零散的知識難易適當、循序漸進、合理的分配、貫穿在其中。讓學生在相同時間里掌握更多的知識,提高對編程語言和數據結構課程的理解。
通過表1可以看出,講解“C語言”時就已經把后續課程“數據結構”中線性表、串、棧、隊列、排序和查找的部分內容做了講解,當再講“數據結構”時這幾部分又重復一遍,所以作者認為既然“數據結構”是運用C語言講解數據間結構、關系、操作,完全可以以“數據結構”中三種重點結構形式(表、樹、圖)為基點,以綜合應用程序項目的形式,把程序中涉及到的C語言知識根據程序中引用知識點順序一點點展開,教學中采用“用中學”,“遇到再講”的原則。這樣在實踐和使用中學習理論,學生學會了什么樣情況應該去掌握什么樣的理論知識,調動學生學習積極性,更好的做到“學以致用”、“工學結合”、“理論聯系實際”。
從表2可以看出打破了原來固有的傳統授課順序,把兩門課程內容有機結合,化零為整;利用完整的實際生活中應用程序,把理論知識化整為零、分散、消弱難點到各個不同的項目中,合理安排教學內容,循序漸進地把所有知識點整理出一條線,讓學生學完之后能對所學內容有一個整體概念。另外選擇學生生活中熟悉、且能應用到的項目綜合應用程序,避免了數據結構學習的抽象性,提高學生的學習興趣,從而提高學生主動學習性和專注性,并以學生為教學中的主體,提高教學效果,培養學生的學習氛圍。
在實踐階段結合理論,運用多種教學方法、手段和教學資源,加強實踐動手操作能力的推動,把知識和技能整合在一起,循序漸進按照實際開發順序逐步實現;通過學生討論總結,進一步加強理論和實踐間的聯系,鞏固理論知識的學習和整合,提高實際動手操作能力;幫助學生掌握提出問題、分析問題,從而解決問題的方法;培養學生技術創新意識和技術應用能力,在職業活動過程中技術比較與選擇能力,培養綜合素質。
希望通過基于項目教學的“C語言”和“數據結構”課程整合的教學改革,使學生能在相同的時間內學到更多、更有用的知識,同時提高學生的各項有益能力,使學生在未來就業中具有強大的競爭力。