袁玉英 羅永剛
摘要:為了改進C語言教學的效果,根據多年的教學和實踐經驗,提出在C語言教學中出現的問題,并對每個問題,提出合理的建議,以促進C語言教學的改革。實踐證明,這些措施對提高學生學習C語言的興趣,提高課堂學習效率,培養學生的編程技巧,養成良好的編程習慣和學習習慣很有幫助,為后續相關課程的學習奠定了基礎。
關鍵詞:C語言;教學;興趣;實踐;課堂
中圖分類號:G623 文獻標識碼:A
文章編號:1009-3044(2019)33-0136-02
1概述
C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用于底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。通過C語言的學習,學生可以培養良好的邏輯思維能力,提高創新實踐能力,更好地學習后續相關專業課程知識。但C語言知識點多,需要注意的編程技巧也很多,且很多知識點容易混淆,所以作為初次學習編程語言的學生們來說,如果引導不當,很容易使學生產生畏難情緒,喪失學習的興趣,導致學習效果不理想。筆者根據多年的教學和實踐經驗,總結學生在學習過程中遇到的諸多問題,并提出相應的建議。
2 C語言學習過程中出現的問題
2.1課堂學習興趣低
學習C語言的學生多是低年級大學生,而且多是首次接觸語言類課程,而C語言的學習模式和學習思維與高中或大一的基礎課程截然不同,這就導致適應能力差或對C語言沒有興趣的同學學習起來比較吃力,隨著課程的深入,知識點越來越多,尤其到了后面指針、文件部分,這部分同學將對課程產生抵觸情緒,課堂學習興趣很低,表現為上課不抬頭,與老師零互動,上機操作練習時無所事事,嚴重影響了學習的效果。
2.2知識點掌握不清
因為C語言需要掌握的知識點多而雜,而且前后有部分內容交疊,比如返回指針的函數與指向函數的指針變量,文件的讀寫函數和輸入、輸出函數,很多內容相似但不相同,這對于初學的學生們來說,聽的云里霧里,即使對于簡單的輸入輸出函數,種類繁多的格式控制就令很多學生眼花繚亂。
2.3眼高手低
導致學生學習C語言效果不佳的非常重要的一個原因就是眼高手低,自己學會了一點,就覺得自己掌握了全部,會改例題,就覺得自己會編程,因此在上機操作時多數學生練習不夠,在課程后期上交的作業中有一部分同學甚至連基本的變量定義都沒法正確完成,足以見得練習遠遠不夠,但是卻不能充分利用課堂與上機練習的機會,還是對自身的問題認識不足。
2.4不能融會貫通
在學習的過程中,過于依賴例題,給出一個綜合性稍強的題目,就無法將知識結合在一起或進行改寫。比如文件的讀函數和文件的寫函數是分節分別進行介紹的,如果出一個將不同類型的內容進行讀寫的例題,大多無法正常實現。另外,前后知識不能融會貫通,比如前面講的數組和后面的結構體、共用體,兩者融合較差。
3C語言教學方法探討
針對學生在學習C語言的過程中出現的各類主要問題,筆者根據多年的教學和實踐經驗,提出以下方法:
3.1豐富課堂教學方式
課堂教學采用多媒體和板書相結合的方式,以多媒體為主,板書為輔,多媒體為現代化的授課方式,內容簡潔,呈現直觀,節省課堂時間,但單一的授課方式必定會引起感覺疲憊,在重點及難點處適當以板書的方式進行講解,既能更加清晰地介紹知識點的內容及解決思路,又能使重難點突出,加深學生的印象,因此,合理有效地將兩種方式相結合。
對于多媒體內容,避免簡單枯燥地復制課本的內容,應以關鍵知識點的形式呈現,然后再詳細地講解各個知識點,以免學生產生一看課件就眼花繚亂的感覺,沒有時間關注所講的內容,只在讀課件上的內容,而錯過關鍵點,造成分散學生的精力,因此聽課效率下降。另外,多媒體課件要生動、形象,可適當采用動畫等動態效果,比如冒泡法,就可以以動畫效果進行講解,以更好地調動學生的課堂積極性。多媒體課件應重難點突出,使學生上課張弛有度,重難點處提醒學生集中精力。對于重難點問題要采用劃、講、拓的方式,首先使學生明確重難點,從思想上重視起來,然后詳細講解,通過問答的方式提出問題,解決問題,最后舉一反三,最后拓展思路,由點及面,闡述問題的多角度、多方面。
為了使學生成為課堂的主人,可將一些簡單的內容交給學生上臺講解,變被動為主動,使學生充分參與進去,同時,如果講解點正是學生的薄弱環節,還可起到很好的推動作用,學生會在課下做足功課,然后上臺講解。對于經典的問題,可以采取小組討論式教學方式,鼓勵大家采用不同的思路,不同的函數或不同的算法去解決,既可以鍛煉學生的邏輯思維能力,又可以使大家對知識進行綜合分析,同時拓寬思路,學會團隊合作,達到創新能力培養的目的。在課堂上,要多提問,尤其是對上課開小差、學習成績較差的同學,更應該交流互動,以查看學生接受情況,決定授課進度。
3.2利用多種方式強化學習內容
首先,明確內容注意點。在講解過程中,使用“注意”和“提示”等小貼士,使學生在學習過程中更清楚地了解相關操作、理解相關概念,并輕松掌握各種操作技巧。
其次,采用案例教學。在每個重點和難點知識點講解之后,使用簡單易懂的實際案例進行現場編程指導,讓學生制定思路、選用算法、實際調試,在案例中深化理解知識點,通過實際運用發現問題、解決問題,這比單純講解有效的多。
最后,利用海量的網絡教學資源。使學生養成課前預習,課后復習的習慣。在預習時,可先通過網絡資源進行了解,預習課本內容,帶著問題走進課堂。在復習時,如果仍有解決不了的問題,借助網絡資源,自己查找解決,如果仍然解決不了,再與老師溝通,解決問題。這樣,既能培養學生的自我學習能力,捕捉重點和難點,而且對不懂的地方,通過課堂解決、課后查找資料解決以及請教老師解決,印象深刻,理解更加透徹,這對于培養學生的獨立學習能力和創造能力非常重要。
3.3采用多種檢測方式
為了使學生能認清自己的實際水平,開展課堂小檢測,對重難點知識進行檢測以便發現問題,在課后布置在線小作業,對整個課堂內容進行檢測,并且在每章學習完后,在海量題庫中選擇試題進行階段考試,最后進行期中和期末考試,通過層層檢測,使學生既能認清自己的水平,又能以練促學,以考促學。
3.4重視上機實踐環節
學習C語言必須要多上機練習,因此需要有效利用上機時間。督促學生根據自己的經驗和算法進行實際編程,堅決杜絕學生在上機環節偷懶,鼓勵學生多練習,對不理解的內容,親自去嘗試、修改、總結經驗,改掉壞的編程習慣,并且將前后知識通過實際上機練習,融會貫通,提升自己。對于學有余力的同學,鼓勵嘗試編一些小應用及一些小系統,以更好地達到融會貫通的目的。
4結論
對于大多工科類學生,C語言是必須掌握的一門現代編程語言,其是掌握各種現代編程技術的重要基礎,針對學生在學習C語言中出現的各種問題,筆者給出了相應的教學建議,從課堂到實踐,從課前到課后,從學生到老師,詳細闡述了教學中應注意的問題,實踐證明,其可顯著提高學生的編程能力及解決問題的能力,對培養適應社會發展的創新型應用人才很有幫助。