• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      周思方 彭 力

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

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

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

      一、引言

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

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

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

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

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

      (3)溝通“教”與“學(xué)”的方法。老師準(zhǔn)備如何教?讓學(xué)生怎樣學(xué)?對(duì)于初學(xué)編程語言的學(xué)生來說非常重要,花些時(shí)間,會(huì)起到事半功倍的作用。大學(xué)里的學(xué)習(xí)和高中明顯不同,更要注重提高學(xué)生的主動(dòng)性,教師在此可以給學(xué)生提供一些資料、網(wǎng)址及學(xué)習(xí)方法,讓學(xué)生沒有畏難心理,并可以主動(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ù),從它開始依次遞減(步長為1),直到某個(gè)數(shù)可以同時(shí)整除這兩個(gè)數(shù),最先滿足條件的就是最大公約數(shù)。先按照學(xué)生的普遍思路出發(fā)講解這個(gè)簡單的程序?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í),引入更加合適的案例,建議可以參考一下國外的教材,因?yàn)閲獾挠行┙滩呐c實(shí)例結(jié)合,解決當(dāng)前熱點(diǎn)問題,如移動(dòng)通信、網(wǎng)絡(luò)的配置、DNA結(jié)構(gòu)圖繪制等,講述了解決問題的系統(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)語句等,由復(fù)雜到簡單,把復(fù)雜的難以接受的語句和算法通過強(qiáng)烈的興趣變成容易接受和消化吸收。這種教學(xué)方法,特別適合學(xué)生掌握了一定的方法之后再進(jìn)一步的理解和加深并學(xué)會(huì)靈活運(yùn)用的能力,在教學(xué)當(dāng)中,可以從以下幾點(diǎn)啟發(fā)學(xué)生。

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

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

      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)語句,然后得出:

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

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

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

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

      }

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

      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++;}

      }

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

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

      還是拿上例為準(zhǔn),當(dāng)場將編好的程序反復(fù)驗(yàn)證,發(fā)現(xiàn)是有規(guī)律的,為什么會(huì)出現(xiàn)這樣的情況,隨機(jī)發(fā)牌應(yīng)該是無規(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é)生考慮成熟的東西還需要不斷測試與驗(yàn)證,直至達(dá)到合乎要求的結(jié)果。從這個(gè)例子中學(xué)生會(huì)學(xué)到書上沒有的一些知識(shí)點(diǎn),有種學(xué)有所用的感覺。

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

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

      五、總結(jié)

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

      參考文獻(xiàn):

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

      [2]劉達(dá)明,甘玲.如何提高計(jì)算機(jī)專業(yè)的C語言教學(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].中國職業(yè)技術(shù)教育,2006,(4):14-16.

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

      猜你喜歡
      啟發(fā)式
      小學(xué)數(shù)學(xué)問題情境教學(xué)探究
      南北橋(2016年12期)2017-01-10 22:44:31
      啟發(fā)式教學(xué)的內(nèi)涵
      未來英才(2016年19期)2017-01-04 13:51:04
      運(yùn)用啟發(fā)式教學(xué)法教學(xué)平行四邊形
      善用啟發(fā)式教學(xué),提高高中生物教學(xué)效率
      考試周刊(2016年94期)2016-12-12 13:41:33
      高中英語課堂教學(xué)案例陳美琴
      談高中政治課中的啟發(fā)式教學(xué)
      啟發(fā)式教學(xué)在《數(shù)據(jù)庫技術(shù)應(yīng)用》課程中的應(yīng)用
      英語閱讀教學(xué)的創(chuàng)新策略
      談?wù)劷虒W(xué)方法問題
      戲劇之家(2016年8期)2016-05-23 00:43:20
      啟發(fā)式和案例式教學(xué)模式在基礎(chǔ)工程課程中的應(yīng)用
      佛山市| 鄄城县| 松原市| 尚志市| 乌拉特前旗| 富锦市| 驻马店市| 达日县| 石屏县| 丰顺县| 金秀| 阿瓦提县| 湟源县| 子长县| 南木林县| 囊谦县| 新郑市| 犍为县| 尼勒克县| 威信县| 独山县| 从化市| 布拖县| 庆云县| 资源县| 阳春市| 湘阴县| 正阳县| 保康县| 花莲市| 洛浦县| 遵义县| 望江县| 西藏| 广元市| 双鸭山市| 渭南市| 日照市| 怀安县| 绩溪县| 贡嘎县|