摘要針對(duì)高職院校C語(yǔ)言教學(xué)中存在的問(wèn)題,從實(shí)際教學(xué)出發(fā),從理論教學(xué)、實(shí)踐教學(xué)等幾個(gè)方面針對(duì)C語(yǔ)言教學(xué)中存在的問(wèn)題進(jìn)行了分析,就如何激發(fā)學(xué)生的學(xué)生興趣,提高動(dòng)手能力,培養(yǎng)編程思想等提出了自己的看法,并在實(shí)際教學(xué)中收到了良好的效果。
關(guān)鍵詞 C語(yǔ)言 教學(xué)方法 學(xué)習(xí)興趣 實(shí)踐教學(xué)
中圖分類號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:A
C Programming Teaching Experience
MENG Qingwei
(Dalian Ocean University Vocational College, Dalian, Liaoning 116300)
AbstractC for Vocational problems in language teaching, starting from the actual teaching, from the theoretical teaching, practical teaching aspects of language teaching for C problems were analyzed, the students on how to stimulate students interest and improve the hands-on ability to develop programming ideas and put forward their views, and in the actual teaching has received good results.
Key wordsC language; teaching methods; learning interest; practice teaching
0 引言
在高職院校C語(yǔ)言是計(jì)算機(jī)專業(yè)的一門專業(yè)基礎(chǔ)課,同時(shí)也是相關(guān)專業(yè)必修的一門課程,學(xué)好C語(yǔ)言對(duì)后續(xù)課程的學(xué)習(xí)起到了至關(guān)重要的作用。但由于C語(yǔ)言牽涉的概念比較復(fù)雜,規(guī)則較多,使用靈活等特點(diǎn),很多學(xué)生在學(xué)習(xí)過(guò)程中會(huì)感到內(nèi)容枯燥、難以消化、入門困難。尤其是對(duì)于沒(méi)有學(xué)過(guò)任何程序設(shè)計(jì)語(yǔ)言的初學(xué)者來(lái)說(shuō),一時(shí)難以掌握設(shè)計(jì)思想,只靠死記硬背,結(jié)果是學(xué)完之后,仍然看不懂、寫不出程序。如何改變這種狀況,筆者通過(guò)多年的C語(yǔ)言學(xué)習(xí)與教學(xué),總結(jié)了一些方法和手段幫助學(xué)生學(xué)習(xí)和理解,使之對(duì)編寫程序產(chǎn)生興趣。從不理解到理解,到自己動(dòng)手調(diào)試,再到能獨(dú)立的設(shè)計(jì)程序,達(dá)到教學(xué)目標(biāo)的要求,取得了良好的教學(xué)效果。
1 啟發(fā)式教學(xué)、激發(fā)學(xué)生學(xué)習(xí)興趣
興趣是學(xué)習(xí)的基礎(chǔ),如何讓學(xué)生由被動(dòng)的接受變?yōu)橹鲃?dòng)的學(xué)習(xí),教師要在教學(xué)方法與手段上多下功夫。加強(qiáng)對(duì)學(xué)生的引導(dǎo),由易到難,由淺到深。可通過(guò)許多具體有趣的實(shí)例,如“兔子問(wèn)題”、“水仙花數(shù)”等來(lái)培養(yǎng)學(xué)生的學(xué)習(xí)興趣。在上第一節(jié)課的時(shí)候,我們可以邊講解邊演示,學(xué)生能夠直觀的看到在TC下是如何編輯、如何運(yùn)行以及運(yùn)行之后的結(jié)果是什么樣的。以往的教學(xué)我們都是一半在多媒體講授理論知識(shí),一半在機(jī)房學(xué)生自行練習(xí),這樣一來(lái)講和練沒(méi)有很好的結(jié)合起來(lái),在理論學(xué)習(xí)的時(shí)候?qū)W生不知道C語(yǔ)言是什么,運(yùn)行環(huán)境是什么樣的,很茫然,在上機(jī)課的時(shí)候老師往往還需要重新講解和演示。此外,經(jīng)常向?qū)W生提出問(wèn)題,讓他們自己去實(shí)踐找出答案對(duì)學(xué)習(xí)興趣的培養(yǎng)是很有效果的。比如我們?cè)谥v數(shù)據(jù)類型的時(shí)候,在定義數(shù)據(jù)類型的時(shí)候進(jìn)行初始化,int a=b=c=3這是不對(duì)的,但是如果int a,b,c;a=b=c=3對(duì)不對(duì)?再或者譚浩強(qiáng)第三版的例子:
#include
Void main()
{char c;c=getchar();putchar(c);} 當(dāng)輸入字符a,輸出結(jié)果也為a。
可以讓同學(xué)思考如果輸入為65,輸出結(jié)果?有一部分同學(xué)會(huì)說(shuō)結(jié)果是A或65。老師可以不把答案告訴學(xué)生,讓他們自己去上機(jī)實(shí)踐得出答案。帶著問(wèn)題去教學(xué)、去學(xué)習(xí),進(jìn)行啟發(fā)式教學(xué),培養(yǎng)學(xué)生的獨(dú)立思考能力,不僅會(huì)激起學(xué)生的學(xué)習(xí)興趣,往往會(huì)收到意想不到的效果。
2 因地制宜制定教學(xué)目標(biāo)
在高職院校,不但計(jì)算機(jī)專業(yè)的學(xué)生要學(xué)習(xí)C語(yǔ)言,機(jī)、電、數(shù)控等專業(yè)也要學(xué)習(xí),那么對(duì)于不同專業(yè)的學(xué)生,學(xué)習(xí)的內(nèi)容和深度是不同的,要因地制宜不能一刀切。我們應(yīng)該根據(jù)學(xué)生情況的不同有針對(duì)性選擇教材并制定相應(yīng)的教學(xué)目標(biāo)。對(duì)于計(jì)算機(jī)專業(yè)的學(xué)生我們往往選擇譚浩強(qiáng)主編的清華大學(xué)出版社出版的這本教材,講解很系統(tǒng)、全面,而且設(shè)計(jì)了大量的課后習(xí)題。對(duì)于非計(jì)算機(jī)專業(yè)的學(xué)生,由于學(xué)時(shí)少,應(yīng)該選擇一些例子簡(jiǎn)單,邊講例子邊講語(yǔ)法的教材,即涵蓋了所有的知識(shí)點(diǎn),而且學(xué)生也不會(huì)覺得枯燥難懂。
3 教學(xué)手段多樣化
傳統(tǒng)的黑板式教學(xué)故然有它的優(yōu)點(diǎn),但是單一的教學(xué)模式已經(jīng)跟不上現(xiàn)代教育的步伐。隨著計(jì)算機(jī)技術(shù)的發(fā)展,多媒體教學(xué)已經(jīng)悄悄的走進(jìn)了課堂,成為現(xiàn)代教學(xué)模式中不可或缺的一部分,它的作用越來(lái)越突顯。老師可以根據(jù)所講的內(nèi)容利用各類計(jì)算機(jī)軟件,如采用power point或authorware來(lái)制作多媒體課件來(lái)展示知識(shí)結(jié)構(gòu),如可能的話還可以配以flash動(dòng)畫來(lái)動(dòng)態(tài)的展示執(zhí)行過(guò)程。程序設(shè)計(jì)是一門實(shí)踐性比較強(qiáng)的課程,如果在授課過(guò)程中利用多媒體插入一些程序的編譯演示,使感性認(rèn)識(shí)和理性認(rèn)識(shí)能有機(jī)的結(jié)合起來(lái),將有助于學(xué)生更好地理解和掌握所學(xué)的內(nèi)容。但是也不能過(guò)分的依賴課件,人的注意力集中在一件事物上的時(shí)間是有限的,老師始終的坐在講臺(tái)前,學(xué)生的眼睛始終對(duì)著屏幕,半節(jié)課下來(lái)就會(huì)產(chǎn)生疲勞感和厭煩感,這就需要老師適時(shí)的加以調(diào)節(jié),把學(xué)生的注意力在轉(zhuǎn)移到黑板上。這樣學(xué)生始終跟著老師走,聽課狀態(tài)是最佳的,收到的效果也是最佳的。
4 重視實(shí)踐,注重細(xì)節(jié)
C語(yǔ)言理論性很強(qiáng),概念比較復(fù)雜,規(guī)則也繁多,容易出錯(cuò)。如不加強(qiáng)上機(jī)練習(xí),一些細(xì)小的問(wèn)題如關(guān)鍵字、變量、分隔符等常因重視不夠,印象不深,造成程序設(shè)計(jì)時(shí)一旦出現(xiàn)編譯錯(cuò)誤而無(wú)法調(diào)試或調(diào)試?yán)щy的情況。
因此,對(duì)于計(jì)算機(jī)專業(yè)的學(xué)生我們通常安排一半的多媒體教學(xué)一半的上機(jī)實(shí)訓(xùn)。上機(jī)輔導(dǎo)課老師布置上機(jī)內(nèi)容,學(xué)生自由練習(xí)。每次下課之前都應(yīng)該就本次課學(xué)生出現(xiàn)的問(wèn)題做一總結(jié),加深印象。如我們?cè)谥v循環(huán)結(jié)構(gòu)的時(shí)候,while(),Do…while()循環(huán)格式如下:
While(條件表達(dá)式)do
{{
…………
}While(條件表達(dá)式);
While()后面沒(méi)有分號(hào),而do while();后面有分號(hào),往往這些細(xì)微的地方學(xué)生在看書的時(shí)候不夠仔細(xì),出現(xiàn)問(wèn)題了而不知道問(wèn)題出在哪。這就需要老師特別的加以強(qiáng)調(diào),這樣學(xué)生在上機(jī)的時(shí)候就會(huì)特別的注意。計(jì)算機(jī)重在動(dòng)手,紙上談兵是沒(méi)有實(shí)際意義的。調(diào)試程序的能力是學(xué)生在不斷的實(shí)踐中逐步提升的,而且是否具有這種能力是我們?cè)u(píng)價(jià)教學(xué)目標(biāo)是否達(dá)到的一個(gè)重要的尺度。
5 善于歸納,總結(jié)方法
從事C語(yǔ)言的學(xué)習(xí)和教學(xué)有幾年,對(duì)于C語(yǔ)言中指針的學(xué)習(xí)自己總結(jié)了一些方法,可以更好的幫助學(xué)生學(xué)習(xí)和理解。再拿譚浩強(qiáng)主編的《C程序設(shè)計(jì)》第三版,245頁(yè)例10.10為例。
例10.10輸出二維數(shù)組有關(guān)的值
#include
#define FORMAT “%d,%d\”
Void main()
{int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}
Printf(FORMAT,a,*a);
Printf(FORMAT,a[0],*(a+0));
Printf(FORMAT,a[0],a[0][0]);
Printf(FORMAT,a[1],a+1);
Printf(FORMAT,a[1][0],*(a+1)+0);
Printf(FORMAT,a[2],*(a+2));
Printf(FORMAT,a[2],a+2);
Printf(FORMAT,a[1][0],*(*(a+1)+0));}
對(duì)于這道題主要是考查學(xué)生對(duì)行指針和列指針的掌握情況。我們可以這樣理解,二維數(shù)組的組成單元是一維數(shù)組,一維數(shù)組的組成單元是元素,指向一個(gè)一維數(shù)組就是一個(gè)行指針,如果指向的是一個(gè)元素就是列指針。如果我們給它們劃分級(jí)別的話:二維,一維,元素,值等級(jí)依次降低。*降一個(gè)級(jí)別,升一個(gè)級(jí)別。上題第一個(gè)printf語(yǔ)句a為二維數(shù)組名,組成單元是一組數(shù)組所以是一個(gè)行指針,指向第0行,*a降一個(gè)級(jí)別就變?yōu)榱兄羔樦赶?行0列元素。在比如a[2]是一個(gè)一維數(shù)組名,一維數(shù)組組成單元是元素,所以a[2]是指向2行0列元素,是個(gè)列指針。而a[2]加個(gè)升一個(gè)級(jí)別就變成了行指針,指向第2行。這樣講學(xué)生容易理解和接受,記憶也深刻,同時(shí)也啟發(fā)學(xué)生善于總結(jié)、對(duì)比、摸索、發(fā)現(xiàn)規(guī)律找竅門。
6 設(shè)置命題,綜合訓(xùn)練
本學(xué)期期末,在結(jié)束課堂教學(xué)之后,對(duì)于計(jì)算機(jī)系的同學(xué)我們往往會(huì)有1~2周的課程設(shè)計(jì)時(shí)間,經(jīng)過(guò)本環(huán)節(jié)的練習(xí)可以讓學(xué)習(xí)把學(xué)過(guò)的知識(shí)融會(huì)貫通,整體水平在實(shí)踐中得到進(jìn)一步的提升。老師在設(shè)置命題的時(shí)候即要結(jié)合教材內(nèi)容,又要有一定的理論深度,并且能夠聯(lián)系實(shí)際,讓學(xué)生切實(shí)的感受到程序設(shè)計(jì)的實(shí)用性。比如說(shuō)讓學(xué)生做一個(gè)學(xué)生成績(jī)管理系統(tǒng)等等。知識(shí)不是孤立的,應(yīng)該把知識(shí)貫穿起來(lái)形成知識(shí)鏈,構(gòu)成一個(gè)知識(shí)體系,這樣才能越學(xué)越活,書越學(xué)越薄也就是這個(gè)道理。
7 結(jié)束語(yǔ)
教學(xué)效果的好與差涉及到諸多方面的因素,需要我們?cè)诮虒W(xué)中不斷的總結(jié)和改進(jìn)。讓學(xué)生對(duì)枯燥的程序設(shè)計(jì)產(chǎn)生興趣,由被動(dòng)的學(xué)習(xí)變成主動(dòng)的學(xué)習(xí),掌握程序設(shè)計(jì)的思想和方法,為后續(xù)課程的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。只有這樣才能達(dá)到我們教學(xué)的真正目的。
參考文獻(xiàn)
[1]譚浩強(qiáng).C程序設(shè)計(jì)(第三版).北京:清華大學(xué)出版社,2005.
[2]譚浩強(qiáng).C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第三版).北京:清華大學(xué)出版社,2005.