国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

針對(duì)C語(yǔ)言的啟發(fā)式案例教學(xué)方法探索

2009-09-25 09:46:16周思方
學(xué)理論·下 2009年7期
關(guān)鍵詞:啟發(fā)式

周思方 彭 力

摘要:C語(yǔ)言是一門非常重要的專業(yè)基礎(chǔ)課程,直接影響后續(xù)專業(yè)課的學(xué)習(xí)和編程能力的培養(yǎng),因此,針對(duì)語(yǔ)言特點(diǎn),不斷探索更為有效的教學(xué)方法,顯得尤為重要。實(shí)踐中,筆者把“啟發(fā)式”和“案例驅(qū)動(dòng)”教學(xué)方法結(jié)合起來(lái),取得了良好的教學(xué)效果。在明確了C語(yǔ)言的教學(xué)目標(biāo)的基礎(chǔ)上,把提高學(xué)習(xí)興趣、培養(yǎng)編程能力作為重點(diǎn),結(jié)合實(shí)踐,對(duì)“啟發(fā)式”和“案例驅(qū)動(dòng)”教學(xué)方法進(jìn)行了探索,對(duì)于C語(yǔ)言教學(xué)方法改進(jìn)具有參考價(jià)值。

關(guān)鍵詞:C語(yǔ)言教學(xué);啟發(fā)式;案例驅(qū)動(dòng)

中圖分類號(hào):G642.41文獻(xiàn)標(biāo)志碼:A文章編號(hào):1002-2589(2009)17-0221-02

一、引言

C語(yǔ)言的發(fā)展貫穿了計(jì)算機(jī)發(fā)展的幾乎整個(gè)歷程,蘊(yùn)含了程序設(shè)計(jì)的基本思想和相關(guān)概念,如程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)等重要考業(yè)課程都以C語(yǔ)言為背景,再加上它應(yīng)用廣泛,從操作系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)、通訊、數(shù)據(jù)處理,甚至嵌入式應(yīng)用都大量使用C語(yǔ)言開發(fā)。所以,在高校作為重要的專業(yè)基礎(chǔ)課程,C語(yǔ)言教學(xué)的重要性是公認(rèn)的。作者多年來(lái)從事C語(yǔ)言的教學(xué),實(shí)踐中發(fā)現(xiàn)在明確的教學(xué)目標(biāo)下,精心設(shè)計(jì)教學(xué)內(nèi)容,并將“啟發(fā)式”與“案例驅(qū)動(dòng)”結(jié)合起來(lái)能取得較好的教學(xué)效果。下面是作者提煉出的教學(xué)心得,以期拋磚引玉。

二、明確的教學(xué)目標(biāo)

教學(xué)中,首先應(yīng)明確教學(xué)目標(biāo)。C語(yǔ)言的第一節(jié)課很重要,有的老師為了趕課時(shí)可能匆匆略過(guò),沒(méi)有講到位就直接進(jìn)入后序章節(jié)中,學(xué)生沒(méi)有真正領(lǐng)悟?qū)W習(xí)C語(yǔ)言的重要性,沒(méi)有激發(fā)出主動(dòng)獲取知識(shí)的動(dòng)力,造成被動(dòng)的接受知識(shí),學(xué)到最后可能也不學(xué)習(xí)C語(yǔ)言有什么用。為避免這種情況,第一次課我們就應(yīng)突出以下三個(gè)方面:

(1)為什么說(shuō)C語(yǔ)言是一門重要的專業(yè)基礎(chǔ)課程?除了為后序課程做準(zhǔn)備外,它還能做哪些應(yīng)用,并用C語(yǔ)言編的實(shí)例程序演示一下,會(huì)收到很好的教學(xué)效果,學(xué)生會(huì)很喜歡,也讓學(xué)生明白學(xué)習(xí)C語(yǔ)言的目的,激發(fā)學(xué)習(xí)興趣。

