黎昂 曾利軍 李澤軍

【摘要】C語言程序設計是高校非計算機專業開設的一門非常重要的公共基礎課程,學生普遍反映難學、難懂,所以很難調動學生的學習積極性。筆者根據多年的教學經驗,從培養學生學習興趣,教學方法和教學手段、教學內容、實驗教學等方面進行了一些改革探索。
【關鍵詞】C語言 程序設計 教學方法 改革
【基金項目】湖南省大學生研究性學習和創新性實驗計劃項目(湘教通(2011)272號);湖南省教育科學“十二五”規劃課題(XJK011CJG004);湖南省教研教改基金項目:湘教通【2010】243號
【中圖分類號】G642 【文獻標識碼】A 【文章編號】2095-3089(2012)07-0022-02
C語言是國內外廣泛使用的一種程序設計語言,從匯編語言,C語言,到C++語言,VC++,Java的流行,是程序設計發展的重要過程,學好C語言是學習程序設計的重要環節之一。C語言程序設計是我校重要的基礎課程之一,被定位為各專業大學生第二門計算機公共基礎課,通過該課程的學習,一是讓學生掌握一種高級語言工具,二是了解程序設計的基本思想和方法、培養程序設計的基本能力。
由于校園文化的原因,很多新生被“灌輸”C語言很難學,特別是針對非計算機專業的學生來說,不是專業課且不用考試僅為考查,很多學生就認為不重要,這些潛在的因素將對該課程的學習積極性產生不良影響。因此,對我們任課老師在該課程的教學方法和手段上提出了更高的要求,為激發學生的學習興趣,教學效果顯得尤為重要。作者根據多年從事C語言程序設計教學的實踐,對該課程教學實踐中遇到的若干問題進行整理,并提出一些解決思路,以供同仁們共同探討。
一、培養學習興趣,增強學習信心
非計算機專業的很多學生都不知道上這門課有什么用,可以做什么。因此,第一堂課對該課程后續教學效果,激發學生學習興趣,增強學習信心至關重要。興趣是最好的老師,學習目的便是滋發興趣的源泉。第一堂課的內容:①講述學習該課程的目的:一是為了通過國家、省級計算機等級考試,根據學校的相關規定,只有取得相關證書才可以獲得學歷學位證書,專升本的必備條件之一;二是了解程序設計的基本思想和方法,為今后在學習、工作中使用計算機,解決相關問題打下良好的基礎。②通過以往學生做的程序展示,讓學生樹立能學好這門課的信心;通過代表性的案例展示,間接獲得學習C語言的成就感,讓學生建立學習這門課的興趣。③通過簡單梳理目錄,指出C語言程序設計中重點和難點章節,從一開始就讓同學們掌握這些基本信息,在后續學習中做到有的放矢。
二、教學方法和教學手段改革
以湖南工學院C語言程序設計這門課程教學安排為例,要么采用單一的多媒體教室,要么采用單一的黑板教室來授課,其實這些單一的教學方式針對該課程來說,都達不到理想的效果。作為教學方式和手段,教師在教學過程中根據教學的內容、教學對象、教學條件等因素可以靈活地選擇。教師在教學方法的使用中扮演著重要的角色。教師對所授課程是否存在明確的教學目標導向,是否明確教學過程中的重點、難點,是否能因材施教,是否能得心應手地應用這些教學方式的使用技巧等等,這些因素也會影響教學效果,因為教和學的過程確實是復雜多變的。盡管現在的教學手段已經趨向于多媒體化,黑板被投影儀所代替,但是仍然避免不了“填鴨式”教學的被動局面,老師和學生之間不能很好地互動起來,學生處于被動接受知識的局面。針對這種情況,筆者在實際教學中采用傳統教學方式與多媒體教學方式相結合。作者結合自己多年的教學經驗,采用的是有黑板的多媒體教室上課,通過與學生的交流得知取得了良好的效果。如在講授數組中排序算法(冒泡法、比較法、選擇法)時,在黑板上板書任意選取的5個數,然后分別利用各種算法思想,一步步進行排序演示,在此過程中積極與學生互動,讓學生也參與到解題過程中,一起推導,最后得到相應的排序輸出結果,與此同時總結經驗,簡化過程,采用圖示的方法來說明每種排序算法的方法,如圖1所示。然后在計算機上根據黑板的推導過程,采用C語言的語法規則進行代碼的編輯——編譯——運行——查看結果。學生和老師都全程參與到解題過程中,起到了事半功倍的效果。
三、教學內容的改革
在高校計算機語言課程的授課中,目前存在以下幾個問題:①像其他課程授課方式一樣,照目錄章節講解;②側重于語法結構,忽略程序設計思想的培養;③算法設計中數學思維能力薄弱;④缺乏綜合性項目的練習。
針對這些情況,作者根據實際情況對C語言程序設計的授課內容做了適當調整。首先,語法、規則略講,只要求了解基本的,同時也不要求學生死記硬背,而是采用項目驅動方式,安排適當的任務,在解題過程中強化語感,接觸多了就自然而然的理解了。再者,在解題之前,首先要求學生采用數學的思維方式來考慮問題,然后再轉換成C語言解決問題。最后,作者對國家級、省級等級考試的程序設計題型進行了總結歸納,重點講授典型綜合題型,按知識點逐個講解,圍繞每個知識點結合示例將各個知識點融合加強理解,然后將相關題型進行變換,布置給學生,達到舉一反三的效果。
四、緊密聯系生活實際,利用自然語言教學
在課堂上講述理論的同時,教師要通過實際案例的演示與講解,把抽象、枯燥的知識點形象化、趣味化,幫助學生理解和應用。例如學循環結構時,很多學生很難理解從什么時候開始,到什么時候結束,不知道循環體怎么寫,我們可以舉一個簡單的例子,假設給在座的所有同學倒水喝,過程就是拿杯子——倒水——給某個同學,從第一個同學開始到最后一個結束,用for語句簡單的描述為:
for(第一個同學;最后一名同學;下一個)
{
拿杯子;
倒水;
給某個同學;
}
運用自然語言的思維進行C語言程序設計教學,不僅可以降低C語言本身的抽象性、提高學生的學習興趣,而且還可以加強學生對C語言的理解和記憶,最終真正掌握C語言程序設計的方法和技巧。
五、實驗教學改革
要提高學生的編程能力和水平,上機實踐是必不可少的環節,在教學中,要特別注重教學和實踐的有機結合。C語言實際動手能力是學生的一大難題,如何提高學生的編程動手能力是授課教師急需解決的問題。上機習題的選擇要有針對性和目的性。針對不同階段的學習內容和要求,由易到難,對于學習好的學生另外增加題目,同時也鼓勵她們根據自身的興趣愛好自己設計題目,充分調動學習的主動性和創造性,讓學生感到學有所用,激發學習興趣。在具體上機過程中,要求學生做好準備,注重培養學生調試和測試程序的能力;強調編程書寫格式,增加編程的層次結構,增加必要的注釋、盡可能的采用模塊化設計,養成良好的編程習慣。
六、結束語
本文針對C語言中教與學存在的問題進行了改革探索,并在多年的教學過程中實施,通過調查發現取得了明顯成效:既降低了C語言自身的抽象性,使廣大學生克服了對C語言學習的畏難心理、增強了學習興趣,又有助于他們掌握C語言程序設計的方法和技巧。當然,作為教學改革和教學探索,在具體的教學實踐中仍需不斷總結經驗、改進不足,努力提高。
參考文獻:
[1]李蕾.多媒體和黑板式兩種教學方式的比較[J].高等理科教育,2009,88(6):51-52.
[2]譚浩強. C程序設計[M].北京:清華大學出版社, 2002.
[3]程永奇.《C語言程序設計》教學實踐探討[J]. 時代教育(教育教學版). 2010(02).
[4]朱立才,湯克明. C語言程序設計研究型教學實踐[J]. 計算機教育. 2010(08).
[5]劉澤文,劉強,彭國星. 非計算機專業《C語言程序設計》教學目標及方法的探究[J]. 福建電腦. 2010(04).
[6]曹好順,吳紹兵,劉仁菲. C語言程序設計課程的教學探索[J]. 教育教學論壇. 2011(21).
作者簡介:
黎昂(1979-),男,湖南臨湘人,講師,碩士研究生,主要研究方向:計算機網絡技術、網絡信息安全技術、數據挖掘。