999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

“C語言程序設計”教學方法探討

2009-06-20 08:45:46余小燕
計算機教育 2009年10期
關鍵詞:教學方法

余小燕 李 晶

文章編號:1672-5913(2009)10-0136-03

摘要:“C語言程序設計”是計算機及相關專業的重要的專業基礎課,也是一門難學難教的課程,采用什么教學方法使學生能更好地掌握C語言是值得思考、值得研究的問題。本文通過分析目前各個高校“C語言程序設計”課程的三種教學模式,結合實際的教學過程對這三種教學模式中所使用的教學方法進行了探討。

關鍵詞:C語言;程序設計;教學方法

中圖分類號:G642

文獻標識碼:B

高級程序設計語言是計算機應用專業及相關專業的一門很重要的專業基礎課程,C語言是一種典型的結構化程序設計語言,其處理能力和表現能力極強、使用靈活方便、目標程序效率高、可移植性好的特點使其能在各類各型計算機上廣泛使用,也因而作為很多高等院校(包括高職院校)開設計算機程序設計語言課的首選語言;但是C語言的概念復雜、規則多、因靈活而易錯的特點也給教師和學生在教與學中帶來不小的壓力。為了提高學生學習程序設計的興趣和信心,更好地培養學生程序設計的基本思想,教師在把握授課內容的同時也要積極探索教學方法和教學技巧。目前各個高校“C語言程序設計”課一般包括理論課、上機課和課程設計課三種教學模式,本文將對這三種教學模式中所使用的教學方法進行探討。

1理論課教學方法

傳統的理論課教學方法應由以下教學環節組成:

(1) 回顧上一次課主要內容,并預習檢查;

(2) 講解本次課的學習任務和目標;

(4) 講解知識點1、小結、課堂練習,講解知識點2、小結、課堂練習……

(5) 總結和布置作業。

筆者認為在理論課教學中可多采用課堂設問和提問教學法、對比歸納教學法、現場編程教學法和課堂陷阱教學法。

1.1課堂設問和提問教學法

高等學校的教學方式和學習過程與中學階段有較大的不同,高校的專業教育不僅是傳授知識,而且是引導學生“進入”到專業領域,教師不是“教書”,學生不是“記憶”,而是“思考”,我們通過課堂設問和提問教學法引導學生去思考。

如講解例題“求任意自然數n中各位數字之和”,教師可設問“如自然數345,各位數字之和是多少?”,然后提出兩個關鍵性問題“如何求得n中每一位數字?”及“自然數n是任意的,其位數是不確定的,如何控制循環次數?”。教師的問題提出之后,對比較簡單的問題,教師可自問自答,也可以和學生一起回答,對于關鍵性的問題首先引導學生去思考,然后要求學生來回答。

在教師的引導及學生的積極思考下,就很容易解決這兩個關鍵性問題,即用n%10得n的最低位,加入和s;然后n=n/10,即n始終表示由未處理的數字組成的自然數。重復以上過程,直至n等于0時結束。主要程序段如下:

main()

{int sum=0, n;

printf(" input a natural number:");

scanf("%d", &n);

while(n>0)

{ sum+=n%10;

n/=10;

}

printf(" sum=%d", sum);

}

在使用課堂設問和提問教學法時,要注意設問不能太多,千萬不能變成“口頭禪”而引起學生的反感;在提問時要保證提問的質量,不能是學生不用想就能回答的問題,也不能是學生經過教師啟發后也不能回答的問題,也不能是太寬泛的問題,并且不管學生回答是否正確,都要給予適當的語言鼓勵。

1.2對比歸納教學法

通過對比的方式對相關的概念或類似的程序代碼進行比較,進而明確差異,然后進行歸納總結,更好地方便學生理解。如在講解continue語句的使用時,可通過break語句利用示例進行對比,如下列兩個程序段:

程序1:

main()