(2)規(guī)劃教學(xué)內(nèi)容,明確學(xué)習(xí)方向。把C語(yǔ)言的大綱給學(xué)生展示及課程設(shè)計(jì)所包含的內(nèi)容,最后達(dá)到的目標(biāo),讓學(xué)生明確大致的方向。

(3)溝通“教”與“學(xué)”的方法。老師準(zhǔn)備如何教?讓學(xué)生怎樣學(xué)?對(duì)于初學(xué)編程語(yǔ)言的學(xué)生來(lái)說(shuō)非常重要,花些時(shí)間,會(huì)起到事半功倍的作用。大學(xué)里的學(xué)習(xí)和高中明顯不同,更要注重提高學(xué)生的主動(dòng)性,教師在此可以給學(xué)生提供一些資料、網(wǎng)址及學(xué)習(xí)方法,讓學(xué)生沒(méi)有畏難心理,并可以主動(dòng)學(xué)習(xí)。

三、精心設(shè)計(jì)的教學(xué)內(nèi)容

教材在教學(xué)中起著至關(guān)重要的作用,在教學(xué)當(dāng)中,吃透教材,但又不能局限于教材,安排好教學(xué)內(nèi)容很關(guān)鍵,也能起到畫龍點(diǎn)睛的作用。

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

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);

}

該程序的思想是,從兩個(gè)數(shù)中選出較小的那個(gè)整數(shù),從它開始依次遞減(步長(zhǎng)為1),直到某個(gè)數(shù)可以同時(shí)整除這兩個(gè)數(shù),最先滿足條件的就是最大公約數(shù)。先按照學(xué)生的普遍思路出發(fā)講解這個(gè)簡(jiǎn)單的程序?qū)崿F(xiàn)方法,然后再講解經(jīng)典算法,學(xué)生就會(huì)更自信,興趣也會(huì)更濃。

另外,有些章節(jié)可以根據(jù)情況詳略得當(dāng),大學(xué)里的學(xué)生要培養(yǎng)其逐步養(yǎng)成自學(xué)的能力,有些內(nèi)容可以適當(dāng)?shù)牧艚o學(xué)生自己,讓學(xué)生自己去理解,去做題目,以增加其成就感。

在教學(xué)中,還應(yīng)參考一些其它的教材,可以豐富知識(shí),引入更加合適的案例,建議可以參考一下國(guó)外的教材,因?yàn)閲?guó)外的有些教材與實(shí)例結(jié)合,解決當(dāng)前熱點(diǎn)問(wèn)題,如移動(dòng)通信、網(wǎng)絡(luò)的配置、DNA結(jié)構(gòu)圖繪制等,講述了解決問(wèn)題的系統(tǒng)的方法,講述了利用軟件工程方法設(shè)計(jì)出內(nèi)聚的、可讀性好的、可重用的模塊化程序解決方案??梢砸]給學(xué)生,以提高其知識(shí)面,也可以彌補(bǔ)一些教材的不足。

四、結(jié)合案例應(yīng)用啟發(fā)式教學(xué)

有了前面的基礎(chǔ),教學(xué)中再安排一些案例,啟發(fā)學(xué)生思考,效果會(huì)更好。對(duì)于學(xué)生而言,很想學(xué)習(xí)一些實(shí)踐性的例子,所以在適當(dāng)?shù)恼鹿?jié)中應(yīng)該有一個(gè)切合實(shí)際的例子。比如講到指針和數(shù)組時(shí),這是一個(gè)難點(diǎn),學(xué)生會(huì)感到很難,并且不知如何運(yùn)用,此時(shí)以撲克牌游戲?yàn)槔?先以52張牌為基準(zhǔn),從“洗牌”還有“發(fā)牌”講起,這中間我們用到了指針數(shù)組、隨機(jī)函數(shù)、雙重循環(huán)語(yǔ)句等,由復(fù)雜到簡(jiǎn)單,把復(fù)雜的難以接受的語(yǔ)句和算法通過(guò)強(qiáng)烈的興趣變成容易接受和消化吸收。這種教學(xué)方法,特別適合學(xué)生掌握了一定的方法之后再進(jìn)一步的理解和加深并學(xué)會(huì)靈活運(yùn)用的能力,在教學(xué)當(dāng)中,可以從以下幾點(diǎn)啟發(fā)學(xué)生。

