劉小兵
?
《C語言程序設計》興趣培養教學改革與實踐
劉小兵
(湖南科技學院 電子與信息工程學院,湖南 永州 425199)
C語言程序設計課程是很多理工科專業的一門基礎必修課,是大學生學習程序設計的入門課程。由于該課程語法規則繁多、解決問題方法獨特,學生不易接受,厭學情緒較為普遍。本文圍繞提高教學質量這一目的,以學生為主體,從培養學生的興趣出發,在教學理念、教學內容、教學方法和教學形式等方面提出了一系列具體改革建議,旨在培養學生學習興趣,增強學生的動手能力、自主創新能力,提高課程教學效果。
C語言;教學改革;學生興趣
C語言是學習其他程序設計語言的基礎,很多新型的語言都是衍生自C語言。同時C語言也是應用非常廣泛的編程語言,在眾多的程序設計語言始中終占據一席之地。因此在高等教育中,C語言程序設計作為計算機專業的必修課程。但對于初學C語言的學生來說,需要接觸許多從未見過的關鍵字、運算符、語法規則、新概念和新方法等,大多數學生常常出現“水土不服”,感覺太過抽象,無法理解程序設計的思想,更不能應用設計的程序解決實際問題。長此以往,一部分學生往往逐漸喪失學習的興趣,產生厭煩情緒,學習上失去主動性和積極性,這將直接影響學生創新意識的培養和創新能力的形成。所以在《C語言程序設計》課程教學中,如何培養學生興趣,增強學生學習主動性和動手能力,提高課程教學質量,是今后教學實踐中的一個首要問題。
目前,結合筆者教學實踐和學生反饋意見,C語言教學中主要存在以下幾個方面的問題:
2.1 課程安排與教學內容不符
近年來各高等院校根據高等教育改革方向和社會對應用性人才的需求,在C語言課程安排上,已對原有理論課時大幅縮減,增加了實踐課課時,旨在培養實用性人才。但是隨著程序設計語言的發展和教學改革的進一步深入,現在的理論課時與課堂教學內容還沒有到達一個理想的平衡狀態,理論課的縮減與課堂教學內容無法匹配。這將導致學生在課堂內學習理論知識還未融會貫通,就進行上機實踐,面對程序設計問題時出現無從求解的現象。課程內容與教學步伐的脫節,讓學生對理論知識的掌握更加抽象化,對于邏輯思維能力偏弱的學生來說,容易失去學習C語言的興趣和積極性。
2.2教學內容安排不具吸引力
《C語言程序設計》課程是C語言與程序設計相結合的一門課程,這就要求教師在授課過程中,既要講解C語言的一些語法規則,又要重視程序設計。過多地把教學重點放在一些學生不感興趣的語法規則內容,而不去考慮學生的接受程度。這樣不合理的安排容易使學生喪失學習興趣。
2.3理論教學與實踐教學的脫節
《C語言程序設計》課程需要實踐教學將課程知識轉化為實踐能力。當前,實踐教學存在很多弊端。在程序設計實踐的常用模式中,基本遵循著前幾十年延續下來的習慣做法,即教師布置與程序設計語言教材相符的任務,學生通過上機來驗證教材和講課的內容以及自己所編的程序正確與否。這種做法與實際完全脫節,學生只會解決書上的問題,而對于現實問題卻很茫然,削弱了學生學習興趣。
在《C語言程序設計》課程教學中,教師就要以培養學生學習興趣為出發點開展教學活動。對于學生來說,興趣是最好的老師,一旦對C語言課程產生了興趣,就會在興趣的驅動下更加認真、更加投入地汲取課程的知識,從而更好地發揮自身的潛能,才能創造性地利用所學知識。針對教學中存在的上述問題,筆者結合C語言課程特點和教學改革的成功經驗,提出了以下幾點建議:
3.1協調安排課堂教學內容與教學課時
理論課時的縮減并不意味著理論知識不再重要,理論知識掌握不透徹、不全面,實踐課程序設計就會遇到更大阻力。教師可以根據教學需要,采用翻轉課堂教學模式來填補理論課時不足的空缺,錄制形式多樣化的趣味教學視頻,安排練習作業,并將其共享在網絡上。學生利用課外時間在共享的教學網站上觀看學習視頻,完成作業,還可以提出問題,與同學們一起發言討論。課堂上師生針對教學內容進行適當的分析講解,對存在的問題和練習作業提出解決方案,并通過上機實踐增強學生的動手能力。以此激發學生學習興趣,增加學生學習積極性,提高課程教學效果,從而提升學生的學習能力和實踐能力。
3.2靈活安排豐富有趣的教學內容
大多數C語言教程,課堂上講授的內容都比較簡單,局限于教材,僅能讓學生被動了解C程序的基本組成結構,而無法激發學生的學習興趣。但如果對課堂教學內容豐富化,尋找既能提起學生興趣又適合教學的小例子,添加與學生就業相關的認證考試內容,介紹C語言發展的前沿領域,就能提高學生興趣和教學效果。例如在學習程序結構時可以用幾分鐘讓學生試玩猜數游戲。游戲要求猜一個介于1~100之間的數字,根據學生猜測的數與標準值進行對比,并給出提示,以便下次猜測能接近標準值,直到猜中為止。這個游戲是學生熟悉和喜歡的,試玩后和學生一起探討怎樣用C語言描述出這個游戲。通過引導學生去運用選擇語句和循環語句解決這個問題,引出一種用do-while循環語句求解方法,核心代碼如下:
do
{
printf("請輸入您猜測的數:");
scanf("%d",&guess);
if (guess > number)
printf("太大 ");
else if (guess < number)
printf("太小 ");
} while (guess != number);
printf("您猜中了!答案為 %d ",number);
然后讓學生去思考運用其他循環語句解決這個問題,通過這樣的程序演示和練習,可以讓學生直觀的看到編程可以做什么,以此來培養學生學習該課程的興趣和主動性,然后再講解程序的結構、語法等,學生會更愿意去學,因為已經有了興趣。
3.3課程教學要緊密結合項目實踐
C語言程序設計是一門實踐性很強的課程,最終的學習目的是要學會應用程序解決現實的問題,因此,除了課程安排的實驗外,應更多地結合現實項目來講授相關知識,把常見的學生學籍管理系統、車輛管理系統、訂餐系統、圖書館管理系統、網絡安全防護系統等相關課題項目引入到課程教學中,并在此的過程中講解相關的知識點,特別要注意程序設計項目一些細節問題的講解,而且要帶著問題去講解,以啟發學生思考。另一方面,充分利用學校的科研項目,將課程教學和實際科研項目、工程項目結合起來,鼓勵有興趣的學生參加實際的程序設計項目,提高學生的綜合實踐能力,培養和鍛煉學生解決實際問題的能力。同時,鼓勵學生參加各類程序設計大賽、創業創新大賽,培養學生的創新能力。
3.4重視實踐教學,提高實踐效果
C語言上機實驗課是學生消化C語言語法、加深對基礎知識和算法理解、提高編程能力的重要途徑。另外,學習中存在的疑點和難點,可通過上機調試得到明確的解答,并同時加深了對所學內容的掌握。上機時,教師要根據學生的實際情況精心編寫上機測試習題,讓學生知道自己應該做什么,并針對學生存在的問題進行集中講解。實踐性教學也要實施分層次教學。為了適應不同層次學生的學習需要,在編寫上機習題的過程中,要充分考慮這種差別,既提出了C語言上機實踐的基本要求,滿足了一般學生的要求,又為學習好的同學編寫較高要求的題目,增強他們的學習興趣。其次,改革過去C語言課程學習成績的計分方法。改進作業評核方式,強調實踐動手能力,調動學生的積極性,啟發引導學生掌握基礎理論并能創新應用,增強學生綜合運用有關知識的能力。體現了注重素質教育的指導思想,改變了學生的學習態度,引導學生向提高自身素質的方面努力。
計算機行業迅速發展對計算機教育產生了重大的影響,舊的教學方式方法、教學計劃及課程內容已不能適應新形勢的需求,不斷地進行教學改革刻不容緩。C語言程序設計課程教學應以學生為主體,從學生的學習興趣出發,注重培養學生編程的興趣和信心,真正使學生打好理論基礎,提高動手實踐,達到靈活運用,提高教學質量。只有這樣,我們的教學才能適應學生的需要,培養出滿足社會需要的學生。
[1]鄧華鋒,李建林,王樂華.基于學生興趣培養的結構檢測課程教學改革與實踐[J].高等建筑教育,2014,(5).
[2]黃玉蘭,姚遠.翻轉課堂在應用型院校C語言課程教學中的應用[J].軟件導刊,2015,(11).
[3]丁巖,張宇昕.C語言程序設計課程改革與計算思維的培養[J].重慶與世界(學術版).2014,(1).
(責任編校:何俊華)
2016-03-26
劉小兵 (1989-) ,男,湖南永州人,助教,碩士研究生,研究方向為智能控制、系統建模和網絡智能。
TP31
A
1673-2219(2016)05-0116-02