摘要:針對目前C語言教學中存在的問題,引入了在線判題系統進行輔助教學。該系統針對不同知識點提供了難度等級不同的且較貼合實際應用的編程題目,學生可以在線編程、調試、判題以及比賽等。此外,教師能夠通過該系統實時有效地理解學生的學習狀態和知識薄弱點。實踐證明該系統的使用提高了學生的學習興趣和編程能力,減少了教師工作壓力,改善了C語言的教學現狀。
關鍵詞:C語言;在線判題;編程
1 引言
隨著計算機的普及,作為人類和計算機之間溝通工具,編程語言受到各界越來越多的重視。由于計算機技術的飛速發展,社會要求人人會編程的呼聲日益高漲,C語言作為了解計算機工作原理的基礎語言具有簡單易學的優點,已然成為計算機編程必選的入門語言[1-2]。C語言現已不僅僅是計算機相關專業的專業基礎課程,也成為其他專業的必修課程,甚至已列入中等教育的課程行列之中。學習C語言不僅僅為編寫所需的程序軟件,更重要的是培養學生的計算機思維[3-4]。C語言教學中如何結合理論教學和實驗教學來提高學生基礎知識的同時鍛煉學生的計算機思維值得進一步的思考和探究。
2 C語言教學現狀
在C語言教學過程中常見的模式為理論教學與實驗教學相輔相成,實驗教學根據理論教學中的知識點進行設計從而進行知識點的鞏固和靈活運用。然而,在實際的教學過程中理論教學和實驗教學并未達到預期的相輔相成的狀態。關于兩者在實際的教學過程中存在的問題主要從以下幾方面來分析。
2.1理論教學內容繁瑣
C語言理論教學中涉及知識點比較繁雜無邏輯可循。C語言授課內容一般開篇即是常量與變量、標識符命名規則、運算符與表達式、優先級以及C語言語法規則等大量的基礎知識,對于第一次接觸編程的學生來說比較抽象,難以理解和記憶。C語言理論學習過程枯燥且和實際問題相差甚遠,這使得學生一頭霧水從而產生抵抗情緒。
2.2實驗教學方法單一
C語言實驗教學目標是有效地對理論知識進行實踐和鞏固并通過不斷的上機實踐培養學生的邏輯思維能力和編程能力。然而,在實踐項目的設計中各章節的內容關聯度不夠,知識點針對性不強,綜合性實踐項目偏少,未能充鍛煉學生的思考和解決問題的能力。此外,由于學生眾多,在實踐過程中學生遇到難題不能夠及時與老師溝通解決,隨著問題的累積慢慢打擊了學生的積極性。
2.3 編程思想培養欠缺
通常,教學過程由于課時限制往往偏向于課本知識的灌輸,同樣,學生為了應付考試,對課本知識僅限于簡單的死記硬背,從而學生利用計算機思維去思考問題設計算法的能力欠缺。對于遇到的課本以外的實際問題感到無從下手,學生無法利用所學知識進行靈活運用。
2.4課程考核方式陳舊
大部分學校考核方式比較固定即卷面成、上機操作成績以及平時表現等。部分學生為了獲得較高平時分作業抄襲現象嚴重,老師很難全面了解學生對知識點的掌握情況。因此,教師無法公平地考核每個學生成績,此外,教師在輔導課堂上也無法根據不同學生的學習情況進行針對性輔導。
3 在線判題系統的簡介
3.1在線判題系統的功能模塊
在線判題系統的功能主要包含如下:題庫列表、練習與比賽、實時狀態和用戶排名等模塊。
1、題庫列表
該系統針對不同的理論知識點設計各種難度等級實戰項目來激發學生的興趣,學生可以結合個人學習情況選擇相應難度的項目進行練習。該模塊不僅提供豐富的項目而且顯示了所有項目已被用戶選擇的次數以及在大型編程比賽中出現的概率,能夠給計劃參加比賽的同學提供有效的參考價值。
2、練習與比賽
各學校之間可以通過該系統組織大型馬拉松編程比賽并對成績突出的學生進行獎勵,學生可以根據系統公告在線進行報名參加。教師也可以在該模塊發布練習公告,實時監督學生的平時編程情況,并能夠通過顯示數據對學生的編程情況以及知識點的掌握有一個真實清晰地了解。
3、實時狀態
用戶可以在該模塊實時看到本人所提交程序的正確性,參考相應的判題解釋對提交程序進行準確度的修改。此外,用戶還能夠將自己的程序和其他用戶的程序在執行時間和所占內存空間上進行對比,可以據此進一步優化自己解題算法。
4、用戶排名
該模塊顯示了用戶的排名、總累計分數、提交次數和成功率,用戶可以實時的查看自己當前排名。
3.2在線判題系統在教學過程的作用
C語言不同與傳統的理論知識學習,C語言學習過程中更需要注重計算機思維、程序編寫和調試能力的鍛煉,在線判題系統能夠在以上方面對傳統的C語言學習進行有效的輔助。學生通過使用該系統的使用能夠及時了解自己對知識的掌握并且能夠有效地提高自己的編程能力,培養邏輯思維能力。教師可以通過該系統全面及時地了解學生的學習漏洞,并據針對性地進行教學過程的調整。
4 結語
在線判題系統給教師和學生提供了一個教學輔助和學習自測的優秀平臺。該系統會根據具體的知識點給學生用戶提供了豐富的編程實戰項目且都貼合實際應用具有一定的趣味性。該系統能夠為教師用戶提供實時的監測數據,可以切實減輕教師的工作量。該在線判題系統已在我校實施,并取得很好的效果。
參考文獻:
[1]申炳昕.C語言程序設計實驗教學方法與考核模式的改革探討[J].電腦知識與技術,2018,14(30):102-103.
[2]李春開.應用型本科院校C語言課程教學研究[J].計算機產品與流通,2018(12):234+240..
[3]張紅,王小軍.高校《C語言程序設計》教學實踐探究[J].電腦知識與技術,2019,15(16):114-116.
[4]王亞亞,謝國坤,惠俊峰.《C語言程序設計》教學中存在問題及改進方法[J].才智,2019(10):112.
基金項目:安徽省高等學校自然科學研究一般項目(KJ2019B01)。
作者簡介:李曉 (1990.02~),女,漢族,安徽淮北,淮北師范大學助教,碩士,主要從事C語言程序設計課程教學與研究。