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

針對C語言的啟發式案例教學方法探索

2009-09-25 09:46:16周思方
學理論·下 2009年7期

周思方 彭 力

摘要:C語言是一門非常重要的專業基礎課程,直接影響后續專業課的學習和編程能力的培養,因此,針對語言特點,不斷探索更為有效的教學方法,顯得尤為重要。實踐中,筆者把“啟發式”和“案例驅動”教學方法結合起來,取得了良好的教學效果。在明確了C語言的教學目標的基礎上,把提高學習興趣、培養編程能力作為重點,結合實踐,對“啟發式”和“案例驅動”教學方法進行了探索,對于C語言教學方法改進具有參考價值。

關鍵詞:C語言教學;啟發式;案例驅動

中圖分類號:G642.41文獻標志碼:A文章編號:1002-2589(2009)17-0221-02

一、引言

C語言的發展貫穿了計算機發展的幾乎整個歷程,蘊含了程序設計的基本思想和相關概念,如程序設計、數據結構等重要考業課程都以C語言為背景,再加上它應用廣泛,從操作系統、數據庫系統、通訊、數據處理,甚至嵌入式應用都大量使用C語言開發。所以,在高校作為重要的專業基礎課程,C語言教學的重要性是公認的。作者多年來從事C語言的教學,實踐中發現在明確的教學目標下,精心設計教學內容,并將“啟發式”與“案例驅動”結合起來能取得較好的教學效果。下面是作者提煉出的教學心得,以期拋磚引玉。

二、明確的教學目標

教學中,首先應明確教學目標。C語言的第一節課很重要,有的老師為了趕課時可能匆匆略過,沒有講到位就直接進入后序章節中,學生沒有真正領悟學習C語言的重要性,沒有激發出主動獲取知識的動力,造成被動的接受知識,學到最后可能也不學習C語言有什么用。為避免這種情況,第一次課我們就應突出以下三個方面:

(1)為什么說C語言是一門重要的專業基礎課程?除了為后序課程做準備外,它還能做哪些應用,并用C語言編的實例程序演示一下,會收到很好的教學效果,學生會很喜歡,也讓學生明白學習C語言的目的,激發學習興趣。

(2)規劃教學內容,明確學習方向。把C語言的大綱給學生展示及課程設計所包含的內容,最后達到的目標,讓學生明確大致的方向。

(3)溝通“教”與“學”的方法。老師準備如何教?讓學生怎樣學?對于初學編程語言的學生來說非常重要,花些時間,會起到事半功倍的作用。大學里的學習和高中明顯不同,更要注重提高學生的主動性,教師在此可以給學生提供一些資料、網址及學習方法,讓學生沒有畏難心理,并可以主動學習。

三、精心設計的教學內容

教材在教學中起著至關重要的作用,在教學當中,吃透教材,但又不能局限于教材,安排好教學內容很關鍵,也能起到畫龍點睛的作用。

例如在求解最大公約數時,很多教科書只給出一個經典的輾轉相除算法,如果我們就這樣直接講解時,學生很可能不知道為什么非要這樣寫呢?這是根據一個數學定理得到的求最大公約數的算法,大部分學生都不知道這個定理,所以不能理解。但我們在講解時,可以安排先從最大公約數的定義出發,即幾個數所公有的約數叫這幾個數的公約數,公約數中最大的一個叫做這幾個數的最大公約數。按照該理論可以寫出學生容易理解的算法:

void main()