(一)啟發(fā)學(xué)生復(fù)雜的事情簡(jiǎn)單的做

當(dāng)面對(duì)一個(gè)復(fù)雜的程序時(shí),應(yīng)讓學(xué)生明白不能選擇逃避,而是如何想辦法解決它,如何把復(fù)雜的程序從大的模塊分析化簡(jiǎn)為若干個(gè)小的模塊再到具體的算法。拿撲克牌游戲?yàn)槔?當(dāng)看到這個(gè)題目學(xué)生可能感到無(wú)從下手,先分析需要幾個(gè)函數(shù),再到具體實(shí)現(xiàn)。在具體實(shí)現(xiàn)中比如洗牌時(shí)先分析這52張牌需要多少個(gè)變量,這些變量應(yīng)該如何定義,通過(guò)分析我們得出:

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

int a[4][13]={0}; //每種花色對(duì)應(yīng)13張牌,共52張,初始值為0,為洗牌準(zhǔn)備

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

最關(guān)鍵的是算法的選取,52張牌(1-52)我們要放在隨機(jī)的位置上,應(yīng)如何放,這要用到隨機(jī)函數(shù),循環(huán)語(yǔ)句,然后得出:

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

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

{row=rand()%4;

clon=rand()%13;

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

a[row][clon]=i;

break;

}

else continue; //如果已填上就繼續(xù)找

}}

學(xué)生看到原來(lái)一個(gè)撲克牌游戲就是如此實(shí)驗(yàn)出來(lái)的,感覺(jué)很有意義,也對(duì)C越來(lái)越感興趣,趁熱打鐵,此時(shí)啟發(fā)學(xué)生如果加上兩張大王的話,又該如何編寫呢?從而引起學(xué)生深深的思考,化被動(dòng)為主動(dòng)。

(二)啟發(fā)學(xué)生簡(jiǎn)單的事情認(rèn)真的做

啟發(fā)學(xué)生越是簡(jiǎn)單的東西越不能忽視,看似簡(jiǎn)單的程序,里面任何一個(gè)環(huán)節(jié)都要研究透徹,不能大意。對(duì)于洗牌程序來(lái)說(shuō)算法已有,那發(fā)牌程序又如何編寫呢?可以先讓學(xué)生自己考慮,經(jīng)過(guò)測(cè)試,有一部分學(xué)生這樣寫:

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

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

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

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

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

m++;

}

當(dāng)場(chǎng)運(yùn)行給學(xué)生,會(huì)發(fā)現(xiàn)發(fā)牌是一樣的,和洗牌的結(jié)果不一致??此坪?jiǎn)單,但一下手就錯(cuò),如何改進(jìn)?和洗牌結(jié)合起來(lái):

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已定義過(guò),初值為0

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

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

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

m++;}

}

學(xué)生會(huì)恍然大悟,看似簡(jiǎn)單的東西,要不斷實(shí)驗(yàn),最后才能得出正確結(jié)果。

(三)啟發(fā)學(xué)生認(rèn)真的事情反復(fù)的做

還是拿上例為準(zhǔn),當(dāng)場(chǎng)將編好的程序反復(fù)驗(yàn)證,發(fā)現(xiàn)是有規(guī)律的,為什么會(huì)出現(xiàn)這樣的情況,隨機(jī)發(fā)牌應(yīng)該是無(wú)規(guī)律的,這是因?yàn)殡S機(jī)種子一樣,所以產(chǎn)生的隨機(jī)數(shù)一樣。程序修改為:

srand(time(0));//給隨機(jī)數(shù)產(chǎn)生一個(gè)隨機(jī)種子(seed),時(shí)間在變化,所以種子也不同

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

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

{row=rand()%4;

clon=rand()%13;

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

a[row][clon]=i;

break;

}