{int k,n=0,a=0;float s=0;

printf(“ enter 10 integers:”);

for(k=0;k<10;k++)

{ scanf(“%d”,&a);

if(a<=0) continue;

s+=a;n++;

}

printf((“aver:%f”,s/n);

}

程序2:

main()

{int k,n=0,a=0;float s=0;

printf(“ enter 10 integers:”);

for(k=0;k<10;k++)

{ scanf(“%d”,&a);

if(a<=0) break;

s+=a;n++;

}

printf((“aver:%f”,s/n);

}

程序1的輸出結果是“輸入的10個整數中正數的平均值”,程序2輸出的結果是“至多10個正數的平均值”,也就是說不一定有10個整數,因為一旦輸入的是非正數程序循環就終止。通過這兩個程序段的對比,可歸納總結出break語句和continue語句的區別,即如果條件a<=0成立,遇到continue語句則跳過本次循環體中其余尚未執行的語句(s+=a和n++),而去執行k++語句,接著再進行下一次循環條件(k<10)的判定;而如果條件a<=0成立,遇到break語句則結束循環,不執行k++語句,也不再進行下一次循環條件(k<10)的判定。通過這樣的對比,不僅方便學生理解,而且也加深了學生對該知識點的理解和把握。

1.3現場編程教學法

在一個技能知識點講解完畢進行小結時,要求所有學生拿出紙和筆,對一個簡單的有代表性的編碼題進行現場編程,并且在3-5分鐘內完成。通過現場編程不僅方便教師了解學生對該知識點的掌握程度,而且克服學生怕動手畏難的習慣,提高學生動手意識和編程能力。在學生進行現場編程時,教師應走下講臺巡視學生,督促全部學生動手,了解學生在編程時出現的錯誤;在剛開始學習編程時,教師可選兩位學生在黑板上書寫自己的程序代碼,然后請學生自愿前來改正代碼中的錯誤,這樣不僅可提高學生的編程能力,還可提高學生調試程序的能力,同時也活躍了課堂氣氛,提高了教學效果。

在使用現場編程教學法時,要注意要求學生現場編程的題目不能太復雜,否則學生都解答不出來;安排學生現場編程的時間也不能太長,否則課堂講解時間不夠;安排學生在黑板上書寫或修改程序代碼也不宜太頻繁,可在課程前期、在學生對C語言的程序結構印象還不深刻的時候安排。

1.4課堂陷阱教學法

在講解或演示程序代碼的時候,通過故意地把典型的、容易出錯的代碼寫錯來設置陷阱,使程序調試不能通過,進而吸引學生的注意力,然后學生在教師的啟發引導下找出錯誤、改正錯誤,得到正確的程序代碼。通過“調試程序→發現錯誤→改正錯誤→調試程序”的一系列過程不僅可以提高學生對程序代碼、概念的理解和認識,而且可以提高學生編寫程序代碼的經驗,提高調試程序的能力。

如講解循環結構語句,當循環體由多條語句組成時,必須用{ }將這些語句括起來組成一個復合語句,教師可故意去掉這個花括號(設置陷阱),則程序不能得到正確結果或者是死循環。

再如指針問題,要求用指針實現“交換兩個變量a和b的值”,程序段如下:

main()

{int a=10,b=20;

int *p1=&a,*p2=&b,*t;/*使p1指向a, 使 p2指向b*/

t=p1;p1=p2;p2=t; /* 交換后p1指向 b,p2指向a */

printf((“a=%d,b=%d ”,a,b);

}

很顯然,指針變量p1和p2的值雖然發生了交換,但指針變量p1和p2所指向的變量的值沒有交換即變量a和b的值沒有交換。其執行過程如下圖(a)(b)所示:

如要實現上述功能只需在最后一句前加:

a=p2; b=p1;

使用課堂陷阱教學法要求教師不僅有豐富的教學經驗,對知識點的易錯性有較好的把握,而且對學生的知識點的掌握情況有較深入的了解,同時備課要充分,避免程序代碼出錯了自己也找不出錯誤。

2上機課教學方法

一堂典型的上機課應當由以下教學環節組成:

(1) 教師講解本次上機目標和訓練技能點;

(2) 教師講解本次上機需完成任務一,學生編寫程序代碼、同時教師巡視并指導學生編碼、教師對出錯率大于30%的問題進行集中講解;

(3) 教師講解本次上機需完成任務二、學生編碼的同時教師巡視指導……

(4) 總結和布置作業。

筆者認為在上機課教學中可采用任務分解教學法、任務貫穿教學法、課堂陷阱教學法和對比歸納教學法等。

2.1任務分解教學法

通過對一個比較大的任務或比較復雜的問題進行分解,分解成若干小的問題,然后逐步解決這些小的問題。如編程實現“輸入30個學生4門課程的成績,要求計算出每位學生和每門課程的平均成績”,對于這個問題我們首先把它分解成如下三個小問題:

(1) 輸入30個學生4門課程的成績;

(2) 計算每位學生的平均成績;

(3) 計算每門課程的平均成績。

然后在教師的指導下學生分別編程實現這三個問題,學生編程實現這三個問題的時間分別控制在5-10分鐘。由于對上機任務進行了分解,不僅教師可以控制學生完成每個任務的情況,學生也可以按時完成任務,上機的效率和完成率都高,學生也就有成就感,進而增強學生學習程序設計的興趣。

使用任務分解教學法要求教師不能急于求成,在理論課后不能立即布置一個復雜的上機任務,要因材施教,根據學生的實際掌握程度布置一個大多數學生都能完成的任務。

2.2任務貫穿教學法

對于比較復雜的問題且在2個課時內不能完成,需要2-3次上機完成的上機任務可采用任務貫穿教學法,該教學方法通常應用在“C語言程序設計”課程教學后期,其實質仍然是任務分解。

3課程設計課教學方法

“C語言程序設計”的課程設計課通常是要求學生根據現有的C語言知識或技能(也許還要用到其他課程的知識或技能),完成一個或兩個規模和完整性都遠遠大于上機課的項目,如比較貼近學生生活的“學生成績管理系統”、“圖書管理系統”等項目,在真實的編程情景中做學生感興趣的項目,不僅可以鞏固和提高已經學過的知識和技能,還可將編程的技巧滲透其中。通常課程設計課由以下幾個教學環節組成:教師講解(包括問題描述、問題分析、難點分析、階段劃分)、教師演示上機的成果、學生分階段進行編碼、教師分階段進行檢查、教師分階段對共性問題集中講解、學生總結。在課程設計課中可采用任務分解教學法、任務貫穿教學法及課堂陷阱教學法,這里就不再贅述。

4結束語

上述三種教學模式中使用的教學方法是根據實際教學過程提出的,并已經在“C語言程序設計”課程教學實踐中運用,取得了良好的教學效果。當然,在使用和設計某種教學方法時,務必做到因材施教。

參考文獻:

[1] 劉燕.C語言程序設計[M].北京:中國鐵道出版社,2008.

[2] 張春燕.面向能力培養的C語言程序設計教學方法研究[J].時代教育,2007(07Z).

[3] 譚浩強.C程序設計[M].3版.北京:清華大學出版社,2005.

猜你喜歡
教學方法
初中英語寫作教學方法初探
甘肅教育(2020年2期)2020-09-11 08:01:42
教學方法與知識類型的適宜
數學復習教學方法
高中體育教學方法初探
學周刊(2016年23期)2016-09-08 08:57:30
淺談高等數學中教學方法的創新
實用型中醫人才培養中慕課教學方法的探討
文言文教學方法實踐初探
中學語文(2015年21期)2015-03-01 03:52:15
高中文言文教學方法之我見
中學語文(2015年21期)2015-03-01 03:52:15
初中數學教師不可忽視的幾種教學方法
散文百家(2014年11期)2014-08-21 07:17:18
語文閱讀教學方法略談
主站蜘蛛池模板: 欧美在线精品一区二区三区| a在线观看免费| 亚洲永久视频| 国产精品福利尤物youwu | 亚洲中久无码永久在线观看软件| 色综合中文综合网| 波多野结衣亚洲一区| 国产伦片中文免费观看| 久久激情影院| 成人在线天堂| 欧美日韩导航| 成人欧美日韩| 午夜免费视频网站| 亚洲第一视频网站| 中文字幕在线欧美| 亚洲色图综合在线| 日韩av电影一区二区三区四区 | 亚洲成在线观看 | 中文字幕有乳无码| 40岁成熟女人牲交片免费| 国产欧美日韩va另类在线播放| 狼友视频国产精品首页| 91久久偷偷做嫩草影院精品| 在线无码九区| 成人在线欧美| 午夜欧美在线| 亚洲成a人片77777在线播放| 日韩精品专区免费无码aⅴ| 国产一二视频| 一本大道视频精品人妻| 久久九九热视频| 午夜少妇精品视频小电影| 亚洲精品视频免费| 伊人久久大香线蕉综合影视| 久久精品无码中文字幕| 亚洲欧美色中文字幕| 老色鬼欧美精品| 找国产毛片看| 久久国产毛片| 亚洲国产系列| 亚洲最大福利网站| а∨天堂一区中文字幕| 综合网天天| 2020国产在线视精品在| 国产激爽大片在线播放| 91午夜福利在线观看| 欧美中文字幕在线视频 | 国产成人精品综合| 欧美在线网| 老司国产精品视频91| 日韩精品高清自在线| 亚亚洲乱码一二三四区| 欧美日本在线| 黄片一区二区三区| 色婷婷综合激情视频免费看| 免费在线国产一区二区三区精品| 久久亚洲精少妇毛片午夜无码| 精品无码日韩国产不卡av| 欧美激情第一欧美在线| 亚洲日韩国产精品无码专区| 亚洲欧美人成电影在线观看| 免费又爽又刺激高潮网址| 91po国产在线精品免费观看| 日韩无码黄色| 2021国产精品自产拍在线观看 | 久久久久中文字幕精品视频| 精品国产免费观看| 亚洲精品自产拍在线观看APP| 欧美色99| 亚洲欧美天堂网| 久久精品中文无码资源站| 久久精品亚洲专区| 婷婷99视频精品全部在线观看| 91精品在线视频观看| 久久久久亚洲AV成人人电影软件| 国产成人精品三级| 国产精品手机在线观看你懂的| 992tv国产人成在线观看| 精品国产三级在线观看| 欧洲日本亚洲中文字幕| 乱系列中文字幕在线视频| 日本午夜视频在线观看|