• 
    

    
    

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

      普通高等院校C語言程序設(shè)計課程教學(xué)問題剖析及對策研究

      2013-04-29 09:00:58黎利輝黃海王聯(lián)芳
      計算機(jī)時代 2013年8期
      關(guān)鍵詞:趣味性語法算法

      黎利輝 黃?!⊥趼?lián)芳

      摘 要: 針對普通高等院校C語言程序設(shè)計課程的教學(xué),提出了三個具體的教學(xué)問題:①對于語法與算法的關(guān)系處理;②對編程實踐的引導(dǎo);③教學(xué)過程中的趣味性。對這些問題分別提出了具體、有針對性的解決辦法,在實際的教學(xué)過程中采用這些方法收到了較好的效果。這些方法對普通高校C語言程序課程的教學(xué)來說具有普遍意義。

      關(guān)鍵詞: C語言; 語法; 算法; 教學(xué); 編程實踐; 趣味性

      中圖分類號:G424 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2013)08-58-03

      0 引言

      目前幾乎所有普通高等院校(本文指一般本科院?;蚋呗毟邔T盒#┑睦砉た茖I(yè)都開設(shè)了C語言程序設(shè)計這門課程,在有的學(xué)校,這門又叫高級語言程序設(shè)計。在學(xué)習(xí)這門課之前,學(xué)生基本上都沒有編程知識,對他們來說這門課程學(xué)習(xí)難度較大。普通高等院校的學(xué)生學(xué)習(xí)素質(zhì)整體偏低,主要表現(xiàn)在兩點:①學(xué)習(xí)的主動性較差;②沒有足夠的毅力來戰(zhàn)勝學(xué)習(xí)過程中所遇到的困難。在這樣的背景下,很多講授這門課程的教師不能因地制宜地組織教學(xué),出現(xiàn)了一些問題,本文歸納了這些問題,并提出了相應(yīng)的解決辦法,與各同行商榷。

      1 對語法與算法的關(guān)系處理不當(dāng)

      C語言程序設(shè)計這門課有兩個主要教學(xué)目標(biāo):①掌握C語言的基本語法;②掌握一些基本的算法?!八惴ㄊ菍μ囟▎栴}求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示一個或多個操作”[1]?!八惴ㄊ庆`魂,不掌握算法就像是無米之炊。語言是工具,不掌握語言,編程就成為空中樓閣”[2]。這兩個目標(biāo)都很重要,但相對來說,第一個目標(biāo)難度偏低,第二個目標(biāo)難度偏高。

      我們對普通高等院校C語言程序設(shè)計課堂進(jìn)行訪查發(fā)現(xiàn),有些教師將語法和算法孤立開來進(jìn)行講解,其結(jié)果是,單純地講語法,學(xué)生會覺得知識點零散,并且枯燥無味;單純地講算法,學(xué)生不知道算法如何用語言來實現(xiàn)。

      在教學(xué)過程中,為了能體現(xiàn)教學(xué)的趣味性,將零散的知識點有效地組織起來,以吸引學(xué)習(xí)主動性和學(xué)習(xí)能力都不強(qiáng)的學(xué)生很好地參與到學(xué)習(xí)過程中來,采用的方式是以程序設(shè)計為主線,將算法和語法結(jié)合起來講授。先提出問題,再分析解決這個問題的思路與步驟,即算法分析,然后再用C語言來實現(xiàn),在實現(xiàn)的過程中將重點語法進(jìn)行講解。比如在開始講解循環(huán)這一章時,針對“輸出50000個星號”這一問題,首先進(jìn)行算法分析:一條輸出語句輸出一個星號,把這個操作重復(fù)50000次,重復(fù)的操作需要利用循環(huán)來控制,這樣算法分析就到此為止。接著教師要現(xiàn)場編寫程序,通過具體的程序代碼,來講解for語句的語法細(xì)節(jié):①三個表達(dá)式各自的作用及執(zhí)行流程;②三個表達(dá)式省略的情況(要簡單地講解,不能讓學(xué)生陷入語法的泥潭中)。

      在教學(xué)過程中,很多教師過于側(cè)重于語法細(xì)節(jié)的講授,而忽略了對學(xué)生基本算法思維的訓(xùn)練。比如花很多時間來講解各種數(shù)據(jù)類型在不同的編譯環(huán)境中所占的存儲空間,其實數(shù)據(jù)類型只需要掌握最常用的幾種,并且知道每一種數(shù)據(jù)類型的數(shù)值范圍有一定限制即可,不必深究具體的數(shù)值范圍是多少和每種編譯環(huán)境下每種數(shù)據(jù)類型各占多少個字節(jié)。一旦教師把學(xué)生的學(xué)習(xí)精力導(dǎo)向這些繁瑣的語法細(xì)節(jié),就會使學(xué)生感覺這門課枯燥無味,對于普通高校的學(xué)生,這樣的授課方式會消磨他們的學(xué)習(xí)積極性。

      從整體來說,語法細(xì)節(jié)的講授應(yīng)當(dāng)盡量弱化(弱化的程度以編程基本夠用為標(biāo)準(zhǔn)),要將主要精力放在培養(yǎng)學(xué)生用C語言來解決實際問題的能力上(即對算法的訓(xùn)練),學(xué)生有了一定的基礎(chǔ)后,可以自學(xué)所需的語法細(xì)節(jié)。在語法與算法結(jié)合的教學(xué)過程中,語法與算法側(cè)重點的選擇,在不同的時期是不一樣的。如果以一個學(xué)期為周期,在學(xué)期初教師要花主要精力來引導(dǎo)學(xué)生熟悉C語言的語法,比如在什么時候打逗號、分號、空格,如何進(jìn)行代碼縮進(jìn)等,這一過程約花四分之一個學(xué)期。學(xué)生熟悉了C語言的常見語法規(guī)律和開發(fā)環(huán)境后,教師應(yīng)當(dāng)有意識的側(cè)重于算法教學(xué)。如果以每一章的教學(xué)過程為周期,語法與算法的側(cè)重點也是不一樣的。在一章的教學(xué)初期,應(yīng)當(dāng)以語法為主,后期應(yīng)當(dāng)以算法為主。

      2 對學(xué)生編程實踐引導(dǎo)不足

      C語言程序設(shè)計是一門實踐性非常強(qiáng)的課程,對于入門者最好的學(xué)習(xí)方式就是多動手編寫程序和調(diào)試程序,可是很多教師對學(xué)生入門階段的編程實踐引導(dǎo)不足,主要表現(xiàn)在兩個方面。

      2.1 授課時過于依賴課件,現(xiàn)場編程示范不足

      筆者曾經(jīng)就這門課的教學(xué)情況調(diào)查了廣西崇左市的兩所高校——廣西民族師范學(xué)院和廣西理工職業(yè)技術(shù)學(xué)院,發(fā)現(xiàn)在43名教師中,有39位教師授課時主要依賴課件(如PPT)來講授,很少動手寫代碼,所占比率為90.7%,而這些教師普遍反應(yīng)這門課教學(xué)難度大,學(xué)生難以理解。這其中一個重要的原因是教師授課時過于依賴課件,導(dǎo)致學(xué)生預(yù)習(xí)和復(fù)習(xí)鞏固時,下意識地去翻閱課件而不是動手編程實踐。普通高等院校的絕大部分學(xué)生即使動手實踐,也只是簡單的把教師的代碼復(fù)制粘貼到編程環(huán)境下進(jìn)行運行,僅滿足于基本看懂并且運行通過這一層次,這一層次離真正掌握所學(xué)知識還差的很遠(yuǎn)。

      教師在上課時,如果能脫離課件,將主要代碼當(dāng)場編寫出來,并結(jié)合代碼與注釋講解語法細(xì)節(jié),這樣做既可以加深學(xué)生的記憶,又可以無形中培養(yǎng)學(xué)生動手編寫程序的意識。那么,學(xué)生在預(yù)習(xí)與復(fù)習(xí)鞏固時,就會以編程實踐為基礎(chǔ)進(jìn)行學(xué)習(xí),達(dá)到事半功倍的效果。

      筆者做過一次實驗,在兩個學(xué)生人數(shù)與整體素質(zhì)相當(dāng)?shù)陌嗉壷v授這門課,其中A班依據(jù)課件進(jìn)行講解,很少現(xiàn)場編程示范,課后把課件發(fā)給學(xué)生進(jìn)行鞏固復(fù)習(xí)。在B班以現(xiàn)場編程的方式來講解,在關(guān)鍵的地方用注釋的方式來說明,課后將代碼與課件都發(fā)給學(xué)生。期末兩個班在同一個考場測驗,A班的平均成績?yōu)?7.8分,B班的平均成績?yōu)?3.6分,相差5.8分。在對教師授課滿意度反饋這一項,A班對教師的平均授課滿意度為89.2分,B班為93.6分,相差4.4分。

      2.2 對學(xué)生編程錯誤處理能力的訓(xùn)練不足

      C語言初學(xué)者,困擾他們最多的是編譯與連接時出現(xiàn)的錯誤;在入門后的提高階段,困擾他們最多的是運行時出現(xiàn)的邏輯錯誤。如何解決這兩類錯誤,對他們來說這是兩個很大的挑戰(zhàn)。因為錯誤提示都是英文,普通高等院校的理工科學(xué)生英語水平普遍不高,很多同學(xué)對英文的錯誤提示有畏懼心理,不能堅持讀懂這些錯誤提示進(jìn)而解決錯誤。故C語言的教師,幫助學(xué)生消除對英文錯誤提示的畏懼心理,提高學(xué)生解決錯誤的能力,是一個非常重要的教學(xué)目標(biāo)。但是很多教師忽視了這一點,他們一般在上課前把代碼寫好,上課時把代碼復(fù)制到編程環(huán)境下執(zhí)行,在整個編譯、連接、運行過程中避免出現(xiàn)錯誤,忽略了對一些典型錯誤的講解。并且有些教師在學(xué)生動手編程的過程中,不進(jìn)行有效地監(jiān)控,對學(xué)生的錯誤不進(jìn)行指導(dǎo),這時相當(dāng)一部分意志薄弱的學(xué)生,就會有挫敗感,不斷積累的挫敗感會擊垮他們學(xué)習(xí)的信心。

      如何達(dá)到這一目標(biāo)值得我們思考,對于編譯與連接時的常見錯誤,首先,教師在編程示范時,可以在特定情景下故意寫錯,然后帶著學(xué)生查看錯誤提示,教會學(xué)生解決這一類錯誤。比如在第一節(jié)課時,在程序正確運行后,教師可以故意將一個英文標(biāo)點改為中文標(biāo)點并遺漏一個分號,帶領(lǐng)學(xué)生看錯誤提示時,讓他們把其中常見的英文單詞熟記于胸,通過這種方式教會學(xué)生解決這兩類錯誤。對于學(xué)生普遍遇到的錯誤,可以把學(xué)生遇到的錯誤代碼針對全班同學(xué)進(jìn)行講解。對于學(xué)習(xí)后期經(jīng)常遇到的邏輯錯誤,應(yīng)當(dāng)教學(xué)生使用輸出語句和斷點調(diào)試這兩個非常有用的方法來排除錯誤。

      教是為了達(dá)到不需要教[3],授人以魚不如授人以漁,在教師的引導(dǎo)下,如果學(xué)生具備了C語言的基本知識和基本的解決錯誤的能力,就代表學(xué)生具備了自學(xué)的能力,這時教師就可以多引導(dǎo)學(xué)生自學(xué)了。

      3 教學(xué)過程中對學(xué)生趣味性體驗的重視不足

      教學(xué)過程中,教師對學(xué)生趣味性體驗的重視不足主要表現(xiàn)在兩個方面。

      3.1 教態(tài)語態(tài)不夠活躍,教學(xué)氣氛沉悶

      很多教師教學(xué)設(shè)計不嚴(yán)謹(jǐn),對教學(xué)過程中的起承轉(zhuǎn)折和教學(xué)內(nèi)容重點難點沒有很好地設(shè)計;而為體現(xiàn)教師的尊嚴(yán)和課堂的嚴(yán)肅性,教態(tài)過于嚴(yán)謹(jǐn),缺失生動性,語言表述過于學(xué)術(shù)化和專業(yè)化。這門課程內(nèi)容本身并不生動,如果以這樣的教態(tài)進(jìn)行教學(xué)就更容易出現(xiàn)教學(xué)氣氛沉悶,學(xué)生聽課疲倦的情況,如果學(xué)生學(xué)習(xí)主動性較差,其內(nèi)在的學(xué)習(xí)驅(qū)動力不足,他們很容易對這門課失去興趣。

      成功的課堂應(yīng)該是:教學(xué)設(shè)計嚴(yán)謹(jǐn),教態(tài)語態(tài)生動。教師在教學(xué)前要進(jìn)行嚴(yán)格的教學(xué)設(shè)計,實施教學(xué)環(huán)節(jié)時,應(yīng)當(dāng)在教態(tài)語態(tài)上放松,盡量用生動形象的口語來教學(xué),現(xiàn)舉一例如下。

      變量對于C語言初學(xué)者是一個比較難掌握的概念,學(xué)生應(yīng)當(dāng)理解變量的如下幾層含義:變量是用來保存值的,變量里的值是可以隨時改變的;變量里只能保存一個值;變量有類型的區(qū)別;變量的地址與名字的區(qū)別。通過教學(xué)前的嚴(yán)格設(shè)計,在教學(xué)過程中可以這么來講授:一個變量就像教室里的一個座位;變量是用來保存值的,座位上坐的人就相當(dāng)于變量里保存的值;一個座位上只能坐一個人,變量里只能保存一個值,教師來給你調(diào)試錯誤時,你就得讓座,第二次給變量賦值時,新值就把原來的值替換了;每一個座位有一個編號,如01,02等,每一個變量有一個內(nèi)存地址,如oxfff1,0xfff5等;這些地址不好記憶,我們再給變量取一個容易記憶的名字,比如sum、max等,對應(yīng)地我們可以把這個座位叫做“龍椅”、“太師椅”等。此時,學(xué)生往往就會哄堂大笑,但學(xué)生的歡笑聲并不代表他們已經(jīng)真正理解了這個概念,這時教師要把學(xué)生的情緒由興奮引導(dǎo)到平靜,思考變量與座位之間的關(guān)系。學(xué)生放松過后,一般愿意去思考,并且能深刻地理解變量這一概念。

      3.2 教學(xué)過程中對學(xué)生學(xué)習(xí)成就感的體驗關(guān)注不足

      所謂學(xué)習(xí)成就感,實際上是學(xué)習(xí)者在學(xué)習(xí)過程中的一種積極的情緒體驗,是在取得成功,達(dá)到愿望,實現(xiàn)自我價值,得到認(rèn)可時產(chǎn)生的滿足感和喜悅感。這種發(fā)自內(nèi)心的滿足感與喜悅感,是他們感受學(xué)習(xí)趣味性的一種最強(qiáng)烈的方式。當(dāng)前絕大部分普通高等院校的教學(xué)評價機(jī)制不完善,很多教師認(rèn)為,教師只需簡單地將所要講授的知識講解清楚就可以了,學(xué)生學(xué)與不學(xué),學(xué)得好與不好與己無關(guān),有時候?qū)W生根本聽不懂,但教師還是一成不變地按教學(xué)計劃實施教學(xué)。C語言程序設(shè)計課程內(nèi)容的連續(xù)性,決定了如果前面的知識沒有理解,后面的課程內(nèi)容將更加難以掌握,這樣,學(xué)生就會感受到更多的挫敗,而不是成就,在挫敗感籠罩下,學(xué)生很難體會到本門課程的趣味性。

      那么在普通高等院校針對這門課程,教師如何幫助學(xué)生獲得成就感呢?除去普通意義上的提高教師授課水平外,筆者還摸索出以下兩點思路。

      在學(xué)習(xí)初期,教師可以要求學(xué)生用抄寫原代碼的方式來熟記C語言的語法細(xì)節(jié)。記憶是任何一門學(xué)科學(xué)習(xí)的必要手段。普通高等院校的學(xué)生,大部分在課后不會主動去記憶語法格式,教師可以通過這種方式來強(qiáng)迫學(xué)生去記憶,讓他們盡快地去熟悉語法格式。這樣在上課時,學(xué)生就會大大降低因為語法細(xì)節(jié)不熟悉而產(chǎn)生的挫敗感,相反成就感會大大增加。

      學(xué)生間的學(xué)習(xí)素質(zhì)是有差異的,面對這種差異,很多教師都提出了因材施教策略,這固然是對的,但關(guān)鍵是在同一個課堂里如何因材施材。比較可行的方式是:教師在設(shè)計學(xué)習(xí)目標(biāo)時,根據(jù)難度級別分為幾個教學(xué)要求,教學(xué)時先從低難度的要求開始講授,這一要求的內(nèi)容,絕大部分的學(xué)生能夠掌握,極個別學(xué)習(xí)較差的學(xué)生,多花一點精力也能掌握,通過降低難度,讓所有學(xué)生都能獲得成功的體驗,這種內(nèi)在的學(xué)習(xí)成就感會賦予他們繼續(xù)學(xué)習(xí)的動力;接著教師把要求適當(dāng)提高,難度級別也相應(yīng)加大,注意難度提高的梯度不可過大,還是得保證絕大部分的學(xué)生可以掌握;課后可以把這個問題的要求繼續(xù)提高、難度繼續(xù)加大,讓學(xué)習(xí)成績好的學(xué)生去鉆研。

      例如在講授C語言冒泡排序時,可以先按第一層要求來講解,在黑板上分析從前往后進(jìn)行比較這種思路,這一思路是非常簡單的,每個同學(xué)都可以掌握;再提出第二層要求,將這種冒泡排序用C語言來實現(xiàn),通過對這層要求的分析,讓學(xué)生明白為什么要用數(shù)組,兩層循環(huán)各自的作用是什么等關(guān)鍵知識點,這兩層要求要讓每一個學(xué)生都能達(dá)到,讓學(xué)生獲得學(xué)習(xí)成就感;接著提第三層要求,冒泡排序如果從后往前進(jìn)行比較,那么應(yīng)該如何實現(xiàn),這時需要教師指明思路,簡單講解后交給學(xué)生自己去實現(xiàn)程序,培養(yǎng)學(xué)生的學(xué)習(xí)能力,因為有前面的成就感作為自我獎勵,學(xué)生一般愿意去研究第三層要求;最后提出第四層要求,當(dāng)全部數(shù)據(jù)已經(jīng)按要求排好時,如何提前結(jié)束排序過程。在實施教學(xué)的過程中一定要注意表揚學(xué)習(xí)成績差但是已經(jīng)達(dá)到第一層和第二層要求的學(xué)生,讓他們也能獲得久違的學(xué)習(xí)上的贊美與肯定。

      4 結(jié)束語

      筆者在多年的實踐教學(xué)過程中,采用以上辦法收到很好的效果,教學(xué)中氣氛融洽,學(xué)生學(xué)習(xí)的積極性高,都能較好地掌握本門課程的主要知識。凡是計算機(jī)語言類教學(xué)的課程,都有共同的特性,本文提出的教學(xué)中的問題,在普通高等院校的其他計算機(jī)語言類課程的教學(xué)中也同樣存在,所以,本文提出的教學(xué)思想也同樣適合于其他計算機(jī)語言類課程的教學(xué)。

      參考文獻(xiàn):

      [1] 嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語言版)[M].清華大學(xué)出版社,2011.

      [2] 譚浩強(qiáng).C程序設(shè)計(第四版)[M].清華大學(xué)出版社,2011.

      [3] 葉圣陶.葉圣陶語文教育論集[M].教育科學(xué)出版社,1980.

      猜你喜歡
      趣味性語法算法
      “揪”出音樂教學(xué)的趣味性
      井岡教育(2022年2期)2022-10-14 03:11:30
      提高化學(xué)實驗教學(xué)趣味性的實踐探索
      甘肅教育(2020年8期)2020-06-11 06:10:20
      基于MapReduce的改進(jìn)Eclat算法
      Travellng thg World Full—time for Rree
      跟蹤導(dǎo)練(二)4
      KEYS
      進(jìn)位加法的兩種算法
      Keys
      Book 5 Unit 1~Unit 3語法鞏固練習(xí)
      一種改進(jìn)的整周模糊度去相關(guān)算法
      易门县| 武汉市| 陆川县| 綦江县| 黄梅县| 麦盖提县| 巴塘县| 稻城县| 黄骅市| 大悟县| 延川县| 全椒县| 渭南市| 平和县| 平凉市| 界首市| 鱼台县| 永顺县| 开封市| 依兰县| 隆化县| 图木舒克市| 锦屏县| 上饶县| 舒兰市| 和政县| 张北县| 长宁县| 邳州市| 尼勒克县| 肇州县| 波密县| 金坛市| 安康市| 嘉善县| 仁怀市| 新巴尔虎右旗| 五峰| 泰和县| 余庆县| 昌黎县|