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毛片| 国产精品观看视频免费完整版| 亚洲人视频在线观看| 国产免费羞羞视频| 亚洲视频免| 无码福利视频| 久久久久国产一区二区| 在线视频精品一区| 久久久亚洲色| 久久6免费视频| 久久精品国产精品青草app| 亚洲av综合网| 国产午夜一级毛片| 国产成人综合亚洲网址| AV无码一区二区三区四区| 亚洲AⅤ永久无码精品毛片| 午夜日b视频| 大香网伊人久久综合网2020| 91视频国产高清| 欧美午夜在线观看| 日韩欧美中文字幕一本| 人妻精品久久无码区| 国产一级一级毛片永久| 国产午夜在线观看视频| 国产无遮挡猛进猛出免费软件| 亚洲天堂网在线观看视频| 久久婷婷五月综合色一区二区| 亚洲人成在线免费观看| 国产一级精品毛片基地| 免费xxxxx在线观看网站| 国产在线第二页| 国产成人欧美| 亚洲综合狠狠| 伊人福利视频| 中文国产成人久久精品小说| 欧美日韩国产在线观看一区二区三区| 日本精品视频一区二区 | 夜夜操天天摸| 综合色区亚洲熟妇在线| 99热这里只有精品久久免费| 亚洲综合经典在线一区二区| 亚洲码一区二区三区| 67194在线午夜亚洲| 久久五月视频| 亚洲成A人V欧美综合| 手机在线免费不卡一区二| AV无码无在线观看免费| 国产主播喷水| 日本免费高清一区| 亚洲自拍另类| 国产色婷婷| 国产精品网曝门免费视频| 无码精品国产VA在线观看DVD| 亚洲看片网| 伦精品一区二区三区视频| 五月综合色婷婷| 亚洲国产成人精品无码区性色| 日韩欧美国产另类| 天天做天天爱夜夜爽毛片毛片| 99人妻碰碰碰久久久久禁片| 91久久国产综合精品| 日韩无码黄色网站| 欧美成人h精品网站| 91探花在线观看国产最新| 国产成在线观看免费视频| 久热99这里只有精品视频6| 又爽又大又黄a级毛片在线视频| 久久这里只精品国产99热8| 欧美综合区自拍亚洲综合绿色 | 久久视精品| 欧美成人精品高清在线下载| 九九这里只有精品视频| A级全黄试看30分钟小视频| 欧美黄网站免费观看| 久热re国产手机在线观看| 国产91小视频在线观看| 97亚洲色综久久精品| 久久大香伊蕉在人线观看热2| 无码丝袜人妻| 浮力影院国产第一页| 亚洲精品国产综合99| 亚洲AV无码不卡无码|