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