李俊林
【摘要】C語言作為高職院校計算機專業(yè)的必修課,有著越來越重要的地位。它逐漸成為計算機專業(yè)和非計算機專業(yè)的主要課程。針對 c語言語法的復(fù)雜性和高職院校各專業(yè)學(xué)生的接受能力不同,本文分析了目前C語言教學(xué)中存在的主要問題,并提出了“解決問題式”、“分布式圖解”等循序漸進的教學(xué)方法和教師由“主”變“輔”的教學(xué)模式。
【關(guān)鍵詞】高職教育 C語言 教學(xué)方法
【中圖分類號】G71 【文獻標(biāo)識碼】A 【文章編號】2095-3089(2015)02-0011-02
1.C語言的重要性
C語言是計算機專業(yè)基礎(chǔ)課,它有著承前啟后的作用。作為一種通用的計算機程序設(shè)計函數(shù)語言,它功能豐富,表達能力強,使用靈活方便,應(yīng)用廣泛,既可以用來編寫計算機的系統(tǒng)程序,也可以用來編寫一般的應(yīng)用程序,如工程領(lǐng)域單片機程序設(shè)計[1]的應(yīng)用等。
2.C語言教學(xué)中出現(xiàn)的問題
通常C語言是學(xué)生接觸的第一門程序設(shè)計課程,對沒有編程知識的學(xué)生來說,他們不能理解什么是程序,更不用說程序編制、算法和運行過程等這些概念。加之高職學(xué)生的基礎(chǔ)和主動性較差,遇到困難很容易失去學(xué)習(xí)興趣。如何能讓學(xué)生在有限的教學(xué)時間內(nèi),快速有效的掌握教學(xué)內(nèi)容,并運用自如是對高職教師提出的一個難題。下面談?wù)勎覍語言教學(xué)方法的幾點體會。
3.課堂教學(xué)的改進
3.1通過“解決問題式”引入知識
“解決問題式”即提出問題,帶領(lǐng)學(xué)生在現(xiàn)有的知識上逐步深入問題,并在此過程中運用將要學(xué)到的新知識點。如在循環(huán)結(jié)構(gòu)中,編寫程序要充分理解循環(huán)中的四部分:(1)循環(huán)初始狀態(tài)。(2)終止循環(huán)的條件判斷。(3)對循環(huán)狀態(tài)的變量進行修正。(4)需要重復(fù)執(zhí)行的循環(huán)體語句。如果開始就講這些理論知識,對于多數(shù)同學(xué)來說,在短時間內(nèi)很難理解,更別說靈活運用了。這里,我們可以通過“解決問題式”的方法,從實例中體現(xiàn)這四部分的內(nèi)容。采用的方法如下:
首先提出問題:如何從3個數(shù)之中找出最大值?這是舊知識點選擇結(jié)構(gòu)中的問題,主要程序如下:
main()
{int a,b,c,max;
scanf(“%d,%d,%d”,&a,&b,&c);
max=a;
if(max
if(max printf(“最大值為%d”,max); 提出新問題,找出n個數(shù)之中的最大值?同學(xué)們會思考要不要逐個比較下去,此時會發(fā)現(xiàn)這種方法是在反復(fù)的做同樣的事情:和最大值max比較,比較的過程中如果大于max,就替換max,這樣循環(huán)體就有了;為了讓循環(huán)繼續(xù)下去,自然想到用變量計數(shù)n。偽代碼描述: 次數(shù)=0; 循環(huán)(/?鄢是否小于9次?鄢/) {if(/?鄢與max比較?鄢/) 大數(shù)賦值給 max;/?鄢次數(shù)加一?鄢/} 經(jīng)過思考,學(xué)生可以很輕松的理解循環(huán)的算法思想,再將這些算法的偽代碼轉(zhuǎn)換成C程序語言,這個問題就解決了。學(xué)生既可以復(fù)習(xí)前面的理論,又容易掌握新的內(nèi)容,在此過程中培養(yǎng)興趣。從實踐到理論,這是一個有感性到理性的循序漸進的認知過程,開始的感覺直觀有趣,然后再理解概念就容易多了。 3.2分部式圖解法 C語言中“指針”對于大部分同學(xué)來說是個難點。在理論講解部分,通過動畫演示,詳細分解指針操作的具體步驟。模擬出指針在內(nèi)存中的變化,讓學(xué)生能清楚的了解指針的走向,通過具體的例子將指針的內(nèi)容融入進去,讓學(xué)習(xí)指針變得輕輕松松。 3.3教師的角色由“主”變?yōu)椤拜o” 3.3.1采取精講多練的教學(xué)模式,更加注重程序的演示過程,加強學(xué)生的動手性。 對于高職學(xué)校來說,應(yīng)該改進灌輸學(xué)生理論知識的教學(xué)方式,讓學(xué)生花更多的時間自己動手。教師可以精講,用一個例題,講解這節(jié)課的重點知識。給了學(xué)生直觀的概念,有的放矢,提高教學(xué)的質(zhì)量。根據(jù)之前的教學(xué)經(jīng)驗,讓學(xué)生練習(xí)例題對學(xué)生會有很大的提高。當(dāng)學(xué)生輸入完代碼運行的過程中,即使是例題,對初學(xué)者來說仍會有一大半的同學(xué)出現(xiàn)錯誤,這并不是壞事,對照例題檢查,不僅清楚了錯誤情況,而且還能理解錯誤提示內(nèi)容,大大提高了學(xué)生調(diào)試程序的能力,一箭雙雕。 3.3.2給學(xué)生更多的空間,讓學(xué)生體會到編程的樂趣 很多學(xué)生對C語言失去信心的重要原因是從完不成作業(yè)開始,這就需要任課老師的耐心和鼓勵。課堂上給學(xué)生分組實現(xiàn)互幫互助。把程度不同的學(xué)生10人一組,分成5到6個小組,同組的學(xué)生可互相討論。作業(yè)上交后教師以評比的形式講解,要求學(xué)生即要有正確率又要有速度。這種形式很受同學(xué)們的歡迎,學(xué)生覺得交流更自由。缺點是容易出現(xiàn)有個別同學(xué)不動腦,等著別人完成。從心理學(xué)的角度講,這些學(xué)生大都會感受到自己被老師關(guān)注著,他們覺得“這要是我自己寫出來的作業(yè)受到老師的表揚那該多好啊!”,那么下次練習(xí)時可能他們就會以積極的態(tài)度去對待了??傊?,讓學(xué)生以輕松的狀態(tài)動手操作,不要過分的看重程序是否運行正確,要知道編寫出完全正確的代碼需要領(lǐng)會很多細節(jié)性的知識,這都是平時知識的積累,積少成多,只要一道題能解決一個知識點,以后不在同樣的問題上出錯,這就是最大的收獲。 4.結(jié)束語 降低起點難度,樹立學(xué)生的信心,培養(yǎng)學(xué)習(xí)的興趣,讓枯燥的編程語言變成一種樂趣。 參考文獻: [1]周堅. 單片機C語言輕松入門[M]北京:北京航空航天大學(xué)出版社.2008.