{

int m, n, j;

printf("input n,m(n>0,m>0)");

scanf("%d%d",&n,&m);

j=(n

for(;j>0;j--)

{

if(n%j==0&&m%j==0)

break;

else

continue;

}

printf("max gys is:%d ",j);

}

該程序的思想是,從兩個數中選出較小的那個整數,從它開始依次遞減(步長為1),直到某個數可以同時整除這兩個數,最先滿足條件的就是最大公約數。先按照學生的普遍思路出發講解這個簡單的程序實現方法,然后再講解經典算法,學生就會更自信,興趣也會更濃。

另外,有些章節可以根據情況詳略得當,大學里的學生要培養其逐步養成自學的能力,有些內容可以適當的留給學生自己,讓學生自己去理解,去做題目,以增加其成就感。

在教學中,還應參考一些其它的教材,可以豐富知識,引入更加合適的案例,建議可以參考一下國外的教材,因為國外的有些教材與實例結合,解決當前熱點問題,如移動通信、網絡的配置、DNA結構圖繪制等,講述了解決問題的系統的方法,講述了利用軟件工程方法設計出內聚的、可讀性好的、可重用的模塊化程序解決方案。可以引薦給學生,以提高其知識面,也可以彌補一些教材的不足。

四、結合案例應用啟發式教學

有了前面的基礎,教學中再安排一些案例,啟發學生思考,效果會更好。對于學生而言,很想學習一些實踐性的例子,所以在適當的章節中應該有一個切合實際的例子。比如講到指針和數組時,這是一個難點,學生會感到很難,并且不知如何運用,此時以撲克牌游戲為例,先以52張牌為基準,從“洗牌”還有“發牌”講起,這中間我們用到了指針數組、隨機函數、雙重循環語句等,由復雜到簡單,把復雜的難以接受的語句和算法通過強烈的興趣變成容易接受和消化吸收。這種教學方法,特別適合學生掌握了一定的方法之后再進一步的理解和加深并學會靈活運用的能力,在教學當中,可以從以下幾點啟發學生。

(一)啟發學生復雜的事情簡單的做

當面對一個復雜的程序時,應讓學生明白不能選擇逃避,而是如何想辦法解決它,如何把復雜的程序從大的模塊分析化簡為若干個小的模塊再到具體的算法。拿撲克牌游戲為例,當看到這個題目學生可能感到無從下手,先分析需要幾個函數,再到具體實現。在具體實現中比如洗牌時先分析這52張牌需要多少個變量,這些變量應該如何定義,通過分析我們得出:

char*p[4]={"黑桃","紅桃","梅花","方塊"};//四種花色

int a[4][13]={0}; //每種花色對應13張牌,共52張,初始值為0,為洗牌準備

int row,clon;//隨機的行與列(4行與13列)

最關鍵的是算法的選取,52張牌(1-52)我們要放在隨機的位置上,應如何放,這要用到隨機函數,循環語句,然后得出:

for(int i=1;i<53;i++)//共52張牌

{while(1)//找出一個隨機的行與列

{row=rand()%4;

clon=rand()%13;

if(a[row][clon]==0)//如果這個位置是空的就填上,然后退出內循環

a[row][clon]=i;

break;

}

else continue; //如果已填上就繼續找

}}

學生看到原來一個撲克牌游戲就是如此實驗出來的,感覺很有意義,也對C越來越感興趣,趁熱打鐵,此時啟發學生如果加上兩張大王的話,又該如何編寫呢?從而引起學生深深的思考,化被動為主動。

(二)啟發學生簡單的事情認真的做

啟發學生越是簡單的東西越不能忽視,看似簡單的程序,里面任何一個環節都要研究透徹,不能大意。對于洗牌程序來說算法已有,那發牌程序又如何編寫呢?可以先讓學生自己考慮,經過測試,有一部分學生這樣寫:

for(int i=0;i<4;i++)

for(int j=0;j<13;j++)

{ if(m%2= =0)//m已定義過,初值為0

printf(" ");//分兩列輸出

prinf("%d",a[i][j]);

m++;

}

當場運行給學生,會發現發牌是一樣的,和洗牌的結果不一致。看似簡單,但一下手就錯,如何改進?和洗牌結合起來:

for(int k=1;k<53;k++)//52張牌

for(int i=0;i<4;i++)

for(int j=0;j<13;j++)

{ if(m%2= =0)//m已定義過,初值為0

printf(" "); //分兩列輸出

if(a[i][j]= =k)//找到第1、2……牌

{prinf("%d",a[i][j]);

m++;}

}

學生會恍然大悟,看似簡單的東西,要不斷實驗,最后才能得出正確結果。

(三)啟發學生認真的事情反復的做

還是拿上例為準,當場將編好的程序反復驗證,發現是有規律的,為什么會出現這樣的情況,隨機發牌應該是無規律的,這是因為隨機種子一樣,所以產生的隨機數一樣。程序修改為:

srand(time(0));//給隨機數產生一個隨機種子(seed),時間在變化,所以種子也不同

for(int i=1;i<53;i++)//共52張牌

