孟力軍 張東陽
【摘要】針對在《C語言程序設計》課程教學過程中傳統課程教學模式把理論教學與實驗教學割裂開來,教學質量難以得到有效保證的問題,以能力培養為目標,以項目設計為主線,利用“學-做-拓展-實訓”理論教學與實踐教學一體化課程教學模式,設計一套較為完整的《C語言程序設計》課程案例體系,把理論教學與實踐教學有機地結合起來,使教師和學生較好地掌握計算機實踐類課程高效的教與學的方法,切實提高設計能力、實踐能力、創新能力及其他各方面能力。
【關鍵詞】能力培養? 項目設計? 理論教學與實踐教學一體化? 課程教學模式
【基金項目】2018年遼寧省教育廳遼寧省普通高等教育本科教學改革研究項目立項優質教學資源建設與共享項目(遼教函[2018]471號)。
【中圖分類號】G642 【文獻標識碼】A 【文章編號】2095-3089(2021)07-0080-02
1.引言
《C語言程序設計》是一門非常重要的課程,是一門非常有趣的課程,也是一門由高中向大學順利過渡的關鍵課程[1-3]。但目前大多數教師仍采用傳統的課程教學模式授課,把理論教學與實驗教學人為地割裂開來。學生在理論學習時,由于對許多繁雜的新知識、新規則弄不明白,很快就失去了學習的興趣;學生在上實驗課時,由于對理論知識不求甚解,只是應付了事。尤其是疫情期間,不得不進行網絡授課,但由于網絡授課對學生無法進行有效的管理,以及缺乏高效的教學模式,教學質量更難以得到保證。這樣就把一門非常重要、非常有趣、對本科生實現由高中向大學順利過渡的關鍵課程,變為了一門較為普通的計算機實踐類課程[4-6]。
2.實踐類課程高效教學模式的探索與實踐
十多年來,我們本著以生為本、立德樹人的教育理念,綜合應用各種科學的理論和方法,把“以能力培養為目標,以系統設計為主線”應用到教材編著、課堂教學、課外設計作業、實踐(驗)教學、課程設計、考試、綜合成績評定、課程教學質量保障體系等與課程相關的各個環節,使每一門課程都能夠形成一個完善的能力培養體系,大力對學生進行能力培養。
針對本科生非常重要、也非常關鍵的《C語言程序設計》課程,我們以能力培養為目標,以項目設計為主線,以DEV-C++為開發平臺,通過“學-做-拓展-實訓”理論與實踐一體化課程教學模式,設計一套較為完善的《C語言程序設計》課程案例體系,把理論教學與實踐教學有機地結合起來,使學生較好地掌握了大學實踐類課程高效的教與學的方法,想學、愛學、會學,在切實提高設計能力、實踐能力、創新能力和其他各方面能力的同時,較好地實現了由高中向大學的順利過渡,引領學生健康成長。
3.實驗過程及要求
所有學生在課前通過教材或中國大學MOOC等做好預習,并帶電腦上課,對每一個知識點,都通過“學-做-拓展-實訓”,把理論教學與實踐教學有機地結合起來,較好地掌握課程的相關知識及程序設計方法。
學:課程開始,即以一個簡單的程序為例,講授DEV-C++開發工具的使用方法。后續課程,均利用該工具講授實例,設計程序。
做:要求學生以該實例為例掌握DEV-C++開發工具的使用方法。后續課程,每次通過1~2個程序實例,讓學生掌握程序設計相關知識。
拓展:在學生掌握第一個程序設計的基礎上,教師對每一個知識點再安排2~3個項目實例,并要求學生完成項目的系統設計分析、算法分析、程序設計、程序運行及運行結果分析等。
實訓:布置若干課外設計(實訓)作業,讓學生利用課外時間獨立完成,并撰寫項目設計報告,較好地掌握課程的相關知識及程序設計方法。
4.實驗教學與指導
本案例(體系)是一個比較完整的實踐工程,需要經歷計算機軟硬件基礎知識的學習,以及由一個簡單的程序設計,到一個復雜的應用系統設計(基于數組或鏈表的綜合管理系統設計)的全過程。每一個項目均需要完成項目(程序)方案設計論證、設計(算法)分析、程序流程圖設計、程序設計、程序運行過程分析、數據測試、項目整體評價、總結提高等工作。在教學過程中,應在以下幾個方面對學生進行引導或指導:
(1)工具先行。開課伊始,即讓學生掌握DEV-C++開發工具的使用方法,在后續課程中,均利用該工具講授或設計實例(項目),激發學生的學習激情。(2)以能力培養為核心,以解決實際問題為手段。每一個項目(程序)都是一個完整的、實際的項目,都是為了解決現實中存在的問題而設計的,都是為了切實提高學生的分析能力、設計能力、創新能力及其他各方面能力。(3)做中學,學中做。通過可見的項目(程序)設計,學習不可見的計算機內部結構知識,在實踐中掌握C語言程序設計中繁瑣、復雜、碎片化的知識,并把所學知識用于項目(程序)設計,把理論與實踐有機地結合起來,激發學生的學習興趣。(4)把“學-做-拓展-實訓”作為高效提升計算機類課程實踐能力的過程與手段。通過“學”,掌握項目(程序)設計的方法;通過“做”,提高項目(程序)設計的能力;通過“拓展”,進一步提高項目(程序)設計的能力;通過“實訓”,舉一反三,在大幅提高項目(程序)設計能力的同時,提升自主解決問題的能力、創新能力、團結協作能力、互幫互助能力等,掌握計算機類課程高效的學習方法。(5)每一個項目(程序)均是一個完整的系統設計。從第一個簡單的程序設計開始,到完成一個復雜的應用系統設計(基于數組或鏈表的綜合管理系統設計)結束,通過“學-做-拓展-實訓”共完成幾十個項目(程序)的設計,每一個項目均需要完成項目(程序)方案設計論證、設計(算法)分析、程序流程圖設計、程序設計、程序運行過程分析、數據測試、項目整體評價、總結提高等工作。(6)由簡入繁,由易到難,循序漸進,成就卓越。從第一個簡單的程序設計開始,在學生“零基礎”的情況下,通過“周而復始”的“學-做-拓展-實訓”,由簡入繁,由易到難,循序漸進,到最后完成一個復雜的應用系統設計(基于數組或鏈表的綜合管理系統設計),使學生的分析能力、設計能力、創新能力、團結協作能力、互幫互助能力及其他各方面能力得到全面提升,自信心得到顯著增強,精神面貌煥然一新。不僅使學生順利實現了從高中階段到大學階段的成功過渡,而且在大一就邁出了走向卓越的第一步,為學生未來的發展奠定堅實的基礎。
5.實驗原理及方案
“學-做-拓展-實訓”理論與實踐一體化教學模式結構主要由課前預習、學、做、拓展、實訓、知識學習與能力提升情況分析等幾部分組成,通過理論學習、實踐提升、理論再學習、實踐再提升等周而復始、螺旋式上升的過程,把理論教學與實踐教學有機地結合起來。
課前預習:學生在課前通過教材或中國大學MOOC等做好預習,并在電腦上實踐。
學:課程開始,即以一個簡單的程序為例,講授DEV-C++開發工具的使用方法。后續課程,均利用該工具講授實例、設計程序。
做:要求學生以該實例為例掌握DEV-C++開發工具的使用方法。后續課程,每次通過1~2個程序實例,讓學生掌握程序設計相關知識。
拓展:在學生掌握第一個程序設計的基礎上,教師對每一個知識點再安排2~3個項目實例,并要求學生完成項目的系統設計分析、算法分析、程序設計、程序運行及運行結果分析等。
實訓:布置若干課外設計(實訓)作業,讓學生利用課外時間獨立完成,并撰寫項目設計報告,較好地掌握課程的相關知識及程序設計方法。
知識學習與能力提升情況總結分析:通過一個“學-做-拓展-實訓”周期,了解學生知識學習與能力提升情況,發現問題并在下一個周期中及時改進。
以《C語言程序設計》關鍵知識點為核心,進行了案例體系的設計,并通過實例的設計,使學生較好地掌握課程的關鍵知識點。
在學與做的過程中,根據知識點的理解難易程度,對每個知識點設計若干個不等的實例,邊做邊學,邊學邊做;在拓展與實訓(課外設計作業)的過程中,同樣根據知識點的理解難易程度,對每個知識點也設計若干個不等的實例,在拓展中進一步提高學生對知識的掌握程度,在實訓(課外設計作業)中,進一步提升學生設計能力、實踐能力、創新能力及其他各方面能力。
6.實驗報告要求
每一個實訓項目(課外設計作業)均為一個完整的課程設計,主要內容包括:
(1)項目(程序)設計要求;(2)項目(程序)設計方案論證;(3)項目(程序)設計(算法)分析;(4)程序流程圖設計;(5)程序設計;(6)程序運行過程分析;(7)數據測試;(8)項目整體評價總結;(9)感想、收獲、意見、建議、期望成績等(便于實時改進)。
7.考核要求與方法
考核要求與方法主要如下:
(1)實訓項目(課程設計)報告:規范性、完整性、是否存在抄襲現象等。(2)程序設計:規范性、可讀性、合理性、容錯性、運行結果的正確性等。(3)測試數據:規范性、完整性等。(4)自主創新:(算法)構思的巧妙性、(程序)設計的創新性等。(5)答辯(每一個實訓項目均要一對一答辯):課程設計報告問題、程序設計問題、測試問題、創新性等。(6)感想與收獲:真情實感、深刻性、獨特性等。(7)意見與建議:真實性、普遍性、可借鑒性等(以便根據學生的實時反饋情況,對教學過程進行及時改進)。(8)期望成績:與實際成績的符合度及其原因分析。(9)綜上,根據各種考評情況,對每個學生給出合理、公正的成績與評價。
8.案例體系特色或創新
本案例體系主要特色或創新如下:
(1)邊做邊學,做中學,學中做,通過實訓激發學生學習的興趣。(2)由簡入繁,由易到難,通過“學-做-拓展-實訓”激發學生探索的熱情。(3)運用多種獨特、高效的教學方法,使學生想學、愛學、會學。(4)理論與實踐教學一體化,快速提升學生的算法分析能力、程序設計能力、創新能力及其他各方面能力,可快速培養大批高質量的程序設計人才。
9.結語
本案例體系通過“學-做-拓展-實訓”,把理論教學與實踐教學有機地結合起來,較好地解決了理論教學與實踐教學“兩張皮”的問題,使學生較好地掌握了大學實踐類課程高效的學習方法,切實提高了設計能力、實踐能力、創新能力及其他各方面能力,順利實現從高中階段到大學階段的順利過渡,為其他課程的學習奠定堅實的基礎,為未來的發展奠定堅實的基礎。
參考文獻:
[1]鄒運蘭,柴本成.互聯網+教育背景下的C語言程序設計教學改革探究[J].計算機教育,2020(5):72-74.
[2]張高文,趙西坡,李學鋒.基于OBE理念的人才培養目標評價機制的構建與實施[J].大學教育,2019(1):17-19.
[3]王振鐸,王振輝,邊倩.重在設計能力的程序設計類課程教學改革與實踐[J].教育教學論壇,2014(20):39-40.
[4]李江昊,劉豐,王偉.理論實踐強結合性課程知行合一教學改革與探索[J].計算機教育,2020(6):179-183.
[5]張泳,柯海豐,陳蒙.計算機類專業學生程序設計應用創新能力培養體系構建[J].計算機教育,2019(5):36-38.
[6]史顏玲,李國佳.MOOC對C語言程序設計課程教學改革的推動[J]. 計算機時代,2018(7):92-93.
作者簡介:
孟力軍(1969年-),女,漢族,遼寧省沈陽市人,工程師,研究方向為實踐教學研究、高等教育課程教學模式與人才培養模式探索實踐等。