else continue; //如果已填上就繼續(xù)找

}}

啟發(fā)學(xué)生考慮成熟的東西還需要不斷測(cè)試與驗(yàn)證,直至達(dá)到合乎要求的結(jié)果。從這個(gè)例子中學(xué)生會(huì)學(xué)到書上沒(méi)有的一些知識(shí)點(diǎn),有種學(xué)有所用的感覺(jué)。

(四)啟發(fā)學(xué)生反復(fù)的事情創(chuàng)新的做

啟發(fā)學(xué)生在反復(fù)測(cè)試一些程序的時(shí)侯,看有無(wú)更好的解決辦法,代碼能簡(jiǎn)化的盡量簡(jiǎn)化,但又不能影響程序的可讀性。創(chuàng)新能力對(duì)于培養(yǎng)學(xué)生的基本素質(zhì)也很重要,但這需要學(xué)生了解更多的知識(shí),促使學(xué)生主動(dòng)學(xué)習(xí),培養(yǎng)其獨(dú)立發(fā)現(xiàn)和解決問(wèn)題的能力。

五、總結(jié)

本文主要提出了“啟發(fā)式”與“案例驅(qū)動(dòng)”相結(jié)合的教學(xué)方法。老師在教學(xué)中起到的作用不僅是傳授知識(shí),指點(diǎn)方向也很重要,要不斷挖掘?qū)W生的潛能。教學(xué)是個(gè)不斷發(fā)展的過(guò)程,教學(xué)當(dāng)中,要根據(jù)學(xué)生情況具體對(duì)待,找出一套適合自己學(xué)生學(xué)習(xí)的好方法,不斷總結(jié),尋找經(jīng)驗(yàn),以取得更大的教學(xué)效果。

參考文獻(xiàn):

[1]中國(guó)高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系[M].北京:清華大學(xué)出版社,2006.

[2]劉達(dá)明,甘玲.如何提高計(jì)算機(jī)專業(yè)的C語(yǔ)言教學(xué)質(zhì)量[J].計(jì)算機(jī)教育,2005,(8):32-33.

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

[4]徐涵.行為導(dǎo)向教學(xué)中的教師角色轉(zhuǎn)換[J].中國(guó)職業(yè)技術(shù)教育,2006,(4):14-16.

(責(zé)任編輯/石銀)

猜你喜歡
啟發(fā)式
小學(xué)數(shù)學(xué)問(wèn)題情境教學(xué)探究
南北橋(2016年12期)2017-01-10 22:44:31
啟發(fā)式教學(xué)的內(nèi)涵
運(yùn)用啟發(fā)式教學(xué)法教學(xué)平行四邊形
善用啟發(fā)式教學(xué),提高高中生物教學(xué)效率
考試周刊(2016年94期)2016-12-12 13:41:33
高中英語(yǔ)課堂教學(xué)案例陳美琴
談高中政治課中的啟發(fā)式教學(xué)
啟發(fā)式教學(xué)在《數(shù)據(jù)庫(kù)技術(shù)應(yīng)用》課程中的應(yīng)用
英語(yǔ)閱讀教學(xué)的創(chuàng)新策略
談?wù)劷虒W(xué)方法問(wèn)題
戲劇之家(2016年8期)2016-05-23 00:43:20
啟發(fā)式和案例式教學(xué)模式在基礎(chǔ)工程課程中的應(yīng)用
江永县| 伊金霍洛旗| 修水县| 新乡市| 郧西县| 崇明县| 淄博市| 汉源县| 泗洪县| 达日县| 璧山县| 福建省| 民丰县| 松滋市| 延安市| 巴彦县| 东源县| 米脂县| 灌南县| 通许县| 河东区| 二手房| 安平县| 怀仁县| 称多县| 绥阳县| 攀枝花市| 永兴县| 翁源县| 雷州市| 绥中县| 乐东| 湖北省| 阜南县| 吉木萨尔县| 孝昌县| 河北省| 灵璧县| 松江区| 呼玛县| 平远县|