劉金金 李娜
摘要:文章針對C語言程序設計這門課程的實踐教學,分析了C語言程序設計的實踐教學現狀,并提出機房授課方式、小組競賽模式等教學改革方法,達到及時有效地鍛煉學生實踐能力的目的。
關鍵詞:C語言程序設計實踐教學;課時統一化;小組競賽;網絡平臺
中圖分類號:G642.41 文獻標志碼:A 文章編號:1674-9324(2015)51-0224-02
在21世紀信息技術時代,大學生不能只滿足于會用辦公軟件。為了迎接新世紀的挑戰,無論計算機專業還是非計算機專業的學生,都應當學習C程序設計課程,并且把它當作進一步學習與應用計算機的基礎。C語言作為一種程序設計語言,它功能強大、使用靈活方便、應用面廣、目標程序效率高、可移植性好,既具有高低級語言的許多優點和特點,適用于編寫系統軟件,又能方便地用來編寫應用軟件[1,2]。因此,C語言程序設計作為第一門計算機語言教學顯得尤為重要,且實際上它也日益受到各個高校的重視。然而,當今大學生在學習這門課程的過程中卻出現了各種問題,如學不會、不想學、聽不懂,這些問題逐漸地惡性循環,致使這門課程沒有完全發揮出價值,形同虛設。所以,我們亟需大家探討并發現問題,解決問題。
一、實踐教學現狀
C語言程序設計作為一門計算機基礎教育課程,已經在各高等院校開設,現各高校普遍采用板書或多媒體講解概念、語法、教材,然后讓學生上機操作,這種方式存在弊端,致使大部分學生只能讀懂程序而不會編寫程序,甚至一部分學生變成程序代碼的“搬運工”,與我們的教學目的背道而馳。根據目前的教學狀況,C語言程序設計的教學存在以下一些問題。
1.學生的參與度不夠。在傳統的教學中,教師采用的是全板書形式,如今,多媒體普及,教師又改為全多媒體教學[3]。實際上,多媒體就是節省板書時間,但依然是教師照本宣科地講,學生一頭霧水地聽這種陳舊的模式。一味地采取“填鴨式”教學,從頭講到尾這樣被動的課堂,學生就是一名觀眾,沒有參與到學習與思考中來,正因如此,學生注意力不集中成為一件高頻率事件,等學生再集中注意力回歸課堂,會發現對教師的話已經是不知所云,所以為了保證學生高效率聽課,一定要讓學生參與其中。
2.理論與實踐脫節。現在,大多數高校普遍存在的一個問題是課時總量不夠,時間安排也不適當,表現在師資力量匱乏,教學班級多,教學任務繁重。以筆者所在的學校為例,一個學期理論課共42個授課課時,26個上機實驗課時,加上各種節假日,上課的時間少之更少。C語言程序設計是長期的、逐步深入的教學過程,依照現在的教學任務設置,教師要想按照考試大綱要求進行講解,就只能加快教學進度,顧不上對實踐內容進行詳細講解,結果導致學生的實際操作能力偏低,但若全部進行機房實踐,又不利于學生掌握基本理論。而且,為了教學課程的安排,通常學生的上機實驗課會比理論課晚兩天左右,甚至周一理論課,周五才安排上機操作,不能將實驗與課堂教學環節很好地進行連貫,導致理論與實踐的嚴重脫節[4]。
3.實踐與應用太少。學以致用是學生學習的最終要求,我們的教學目的是讓學生可以運用所學的知識讀懂程序、編寫程序,然后去解決實際問題,而現在高校的大部分學生做不到這一點。目前,多數高校的學生學習C語言程序設計這門課程的學習方法非常不到位,即在課堂上,學生僅僅翻開教材,盯著講臺聽課;在上機課上,學生也只是按照課本照搬程序。除此之外,在課余時間,學生們不鞏固復習教材,也不看程序,更不會自己編寫代碼。如此下去,他們的實踐能力不僅不會提高,反而極大地降低了他們對C語言程序設計的學習興趣。
4.實踐未得到及時反饋。由于課時緊張,教師不能將學生上交的實踐報告或上機操作的實驗結果及時地反饋給學生本人,以致于學生不能在第一時間對自己的錯誤或疑惑有進一步的了解與解決,造成學生盲目地學習,甚至不學習。但等到課堂上,教師也不能占用大部分時間去點評學生的實踐結果而耽誤課程的進展。另外,新的知識點講完就會有新的練習內容,如此積累,工作量繁雜,學生對之前編程的細節也會慢慢忘記,更重要的是程度較落后的學生會出現知識的缺陷,長此下去,學習困難的打擊會使學生的學習興趣急劇下降。
二、教學方法
要解決上述問題,我們就要緊緊抓住學生的實踐鍛煉,重視實踐教學,明確實踐教學方法,才能使我們的教學目標達到事半功倍的效果。
1.課時統一化,采用多種方式考察。既然由于課時原因,全理論授課與全上機操作導致學生的參與度不夠,理論與實踐脫節,我們可以統一課時,即我們的C語言程序設計課程全部在機房授課。如今,機房設施完備,軟硬件已足夠完善,我們可以選擇在機房授課,利用機房的多媒體與黑板,講解理論知識,遇到需要學生動手的地方,可以讓學生及時地動手操作。教師完全不用擔心在授課時,學生玩電腦游戲影響聽課,我們可以遠程控制桌面,實時控制學生的電腦,進行各種操作,提高學生的聽課效率。同時,系統還可以自動統計出勤率,比點名更加快捷,具有實時的監督作用。另外,教師再也不用擔心學生由于近視問題而看不清多媒體屏幕。其次,這種機房授課以多種方式對學生學習狀況進行考察,例如提出問題法、糾錯獎勵法、學生演示法、小測試法……提出問題法是指教師提出一些重點或難點問題,由學生來回答;糾錯獎勵法指教師給出某個算法或程序讓學生去發現其中的錯誤并糾正,最快找出的學生給予小小的獎勵,如一張精美的書簽、一句鼓勵的話語等;學生演示法指的是找一名學生到教師端編寫一個小程序或某個算法中的易錯點,以此找出學生的通病,引起大家的注意;小測試法是在課堂最后十分鐘左右給學生發放一份提前寫好的試題,兩到三題即可,可以按照計算機二級等級考試模式編寫,學生提交,系統直接核對,省時省力。這樣多種方式進行考察,真實地反映學生對該節課的掌握程度,也讓教師真正了解學生的學習情況,以便進一步開展教學工作。
2.小組競賽法,模擬各種編程競賽。為了激發學生的學習興趣,增強學生的動手實踐能力,可以采用小組競賽的方法來加強學生對C語言課程的學習。整個班級可以自由分組,兩到三個人一組,教師布置相應的編程題目,要求學生在規定的時間內上交,由教師來評分,選出程序最清晰、代碼更簡練的一組。在學期中后期,學生擁有一定的基礎和能力的情況下,可使其參與評選過程,通過評選人員相互交流討論,在提高被評學生編程能力的同時使參評學生也有所提高,即所謂的“教學相長”。除了進行班級內小組競賽,還可以進行班級之間、專業之間集體賽。依然是先在班級中進行初選,再經過層層選拔與淘汰,指出各方的優缺點,最終評出優秀、良好等。獎項不是重點,關鍵在于讓學生都參與到實踐活動中來。通過以上各種形式的競賽,可以提升學生對C語言的學習興趣和編程能力。
3.網絡交流法,建立多種網絡平臺。伴隨網絡化時代的到來,教師可以通過多種網絡平臺與學生交流、互動,及時指出并解決問題。如教師可以給每個班建立一個QQ討論組、微信群,如果學生在課下時間有難題或者對課堂上的知識點有疑問,可以在第一時間通過網絡交流平臺和教師取得聯系,以此使得“教學課堂”在時間和地域上得到無限制的延續。另外,通過網絡平臺,教師還可以給每個年級建立公共郵箱、論壇,用來分配任務、布置作業、共享教學資源等。更重要的是,教師可以把一些實踐或實驗發到網上,對學生的作品進行網上點評,把優秀的程序分享給大家,同時指出學生的不足之處,發布到網上,學生自行查收,及時地給學生反饋。另外,這些平臺還可以作為學生們的“討論網”,大家自由交流各自的學習經驗與學習心得,成為學生在線學習交流、在線測試的途徑。通過各種網絡平臺,使教師與學生、學生與學生的交流不受時間的限制、地點的約束,由學生自主地選擇學習,從而解決教學時間不充足的問題,消除教師與學生之間在時間和空間上的距離感,進一步方便學生及時解決疑惑,及時得到反饋,取得更有效的學習效果。
本文探索的一些方法和改革創新是優缺點共存的。研究發現,采用以上多種方法相結合,一環扣一環的教學組織與管理,能保證學生學到一定的知識。沒有最棒的方法,只有最適合自己的方法,我們做的就是盡可能給予學生指導,建立良好的學習氛圍。但是,如果學生對自己不負責任,學生之間存在相互包庇、幫忙完成實驗上機報告等問題,將影響整個教學效果。所以,教師要特別關注這些學生,經常鼓勵、輔導他們,督察學習情況,特殊情況特殊處理,引導和幫助他們找到自己的學習目標和學習方法。C語言程序設計成為越來越多高校學生選擇的課程,也是全國計算機等級考試的選擇之一。我們要緊跟時代的步伐,不斷更新教學內容,分析和探討C語言程序設計教學過程中存在的問題,進行教學方法的改革,適應時代需要,做好十足的準備去迎接未來的挑戰。
參考文獻:
[1]譚浩強.C語言程序設計(第四版)[M].北京:清華大學出版社,2010.
[2]薛小鋒.《C語言程序設計》教學方法探析[J].福建電腦,2004,(01):87-88.
[3]余炳輝,孫娟.《C語言》課程教改淺論[J].科技資訊,2009,(27):222-223.
[4]魯紅英,肖思和,孫淑霞.“C/C++語言程序設計”課程教學改革與實踐[J].計算機教育,2013,(7):95-99.