邢秀娥
摘 要:學生在學習計算機課程中,普遍認為編程較難,從而產(chǎn)生畏懼心理。筆者通過多年的教學實踐,發(fā)現(xiàn)要提高學生的編程能力,也并不是想象中的那么高不可攀,只要方法得當,持之以恒,是完全可以取得良好效果的。在此,筆者就如何提高學生的編程能力進行了一些探討,希望與同行們進行一些交流。
關(guān)鍵詞:提高職中學生編程能力
中圖分類號:G712 文獻標識碼:A 文章編號:1674-098X(2012)05(b)-0166-01
1 激發(fā)學生對編程的興趣
陶行知說:“治學以興趣為主,興趣愈多,則從事彌力,從事彌力,則成效顯著。”要使學生要把編程部分學好,首先要使學生對編程感興趣,那么如何培養(yǎng)學生對編程的興趣呢?
1.1 巧設(shè)疑問
人們常講“讀書貴有疑”,有疑問就有了思維的起點。根據(jù)教學內(nèi)容,采用適當?shù)姆绞揭龑W生提出或設(shè)置問題。教師可讓學生通過自學課本提出和發(fā)現(xiàn)問題;根據(jù)學生作業(yè)或上機過程中出現(xiàn)的錯誤設(shè)置問題或根據(jù)學生在學習討論、研究中的發(fā)現(xiàn)引出問題等。如我在上“隨機函數(shù)的應(yīng)用”這節(jié)課時,讓學生來模擬編彩票程序。先讓學生利用所學過的知識用計算機產(chǎn)生一個七位的隨機數(shù)來當中獎號碼,然后讓每人都寫一個號碼來模擬買彩票,再找一位同學當公證員來運行他的程序,結(jié)果誰也沒中獎,大家不甘心,要求再來一遍,于是每人又重寫了一個號,但結(jié)果是計算機產(chǎn)生的那個中獎號碼沒變,又來了一遍,中獎號碼還沒變,于是第四遍,全班同學都寫了剛才的中獎號碼,結(jié)果全部中了獎,到這兒,不用我說什么,同學們就已經(jīng)坐不住了,他們已感到了問題所在,急著想知道怎么解決?他們感到的問題正是這節(jié)課所要講的。
1.2 理論聯(lián)系實際
計算機編程課程離不開實踐,教師應(yīng)善于促使學生積極地運用所獲得的知識去解決實際問題,在教學中,要注意培養(yǎng)學生的應(yīng)用意識,盡量多舉一些學生能理解的實際例子,讓學生明白,所學的這些知識到底有什么用?比如,在講求和問題時,有的學生可能就覺得沒意思,讓計算機一直加這些數(shù)有什么用?這時,就該讓學生用所學的知識來解決實際問題,比如,期中、期末考試完后,算總分、平均分等實際問題,還有諸如學生成績的排序、選票的統(tǒng)計、歌手大獎賽的評分、郵局物件郵寄計費、電腦彩票程序等等。在解決實際問題的過程中,教師可組織學生開展競賽,互相交流方法,啟發(fā)思路。
1.3 運用現(xiàn)代化教學手段
隨著教學改革的不斷深入,現(xiàn)代化教學手段的使用成為當前教育技術(shù)發(fā)展的趨勢,運用現(xiàn)代化教學手段勢在必行。比如,多媒體教室可以將程序直接演示,既能提高教學效率,又能使學生能夠在一種輕松愉快的氣氛中,激發(fā)了學生的學習興趣。
2 重視基礎(chǔ)知識的學習
在學習計算機語言時,要強調(diào)基礎(chǔ)知識的學習,這是學習編程的基礎(chǔ)。應(yīng)做到以下兩點:
2.1 對語句的格式及使用說明要強化訓練
對于計算機語言中的每一個語句,如果不知道它的格式和作用,那么也就談不上如何應(yīng)用它。在教學上,應(yīng)特別注重每一語句的格式和作用的訓練,通過講課、上機練習、閱讀程序、測驗等手段,使學生發(fā)現(xiàn)錯誤,及時改正錯誤,從而掌握語句的使用方法。
2.2 加強學生對程序結(jié)構(gòu)知識的領(lǐng)會
弄清程序結(jié)構(gòu),對于學生編寫程序可以起到一個良好的作用,否則,編寫出來的程序,思路凌亂,影響程序的可讀性和執(zhí)行效率。所以在教學上,對于每一種程序結(jié)構(gòu),都應(yīng)要求學生能熟練地掌握。為了加深學生對程序結(jié)構(gòu)的理解,應(yīng)教會他們讀懂示例程序并能進行分析,在讀一些結(jié)構(gòu)嵌套較多的程序時,可讓學生用一些符號標記出結(jié)構(gòu)的嵌套層次和功能,這樣,程序就變得層次分明,可讀性也就增強了。另外在編寫程序時,要求學生先畫出流程圖,再寫程序,這樣有利于學生編寫出結(jié)構(gòu)清晰的程序。
2.3 學會模仿,掌握基本的編程方法
學生要學會編程,必須有一個觀察模仿他人的過程,那么,教師每講一種題型,都應(yīng)讓學生多做類似的練習,如教師講了1+2+……+100,那么就讓學生做1+2+……+50;1+3+5+…+99等等,在此基礎(chǔ)上,要求同學畫出這些程序的流程圖,結(jié)果,學生們已經(jīng)發(fā)現(xiàn),這些程序的流程圖基本框架都是一樣的,只是內(nèi)容不同而已,這樣就能打消學生對編程的畏難情緒,從而讓學生樹立起信心,同時關(guān)于累加題型的普遍規(guī)律就由學生自己找出來了。
那么讓學生模仿,怎樣避免讓學生單純地模仿教師的方法,這就要求教師在講解過程中,應(yīng)偏重分析,這樣就能使其思路靈活多樣,而不是機械的模仿。
2.4 培養(yǎng)發(fā)散思維,開闊編程思路
發(fā)散思維是指根據(jù)已有信息,從不同角度、不同方向思考問題,從多方面尋求多樣性答案的一種思維形式,是創(chuàng)造性思維的核心。程序設(shè)計類課程的授課關(guān)鍵是讓學生學會編程的思路和技巧,在授課過程中啟發(fā)學生積極思維。比如,在講授BASIC循環(huán)語句時,讓學生分別用FOR語句和WHILE語句分別編程解決同一問題,然后提問:“兩種語句各有什么優(yōu)點?各適合于什么情況?”。
2.5 一題多解、舉一反三,提高學生綜合編程的能力
教師要精心選編例題,使用類比的方法,引導學生從事物間的聯(lián)系來理解事物的本質(zhì)。練習不同梯度的題目,達到舉一反三的目的。比如,在BASIC教學中,許多問題可以用多種方法來解決,在學生用一種方法解決后,要求學生看看能否用其他方法來解決。如講到如何交換A,B兩變量的值時,通常用C=A:A=B:B=C來解決,這是借助第三個變量C來解決的。能否不用第三個變量也能實現(xiàn)A,B兩數(shù)的交換呢?同學們會覺得很有興趣,不斷開動腦筋,很多同學最終也能想出答案:A=A+B:B=A-B:A=A-B。在學習排序時,常用方法是用選擇排序方法,這種方法比較容易掌握。待同學們掌握了該方法后,教師及時提問能否有別的方法,加快排序的速度,引出冒泡排序,對于這兩種排序,分別也有兩種方法,只是對前一種方法的改進。這樣即可引導學生由淺入深,層層遞進地進行練習,即鞏固了所學知識,又煅煉了學生靈活應(yīng)用的能力。在進行一題多解、舉一反三練習時,采用循序漸進的方法。
2.6 上機實踐,進一步鍛煉學生的編程能力
涉及計算機的課程大都實踐性極強,特別是程序設(shè)計,不動手實踐絕對學不會。上機實踐是既動手又動腦的過程,也是提高學生編程能力的一個重要環(huán)節(jié)。學生上機出現(xiàn)的問題往往是教學的重點和難點,應(yīng)加以總結(jié),作為課堂講解的內(nèi)容之一。
在讓學生上機時,應(yīng)讓學生帶著問題上機,對一節(jié)實驗要完成哪些任務(wù),達到什么目標,必須讓學生清楚。上機題目盡量接近實際,也要注意題目的難度,可分層次定目標。并且要求學生在上機過程中,對出現(xiàn)的各種情況進行分析,不能只按照書本上的實驗內(nèi)容去做一遍。
總之,提高學生的編程能力雖然有一定的難度,但只要教師們在教學實踐中不斷的積累總結(jié)經(jīng)驗。根據(jù)學生的具體情況,采取切合實際的教學方法,學生在學習過程中會逐步形成編程的一整套思路,編程能力也會不斷地提高。