駱魁永,王思霖
(信陽農(nóng)林學院 信息工程學院,河南 信陽 464000)
當前,國家正在實施“一帶一路”“互聯(lián)網(wǎng)+”“中國制造2025”等重大戰(zhàn)略,為響應國家號召,支撐以新模式、新技術、新產(chǎn)業(yè)為特點的新經(jīng)濟蓬勃發(fā)展,教育部于2017 年2 月發(fā)布了《教育部高等教育司關于開展新工科研究與實踐的通知》[1],至此正式拉開了新工科研究和實踐的序幕。信陽農(nóng)林學院作為一所地方應用型本科院校,在新工科的背景下,急需加快工程教育改革,深化產(chǎn)教融合,把握行業(yè)人才需求方向,充分利用地方資源,發(fā)揮自身優(yōu)勢,為地方經(jīng)濟發(fā)展和產(chǎn)業(yè)轉型升級發(fā)揮支撐作用。在新工科背景下,傳統(tǒng)的以語法講解為主線的課堂教學與依附于理論教學的實驗教學已無法滿足新形勢下的社會需求。本文主要從課堂教學、實驗教學以及考核方式提出相應的改革措施,以期提高“C 語言程序設計”課程的教學效果。
目前,我校“C 語言程序設計”課程的教學主要還是以教師為中心,學生被動接受理論知識,卻不能夠隨堂對所學的內容進行實操驗證。在這種教學模式下,也許學生上課能全部聽懂,但由于理論學習和上機實踐有一定時間間隔,上機實踐時就會變得無從下手,一寫程序就會出現(xiàn)錯誤,如果錯誤沒有得到及時解決,久而久之,一部分學生的學習信心就會受到打擊,學習熱情就會慢慢消失。
由于受到學生個體、地域等存在差異,學生計算機編程語言的基礎參差不齊,任課老師很難滿足每個學生的學習需求,學生的學習進度很難保持一致。在這種情況下,任課老師只能前期放慢教學進度,期末時加快進度,同時降低C 語言的深度和難度,疲于應對學生的兩極分化情況。
目前,該課程仍然采用的是平時成績(考勤占10%、實驗占20%)占30%,期末考試占70% 的結果性評價機制。這種評價方式偏理論、輕實踐,學生為了通過考試死記硬背理論知識,除了在上機實踐課上練習編程外,課外幾乎不進行編程練習。這種評價機制不僅忽略了該課程非常重要的過程性實踐環(huán)節(jié),同時還無法將學生的真實學習情況反饋到本課程教學中,不利于培養(yǎng)學生的創(chuàng)新實踐能力。
2.1.1 引入實例驅動式教學
傳統(tǒng)的C 語言課程通常注重語法知識的理解、記憶和應用,教師主要對課程內容進行講解,這是一種低階性的教學方式。基于計算思維的“C 語言程序設計”課程屬于高階[2]教學,教師不但要通過陳述性知識使學生掌握描述程序設計的概念和語法,而且還要通過程序性、策略性知識使學生理解如何進行設計、編寫程序,培養(yǎng)學生運用計算機解決實際問題的能力。將陳述性知識、程序性知識以及策略性知識三者有機融合,通過具體的實例設計,將枯燥的語法知識講解得生動有趣,這樣將極大地激發(fā)學生的學習興趣。
2.1.2 引入線上線下相結合的混合式教學
利用大學生對手機依賴的特點,使用智慧樹[3,4]在線平臺建立課外預習與課內教學的橋梁。課前,教師將PPT、MOOC 視頻等預習資料通過智慧樹平臺推送給學生,方便學生對課堂內容的預習;課中,教師通過平臺了解學生的出勤情況,方便快捷。教師還可以通過平臺向學生實時提問,及時獲得教學反饋,為后續(xù)的課程學習提供參考,擺脫了傳統(tǒng)教學時間上的限制,一定程度上起到了監(jiān)督學生學習的作用,有效地提高了學生的注意力和學習的積極性,同時非常方便師生溝通和教學效果的反饋;課后,教師可以通過平臺發(fā)布多種形式的作業(yè)給學生,可以在線批改作業(yè),極大地方便了教師對學生學習情況的了解。引入課內外相結合的混合教學模式可以集合在線學習和傳統(tǒng)課堂教學的各自優(yōu)勢,做到取長補短。
ACM[5](Association for Computing Machinery)程序設計競賽被稱為程序設計界的“奧林匹克”,至今已經(jīng)舉辦40 多年,在計算機教育界和工業(yè)界認可度很高,但該競賽一直以來都停留在高端層面,地方性普通本科院校的學生難以參與。目前,新工科建設提出了更高的計算思維培養(yǎng)要求,把ACM 競賽模式引入“C 語言程序設計”課程實驗教學已不存在門檻。此外,“C 語言程序設計”課程對實踐要求比較高,將ACM 競賽模式引入實驗教學,既能有效地向課程中注入時代性和前沿性,同時還能展示教學形式的先進性。
把競賽模式引入實驗教學,是將教學模式從以知識為中心向以實踐為中心轉變。一是改進教學方法,將ACM 中競賽題改編成上機實踐中的案例,以趣味故事的形式對問題進行描述,能激發(fā)學生解決問題的興趣,同時實現(xiàn)理論與實踐的有機結合。二是增強教學效果,按照競賽的形式,將實驗案例設計成問題描述、輸入輸出要求、輸入輸出樣例等幾部分,一方面可以加深學生對IPO(Input-Process-Output)程序設計模式的理解,同時還可以營造與實際應用緊密結合的情景,鞏固和應用所學知識。三是調整學習方式,在機器自動判題、實時排名的場景下,競賽模式不僅可以培養(yǎng)學生的實戰(zhàn)能力,還能使學生充分認識到程序設計邏輯的嚴密性。
僅僅依靠優(yōu)秀的課堂教學方法和實驗教學保障“C語言程序設計”課程的教學質量是不夠的,學生在課下也必須要有足夠的上機做題量。學習“C 語言程序設計”課程的目標是使用它來解決實際問題,因此,課后的練習必須脫離應試教育、題海戰(zhàn)術的模式。建設與開放7×24 小時的Online Judge 編程練習平臺來支持課后練習,能有效幫助學生完成課后練習任務,Online Judge 平臺的課后練習可以看作是實驗課競賽模式的延續(xù),同時也為老師在期末時采用競賽方式進行上機考試和指導學生參加各類程序設計競賽提供了方便,更重要的是鍛煉了學生動手和解決實際問題的實戰(zhàn)能力。另外,Online Judge 平臺能記錄學生的學習行為和學習效果,通過查看平臺數(shù)據(jù)的分析模塊,教師可以及時了解教學質量并為改進教學提供重要的決策依據(jù),學生也可以及時發(fā)現(xiàn)自己的薄弱環(huán)節(jié)并進行針對性的學習。
“C 語言程序設計”課程教學改革中,完善考核評定方法是一個綜合環(huán)節(jié)。當前的考核方式對學生的編程能力不能做出較客觀的評價。改革后的成績考核由4 部分組成:一是平時成績(占10%),考核指標(課堂表現(xiàn)和出勤),重點考核學生的學習態(tài)度和課堂的參與度。二是實驗成績(占20%),考核指標(實驗報告的撰寫、實驗結果的分析和總結),重點考核學生對實驗結果的分析和總結。三是上機考試成績(占30%),使用ACM 競賽環(huán)境在線編程的方式,重點考核學生編程能力和解決實際問題的能力。四是期末考試成績(占40%),采用閉卷考試方式,重點考核學生對C 語言語法知識的理解和掌握。改革后的考核方式,既能調動學生上機實踐的積極性和自主性,又能保證學生編程能力考核的客觀性和全面性。
結合新工科背景下人才培養(yǎng)的目標,針對“C 語言程序設計”課程教學現(xiàn)狀及存在的問題,本文通過豐富課堂教學方法,實行競賽模式的實驗教學,搭建Online Judge 平臺支撐課后練習和改革傳統(tǒng)考核方式,激發(fā)學生學習的積極性和主動性,讓學生學會如何使用C 語言分析問題、解決問題,從而提高編程能力和創(chuàng)新能力。