金傳洋 邱曉波 高明海
陸軍裝甲兵學院信息通信系 北京 100072
C語言程序設計為2020版人才培養方案中規定的限定選修課(40學時),是培養軍隊生長軍官學員軍事信息素養的重要組成部分。程序設計課程的根本任務是使學員掌握計算機程序設計語言的基礎理論、基本知識和基本方法,培養學員利用計算機分析和解決實際問題的能力,為后續課程的學習奠定程序設計基礎。
C語言的授課模式仍主要采用“理論+上機教學”模式,這種授課模式具有明顯的灌輸特點,尤其是理論課上,學員被“灌輸”得更為明顯,這已經不再適合新時代的大學生,一定程度上導致了學員對編程類課程的厭學。
對于程序設計類課程,實踐操作的重要性不言而喻,傳統的實踐課程主要在機房進行,實踐方式常為“照本宣科”,即學員照著教材中的例子敲打代碼,程序不報錯、運行結果與教材一致便認為完成了作業,缺少獨立思考,沒有培養解決問題的能力。同時,上機實踐平均一周一次,間隔過長,導致本周學會的內容下周就忘了[1]。因此,傳統的課程實踐方式對編程課程的學習不甚理想。
大多數情況下,期末考試是通過一張試卷來決定最終成績,無法真實地反映學生的編程能力。許多學生為了應付考試,只注重理論知識的學習,不注重上機實踐,在考試前突擊學習,對于一些編程題目甚至通過死記硬背的方式應付考試,根本不理解代碼的邏輯和結構。有時有些實踐能力較強的學生所取得的成績可能反而沒有這類應試型的學生好。可以說,這種重理論、輕實踐的考核機制存在很大弊端,不利于引導學生提升自主編程能力。
本文提出的C語言教學改革以培養計算思維、工程思維、邏輯思維能力為核心主線,以“學為中心”的教學理念,重點從優化教學內容、夯實教學資源、豐富教學手段、創新教學方法、改革考核評價五個方面入手,構建 “自學-精講-實操-實訓”的教學模式,創設 “立體、多元、多維”的輔導空間,探索“學有所趣、學有所思、學有所用、學有所索” 四元課堂,收集形成 “全程、精細、可量化” 的過程化學習數據,精準培養和提升學員計算思維和編程能力。
“精講”貫穿教學全過程,講授概念性、理論性強的知識內容;對于編程方法、調試技巧等實踐性強、對學員動手能力要求高的知識點,安排在實操環節;“自學”內容是根據“精講”和學員知識結構需求,提前發布預習任務清單,通過雨課堂測試了解學員知識掌握情況,由學員按時間節點自主進行對應視頻、PPT的學習及完成相關作業,根據預習情況數據力求 “精準”的教學設計,先講解概念性、理論性強的知識點,結合翻轉課堂、小組討論等方法實施教學,并將多種教學手段和方法充分用于課堂教學之中,注重啟發式教學和動手能力的培養,教學過程中根據教學效果實時動態地調整教學方法和手段,注重對學員學習興趣的促進[2]。“實操”是在“精講”基礎上,精選適量典型實踐題目,讓學員課堂完成。“實訓”突出課外延伸、鞏固擴展,充分利用頭歌實訓平臺完成對應的實踐項目。教員課前能掌握學員學情,做到知曉教學邏輯起點;課中搞好重難點講解,做到精準推進;課后搞好復習延伸,做到鞏固提升,形成良性的知識迭代。
公開選拔優秀學員為小教員,充分發揮課代表、小教員和小組長的帶頭示范作用,構建教員、課代表、小教員、小組長多種導學輔導主體,建立微信班級群、雨課堂討論區、學習通研討欄、課堂學習小組、課后興趣小組的多種學習空間,結合線上指導、課堂指導,分組輔導、赴隊指導等豐富形式,創設學員大膽提問題,主動解決問題的良好氛圍。教員做好引導作用,實現學員自己的問題自己解決,重點問題熟練解決,難點問題嘗試解決。通過翻轉課堂模式,使學員勇敢地站到講臺,主動講“一課”,實現將知識目標的“會做”提升為“會講”的更高層次,變“知其然”為“知所以然”,真正實現能力提高。
對于基礎知識較扎實的學員,具有更高的學習目標,課程團隊重新梳理課程教學內容,以C語言中函數的模塊化程序設計思想為主線組織數組、函數、結構體等重點內容,探索構建“學有所趣、學有所思、學有所用、學有所索”的四元課堂。首先以實際案例引入,引導學員思考提煉編程思路和設計方法,然后利用所學知識去解決實際問題,并引入新問題、新任務,激發學員積極探索新內容,始終以解決問題的能力為培養目標。同時引導學員積極參程序設計競賽,既提高綜合素質,又鍛煉能力。
充分利用智慧教室條件優勢,線上與線下相互補充,有機融合,線上為線下做好基本知識點的鋪墊,線下是線上內容的延伸,是線上知識點的應用實踐,幫助學員學以致用,運用雨課堂[3]、學習通、微信等信息化工具采集學員課前、課中、課后全過程學習數據,利用其匯總分析功能,力求實現學習情況實時反饋、教學策略及時調整,行為數據精細分析、重點人員精準把控,有利于開展個性化輔導和教學實效提高。
課程考核側重突出“過程考核、能力考核”,過程性考核體現在平時成績,占總評50%;終結性考核包括閉卷筆試和上機考核兩個環節各占50%,占總評的50%。其中,筆試主要考核對C語言基本理論知識掌握情況,機試主要考查學員使用C語言程序解決實際問題的能力,重點考核“會分析、會調試、會設計、會應用”的四會能力。
主要包括五個方面:①課堂研討(20分):課堂雨課堂答題成績50%+課堂表現成績50%。②平時作業(15分):課前、課后習題成績50%+大作業50%。③上機實驗(15分):頭歌實訓平臺作業。④筆試(25分):期末閉卷筆試成績。重點考核:C語言編程基礎知識和基本理論,通過選擇題和填空題客觀題考核。⑤上機考試(25分):利用Educoder頭歌實訓平臺組織現場限時考試。
本次終結性考核總體難度為偏難,考查學員對C語言程序基礎、程序控制結構、函數、文件等基礎知識的掌握情況,以及應用知識分析問題、解決問題能力,具備較好的編程能力,為后續專業課學習、研究打下堅實的基礎。
通過課前問卷調查,學員對本課程非常感興趣的有16人,約占70%,比較感興趣的5人,占21.7%,一般的2人,占8.6%,不感興趣的0人。表明大部分學員對本課程的學習具有較好的興趣。
在開課之前,學員對自己編程能力的評價結果為:能夠熟練編程2人,占8.6%,具備一定的編程能力15人,占65.2%,剛入門6人,占26%,完全不會0人,占0%。
課程結束之后,學員對自己編程能力的評價結果為:能夠熟練編程10人,占43.4%,具備一定的編程能力12人,占52.1%,剛入門1人,占4.3%,完全不會0人。
從上述結果可以看出,具有一定編程能力以上的人數由開課前的15人(占65.2%),提高到22人(占95.6%),剛入門人數由6人下降到1人,說明教學改革創新達到了預期目標。
本次課程教學采用“精講+導學”模式,講授學時大大減少,壓縮50%,而教學內容未減,由于全國計算機二級大綱要求,其教學目標相比普通班而言,有所提高,但是學員的自主學習能力、時間管理能力與這種創新教學模式還不太相適應,需要機關、學員隊、教員、學員等主體統一認識,密切合作。
由于C語言課程實踐性強,只有通過大量編程實踐訓練,才能消化知識,總結方法和提升能力,所以,學員課余時間利用Educoder線上實訓平臺進行編程實操的環節是非常關鍵的,只有通過不斷練習、不斷總結,才能“舉一反三”、“熟能生巧”,學習效果才能保證。
為了實現從“以教為中心”真正轉變為“以學為中心”,教員要從“主角”轉變為“配角”,從“講”為主轉變為的“導”為主,“導”要做到“無時無形”,“講”要做到“精煉高效”,講必須要講的,講課程內容的重點、講學員不會的難點、講知識內容的邏輯體系、講原理背后的深度本質,試點班教學為教員持續推進教學改革提供了良好的平臺。
創新班學員的課程教學計劃中明確提出:通過本課程學習,其計算機編程能力應達到全國計算機二級水平。由于計算機二級考試的題目具有很強的針對性、綜合性,而本學期課程學習時間短,指針、函數、數組、結構體以及字符串等五大主題編程設計方法掌握還不夠牢固,在2022年3月全國計算機二級考試前,需要學員投入大量精力進行系統復習、認真總結、強化訓練,學員隊可以采用小教員輔導、小組長指導、小課程翻轉等方式進行,當然,教員通過專題講座、輔導答疑也是必要的。
創新班學員教學模式改革成效離不開學員隊、教員、機關和學員等各方的思想統一、團結合作,由于這學期第一次試點推行,部分課程教學創新還沒有跟得上學院要求,還是在靠測驗壓擔子、靠輔導搶時間、靠記憶賺分數的方式實施教學,需要學院機關做好頂層設計,統籌好時間,統籌好管理,努力使學員做到:我想學,我愿學,且我也一定能學好。
目前,學院缺乏與大學計算機、C語言程序設計、Python程序設計課程體系配套且能夠實時更新的在線編程實驗平臺、實訓內容體系以及在線評測機制,尤其是計算機編程類的實驗,技術類型多、內容要求高、研發難度大,現有相關方案難以滿足需要,導致學員缺乏足夠的實踐操作強度和實踐時間保證,教員也難以在學員實驗過程中對學員進行指導和考核。這學期在試點班開展線上實訓平臺試用,對于提高學員在線編程實訓能力,對提高學員學習興趣,提升計算思維和信息素養起到顯著的作用,由于試用期已過,建議機關采購建設類似線上平臺,為后續試點班課程建設提供良好的條件。
本次教學改革研究主要針對軍隊院校的C語言程序課程,根據時代特點、學員特點從課前、課中、課后、實踐方式、考核方式進行了系統地研究與改革。初步實踐證明,本文提出的改革措施對C語言程序設計課程的學習具有顯著的促進作用,改變了學員不會編程、恐懼編程的問題,培養了學員的邏輯思維、工程思維和計算思維。