符強 任風華
摘要:文章針對目前為非計算機專業開設的C語言程序設計課程教學現狀,總結了目前傳統教學的常用方法和手段,分析了傳統教學模式所存在的問題和不足,在此基礎上,總結了作者從事C語言課程教學的實際工作經驗,采用混合式教學模式,在課堂教學中應用基于問題的教學模式和交互式教學方法,學習過程采用平時作業與大作業相結合,并將其與未進行教學改革的學生對比,取得了一定的效果,為后續專業課程的學習打下良好基礎。
關鍵詞:C語言課程;教學方法;教學模式
中圖分類號:G642.0 ? ? 文獻標志碼:A ? ? 文章編號:1674-9324(2020)14-0270-02
一、背景
C語言具有功能強大、表達能力豐富、使用靈活便捷、應用范圍廣、目標程序執行效率高、可移植等優點,因此很多高校將其作為計算機程序設計類課程的基礎。該課程對于培養高校學生的邏輯思維能力、編程技能、自主學習能力、分析問題和解決問題的能力都有極大的幫助,并對EDA技術、單片機、DSP技術和嵌入式等后續課程的學習起到鋪墊作用。但是由于C語言課程中涉及的知識點繁多、概念多、重點難點多、規則較為復雜、運用靈活、不易調試,難以調動學生的學習興趣和積極性,教師在教學過程中和學生在學習過程中都感到比較困難,所以很多高校都在推行非計算機專業C語言課程改革,研究如何全面提高教學效果。
二、傳統C語言教學方法和手段
在傳統的C語言教學過程中,教師作為主要的知識點傳授者,大多數側重于對課本上C語言語法知識點的傳授,按照教材的章節先后次序進行授課,選擇課后習題作為平時作業題目。這種按部就班地跟從教科書的授課方式,難以激發學生對該課程的學習興趣和學習動力。傳統的C語言作業布置模式,如果學生對課堂上的知識未完全消化或學生本身非計算機專業,編程基礎較差,這種作業布置模式容易使得部分學生有挫敗感,這會大大降低學生學習本門課程的動力,并且會使部分學生失去學習興趣。當然,也有部分學生按照課本的例題程序進行輸入、調試和修改后,可實現例題中所要求的功能,帶給學生一定的成就感和滿足感,但也容易讓學生誤以為自己對C語言編程完全掌握了,而實際上,學生面對靈活多變的編程題,缺乏自我思考和靈活應用知識要點的能力。
大多數高校的C語言授課方式是將理論課和上機實踐課分開的。通常先安排理論課,再安排上機實驗課。這種傳統模式容易將理論知識點和上機操作分離,學生經過理論授課后若不及時上機復習和鞏固,待下一次上機操作時,容易將知識點遺忘,且不利于學生課堂上及時地理解書本中抽象的概念。在上機實驗課中,學生專注于完成編程題目,或是將編程題當作此次上課的目的,單純地為完成實驗課任務而編程,并沒有把實驗內容與理論課的知識聯系起來,加深理解與應用。有個別學生在臨下課時,為交差而拷貝、抄襲他人的程序,這種上機實踐效果不利于學生將理論知識點和實踐相結合。
三、傳統教學模式存在的問題
“C語言程序設計”作為高校相關專業的基礎課程,多數高校的教學計劃將本門課安排在大一或大二的第一學期,采用傳統的課堂教學、課后上機編程的教學模式,在實際教學過程中會出現以下幾個問題:(1)學生的計算機基礎參差不齊,部分學生在初、高中階段接受的計算機基礎教學和操作訓練不足,使得學生簡單操作計算機都比較困難,更談不上編程,所以傳統的教學模式難以讓學生從零基礎良好的過渡到自主編程狀態,容易導致學生產生挫敗感。(2)傳統的C語言教學模式是一種學生被動接受知識的模式,而C語言實踐性較強、重視分析問題能力的培養,傳統教學模式難以調動學生學習編程的積極性,學生缺乏獨立編寫程序、解決問題的能力,難以培養學生的自主創新能力。(3)對后續相關課程的影響。若C語言掌握不好,會嚴重影響后續的MATLAB編程、EDA技術、單片機、DSP技術和嵌入式等課程的學習和應用。(4)學生自身對課程的重視度不足。由于是大一或大二第一學期的學生,對后續的專業基礎和專業課程還沒有接觸,對本門課程的重要性及其與后續課程之間的聯系沒有深刻體會,所以一些學生認為自己不是計算機專業,將來就業可能不涉足“程序員”崗位和軟件開發方面的工作,對課程的認識僅僅局限于C語言編程是計算機專業才應該熟練掌握的技能。
四、對C語言教學改革的幾點建議
1.教師需要明確教學內容及本門課程與后續課程的關系。第一次課教師應當告訴學生:(1)這門課程學習的主要內容及各章節內容間的聯系。(2)本門課程學習重點是以應用為主,開始通過多看好的程序或算法并配合上機調試,培養學生編程的邏輯思維,最后通過對程序的修改等不斷訓練掌握編程的精髓。(3)學好C語言編程能為后續與編程相關課程的發展奠定堅實的基礎。(4)將個人科研項目中利用C語言完成的功能在課堂上演示,讓學生對C語言的重要性有更深的認識。
2.培養學生學習興趣和自信心,激發學生的學習動力。在授課中舉例說明C語言能解決學生一些學習或生活中有興趣的問題,引導學生在聽課的過程中,自主思考和培養編程思維,通過互動的方式,活躍課堂氣氛,讓學生在有限的時間內盡可能地集中注意力,被教學內容所吸引,使教和學的師生雙方都能獲得滿足。
3.改變作業的內容和形式。采用大作業的形式,并且加大大作業所占的平時分數的比例。大作業以一個小型的項目來實施,給出具體項目需要完成的功能要求,學生必須通過查閱資料,獨自完成整個項目的程序編寫;布置大作業時間從第一次上課就給出題目,課程結束后驗收,驗收過程要求每個學生運行自己編寫的代碼,并講解自己設計的思路;最后還需要提交相關的文檔材料。這樣學生在聽課過程中就會有目的地聽講,特別是與大作業有關的內容,同時通過大作業,培養學生查閱資料和獨立完成一個小項目的程序編寫的能力,使學生掌握程序開發過程中的需求分析、算法確定、程序設計和調試等環節。
五、結語
目前,在C語言教學中仍然存在一些問題和不足。因此,我們需要不斷地從教學和實踐環節去思考如何盡可能地調動學生的學習積極性,課程改革的關鍵是激發學生自主學習的動力,使其明確學習目標;設計合理的教學案例,激發學生學習興趣;注重實驗上機過程,提高其實踐動手能力,讓學生愿意學、學得會、會學習和會應用程序設計語言。
參考文獻:
[1]莫玲,姚屏.非計算機專業C語言教學方法探討[J].教育教學論壇,2019,(8):191-192.
[2]謝麗霞.基于混合式學習的《C語言程序設計》課程教學研究[J].教育教學論壇,2019,(20):169-172.
[3]傘宏力.電子信息工程專業C語言程序設計課程教學改革建議[J].教育教學論壇,2019,(4):136-137.
[4]欒若星.非計算機專業C語言教學模式研究[J].教育教學論壇,2017,(2):168-170.
[5]蔣海華,李俐,鄭爽,崔玲.高校非計算機專業C語言課程教學方法探討[J].教育教學論壇,2019,(49):128-129.
[6]于純妍.基于新型課堂的C語言程序設計課程教學改革方法[J].教育教學論壇,2019,(30):86-87.
Abstract:In view of the present situation of the c language programming course offered for non-computer majors,this paper summarizes the common methods and methods of traditional teaching,analyzes the problems and shortcomings of the traditional teaching mode,on the basis of this,summarizes the practical work experience of teaching in C language course,adopts the mixed learning mode,and applies the problem-based teaching mode and interactive teaching method in the classroom teaching.
Key words:C language course;teaching method;teaching mode