{while(1)//找出一個隨機的行與列

{row=rand()%4;

clon=rand()%13;

if(a[row][clon]= =0)//如果這個位置是空的就填上,然后退出內循環

a[row][clon]=i;

break;

}

else continue; //如果已填上就繼續找

}}

啟發學生考慮成熟的東西還需要不斷測試與驗證,直至達到合乎要求的結果。從這個例子中學生會學到書上沒有的一些知識點,有種學有所用的感覺。

(四)啟發學生反復的事情創新的做

啟發學生在反復測試一些程序的時侯,看有無更好的解決辦法,代碼能簡化的盡量簡化,但又不能影響程序的可讀性。創新能力對于培養學生的基本素質也很重要,但這需要學生了解更多的知識,促使學生主動學習,培養其獨立發現和解決問題的能力。

五、總結

本文主要提出了“啟發式”與“案例驅動”相結合的教學方法。老師在教學中起到的作用不僅是傳授知識,指點方向也很重要,要不斷挖掘學生的潛能。教學是個不斷發展的過程,教學當中,要根據學生情況具體對待,找出一套適合自己學生學習的好方法,不斷總結,尋找經驗,以取得更大的教學效果。

參考文獻:

[1]中國高等院校計算機基礎教育課程體系[M].北京:清華大學出版社,2006.

[2]劉達明,甘玲.如何提高計算機專業的C語言教學質量[J].計算機教育,2005,(8):32-33.

[3]張瑩.淺談高職院校的項目教學模式[J],江蘇高教,2008,(1):25-26.

[4]徐涵.行為導向教學中的教師角色轉換[J].中國職業技術教育,2006,(4):14-16.

(責任編輯/石銀)

主站蜘蛛池模板: 久久久久人妻一区精品| 国产va在线观看| 韩日免费小视频| 国内精品一区二区在线观看| 久久久久无码国产精品不卡| 欧美特黄一级大黄录像| 欧美一级高清视频在线播放| 国产精品毛片一区| 亚洲国产亚洲综合在线尤物| 欧美视频在线不卡| 99伊人精品| 国产成人精品高清在线| 真实国产精品vr专区| 亚洲av无码成人专区| 亚洲精品无码专区在线观看| 欧美日一级片| 成人噜噜噜视频在线观看| 国产成人亚洲无吗淙合青草| 亚洲色欲色欲www网| 伊人天堂网| 亚洲精品成人片在线观看| 国产精品成人AⅤ在线一二三四| 午夜少妇精品视频小电影| 91色在线观看| 狠狠v日韩v欧美v| 毛片免费试看| 国产99精品久久| 久久亚洲国产最新网站| 好久久免费视频高清| 午夜丁香婷婷| 亚洲v日韩v欧美在线观看| 精品无码人妻一区二区| 国产97色在线| 欧美一区二区自偷自拍视频| 午夜国产理论| 欧美三级自拍| 成人免费网站在线观看| 97人妻精品专区久久久久| 丁香六月综合网| 拍国产真实乱人偷精品| 日韩精品毛片人妻AV不卡| 91免费片| v天堂中文在线| 成人免费视频一区| 国产成人一区二区| 美女潮喷出白浆在线观看视频| 2021国产乱人伦在线播放| 亚洲色图欧美一区| 大香网伊人久久综合网2020| jizz在线观看| 天天干天天色综合网| 国产丝袜啪啪| 中文字幕在线看视频一区二区三区| 成人国产免费| 男女男免费视频网站国产| 欧美啪啪视频免码| 亚洲丝袜第一页| 狠狠亚洲婷婷综合色香| 精品久久久久久成人AV| 超碰91免费人妻| 在线观看国产黄色| 国产日韩欧美中文| 东京热高清无码精品| a级毛片毛片免费观看久潮| 亚洲欧美自拍一区| 国产精品深爱在线| 色窝窝免费一区二区三区 | 国产主播在线观看| 国产精品漂亮美女在线观看| 四虎永久免费网站| 无码人中文字幕| 精品成人免费自拍视频| 最新国产网站| 亚洲av日韩综合一区尤物| 草逼视频国产| 国产女人18毛片水真多1| 日本午夜三级| 久久这里只有精品8| 美女被操91视频| 亚洲免费福利视频| 久久这里只有精品8| 黄色免费在线网址|