引題
新的學(xué)年到了,一批新教師加入到信息技術(shù)教師的隊(duì)伍中來(lái);也有一些信息技術(shù)教師轉(zhuǎn)到其他工作崗位。金秋時(shí)節(jié)正在繼續(xù)著收獲與播種的故事……信息技術(shù)學(xué)科還一直面臨著比其他學(xué)科更多的困境,為此,我們將通過(guò)兩期“編程與人生”熱點(diǎn)解碼,試圖引發(fā)更多教師關(guān)于自己專業(yè)定位、專業(yè)發(fā)展等問題的思考與討論。
(一)算法:設(shè)計(jì)與擇優(yōu)
我們這些人(信息技術(shù)教師),好像是學(xué)校里最不安分的人群吧,很多事雖然不能說(shuō)是三天打魚兩天曬網(wǎng),但下定決心要做卻又半途而廢的一定是常有發(fā)生。不少人都曾經(jīng)有過(guò)今天學(xué)VB,明天學(xué)PS,后天又轉(zhuǎn)向Flash的經(jīng)歷。即使一直在做的工作,往往也缺乏整體打算。比如,我在開發(fā)教學(xué)輔助管理軟件時(shí),經(jīng)常是把從界面到功能的全部代碼推翻重來(lái),甚至一個(gè)成績(jī)分析軟件的界面就換了四種之多。報(bào)表格式就更多,實(shí)在是應(yīng)付不了,就改變了在程序里做表頭的方法,編寫了一個(gè)萬(wàn)能報(bào)表打印程序(即可以根據(jù)數(shù)據(jù)庫(kù)的字段自動(dòng)獲取表頭),這項(xiàng)改良讓復(fù)雜的報(bào)表打印從此無(wú)憂??梢?,做事情預(yù)先有所規(guī)劃設(shè)計(jì)是非常重要的。
記得小時(shí)候,我們都接受過(guò)理想教育,也都曾脫口宣布過(guò)自己的理想:當(dāng)空軍,做科學(xué)家……可是,又有幾人能按部就班地為著理想目標(biāo)去奮斗呢?尤其是在大學(xué)畢業(yè)之后,參加工作了,很多人更是發(fā)現(xiàn)現(xiàn)實(shí)離夢(mèng)想非常遙遠(yuǎn)。于是,就有人悔恨年少時(shí)的輕狂,有時(shí)也會(huì)萌生一個(gè)念頭:假如能夠重新來(lái)過(guò),我定當(dāng)為了理想而努力。
當(dāng)然,也并非是每一個(gè)人都有這樣的心態(tài)。我的同學(xué)、朋友中就有不少人能夠未雨綢繆, 一步一步按計(jì)劃實(shí)現(xiàn)了自己的夢(mèng)想。可見,預(yù)先規(guī)劃并且能夠嚴(yán)格執(zhí)行,對(duì)人生是何等的重要。這就是算法設(shè)計(jì),我們需要認(rèn)真對(duì)待的一個(gè)概念。
算法不僅是解決一件事前的必要規(guī)劃,而且是解決一類事的一個(gè)規(guī)劃與行動(dòng)。無(wú)論是做哪些事,都要有總的規(guī)劃,里面還有小的規(guī)劃,從大到小、從粗到細(xì)、從先到后,逐步求精,用實(shí)際行動(dòng)去實(shí)現(xiàn)目標(biāo)。
算法來(lái)自需求。一個(gè)優(yōu)秀的算法是怎樣萌生的呢?雖然,沒有人能夠前知五百年,后知五百年,最聰明的人孔明先生雖設(shè)計(jì)出三國(guó)鼎立、大漢再統(tǒng)的算法,卻被晉統(tǒng)三國(guó)改變了一切。但是不能否認(rèn),做事要有一個(gè)總體的粗略規(guī)劃,即要針對(duì)具體問題進(jìn)行需求分析,找出解決之道。劉備遇到了問題需求,有了很會(huì)打架技術(shù)的關(guān)、張兩位大將,但是打來(lái)打去仍然居無(wú)定所。他意識(shí)到缺乏一個(gè)為他們?cè)O(shè)計(jì)未來(lái)算法的謀士,諸葛亮的隆中對(duì)奠定了算法基架,讓他看到了充滿希望的未來(lái)。
算法要求精?;镜乃惴蚣苡辛?,可并非就能立馬成功。接下來(lái)還要細(xì)化之,把它分解成一個(gè)個(gè)的階段性小算法,實(shí)現(xiàn)從頂向下、模塊化設(shè)計(jì),逐步求精。孔明先生也是在實(shí)戰(zhàn)中不斷完善算法,看準(zhǔn)時(shí)機(jī)得荊州以立足,把握時(shí)局取四川來(lái)發(fā)展,后出祁山而取魏……算法越來(lái)越周到。
算法要擇優(yōu)。雖然并非是條條大道都能到達(dá)羅馬,但是總有幾條路可供選擇。哪條道才能更快、更便利是選擇的標(biāo)準(zhǔn)。我小時(shí)讀《南轅北轍》的故事時(shí)曾放言:“地球是圓的,往南往北都一樣!”后來(lái)知道真的不一樣。不同的算法,完成所需時(shí)間不同、結(jié)果質(zhì)量也不同,即要講究算法的整體效益。如果孔明當(dāng)初聽了魏延設(shè)計(jì)的“取棧道走劍門”的高效算法,歷史會(huì)怎樣改寫?很明確,魏軍正是采用類似算法閃電般得勝入川。
算法要調(diào)整。算法設(shè)計(jì)出來(lái)了要執(zhí)行它。我們?cè)谟?jì)算機(jī)上編寫程序來(lái)完成算法,還是可以再修改的,甚至換個(gè)算法從頭再來(lái)。但是人生能有幾回搏?不可能每個(gè)人都能等到大器晚成。所以,算法適時(shí)調(diào)整應(yīng)是不得已而為之,并且要對(duì)原來(lái)的算法有繼承性,不要輕易完全否定自己。調(diào)整修改算法當(dāng)是算法擇優(yōu)的更高境界。
總之,做事情需要算法,算法對(duì)總體規(guī)劃非常重要。按算法一步步執(zhí)行,不斷糾正調(diào)整,最終得到結(jié)果,這才是算法的真諦。
?。ǘ┭h(huán):在重復(fù)中尋找出路
我們從事信息技術(shù)專業(yè)的人,都有一個(gè)共同的毛病:喜歡跟計(jì)算機(jī)耗著!說(shuō)好聽點(diǎn)就是埋頭苦干,執(zhí)著不懈。經(jīng)常是沒有目的地耗在計(jì)算機(jī)前,自己也不知道何時(shí)是個(gè)終結(jié)。當(dāng)然,這個(gè)毛病從事其他工作的人也有,但不應(yīng)該有的正是我們這些懂編程的人。我記得,自己在每次教新學(xué)生編寫循環(huán)程序的時(shí)候,不論怎么講解,都有些學(xué)生對(duì)“循環(huán)條件”的構(gòu)成不明白,經(jīng)常做出很多死循環(huán)的程序來(lái)。有個(gè)別的學(xué)生,學(xué)會(huì)了用“Ctrl+Break”組合鍵去強(qiáng)行中止程序,然后到處去夸耀??墒牵⒉恢莱霈F(xiàn)了這個(gè)情況是編程的最大忌諱,強(qiáng)行中止不是提倡的做法??吹竭@樣的學(xué)生,想到自己,就想著有必要給自己的“執(zhí)著”行為加一個(gè)條件,讓自己的重復(fù)有個(gè)結(jié)束,在不斷的努力中去尋找人生的出口。
執(zhí)著是成功的關(guān)鍵。但是,現(xiàn)在已經(jīng)不再是一味推崇老黃牛的時(shí)代了,既要埋頭拉車又要抬頭看路,這才是科學(xué)的方法。當(dāng)然,一旦找準(zhǔn)了方向,找到了規(guī)律,就要反反復(fù)復(fù)地不斷實(shí)驗(yàn),直至成功。在程序設(shè)計(jì)的歷程中,這種執(zhí)著的精神是非常有益的,我們一直堅(jiān)信希望正在峰回路轉(zhuǎn)之處。
我們的時(shí)間、精力及其他資源都是有限的,不可能在一件事情上簡(jiǎn)單重復(fù)、停滯不前。所以,在重復(fù)地去做事情之前,需要先沉下心來(lái)想一想另一個(gè)重要的問題,即出路在哪里。循環(huán)程序提供了重復(fù)策略,它可以幫助我們解決海量的規(guī)律性問題,讓計(jì)算機(jī)不知疲倦地重復(fù)工作,讓我們因此有時(shí)間能夠停下手來(lái)喝杯茶。這就是所謂的“自動(dòng)化”設(shè)計(jì)。但是,不要忘記循環(huán)程序也會(huì)陷入一個(gè)與我們生活相似的困境,即進(jìn)入一條死胡同,在低水平上自我重復(fù),最終形成死循環(huán)。所以,我們需要搞懂循環(huán)終止的條件究竟是什么,如何走出自我、超越自我。
第一種情況是能夠預(yù)知結(jié)束。俗話說(shuō)“事不過(guò)三”,就是說(shuō)同樣的事件、相同的做法要有所限制,這就是限次循環(huán)。給自己的嘗試作一下次數(shù)限制,不論努力到何種程度,不論果能結(jié)多大,到了次數(shù)就要收?qǐng)?。?dāng)然,“三”是虛指,我們倒不妨多加幾次,但是必須有個(gè)最大的終值。當(dāng)“自己”這個(gè)循環(huán)變量從第1次循環(huán)到終值時(shí),就要主動(dòng)跳出循環(huán)了,這就是循環(huán)的“自制力”。拿掘井來(lái)比喻,一锨一锨挖下去,我就挖他個(gè)一百锨,有沒有挖出水來(lái)不管了。
另一種情況,就是并不知道要經(jīng)歷多少次的失敗才能成功,要用“當(dāng)循環(huán)(Do while)”來(lái)指導(dǎo)自己的反復(fù)嘗試。就像掘井,不停地挖啊挖啊……當(dāng)沒見到水就繼續(xù)挖!“水的出現(xiàn)”無(wú)疑就成為循環(huán)的終止條件了。實(shí)際上,換一種理解方式,又是一種循環(huán)結(jié)構(gòu):挖啊挖,直到見了水就停止!稱為“直到(Repeat/Until)”循環(huán)。
這些情況其實(shí)都是一種情況,即都可預(yù)見到能夠終止,只不過(guò)“水”這樣的條件比較獨(dú)立且有目的性,而“挖的次數(shù)”這樣的條件嵌入在結(jié)構(gòu)中可能目的性并不很明顯。
最難的情況是不能預(yù)知何時(shí)結(jié)束。這時(shí)候,我們做事情很難看到希望,但還是要堅(jiān)持做下去,倒不是因?yàn)榭傁M衅孥E會(huì)出現(xiàn),而是在此過(guò)程中也許會(huì)發(fā)現(xiàn)新的希望,即另外的機(jī)遇。這樣的情況,在循環(huán)結(jié)構(gòu)上可能需要臨時(shí)構(gòu)造一個(gè)假的死循環(huán),即像“1<2”、“True”等結(jié)果永遠(yuǎn)是“真”的循環(huán)條件,保證循環(huán)在理論上沒有干涉將永遠(yuǎn)不停止。要明白,重復(fù)是死的,我們的心卻并非死了,時(shí)刻準(zhǔn)備著勝利突圍。在這樣的循環(huán)中,可以增加兩種出路。其一,是根據(jù)循環(huán)中的變量運(yùn)算結(jié)果進(jìn)行判斷,符合一定的條件即可跳,這是自動(dòng)尋找出口;其二,是增加對(duì)外界信息輸入的判斷,比如對(duì)某些熱鍵(即在任意時(shí)候擊鍵或鼠標(biāo))做出反應(yīng),某個(gè)鍵響應(yīng)之下跳出循環(huán)。如此以來(lái),就是在循環(huán)中計(jì)算機(jī)不停地做著思考運(yùn)算、比較判斷,突然捕獲到一絲信息,很有把握需要強(qiáng)行中止循環(huán)的時(shí)候到了,就強(qiáng)加一個(gè)跳出指令“Exit”。在這類循環(huán)中也許很快就能跳出,也許經(jīng)歷了很多輪回才能跳出,但是我們相信終會(huì)有成功的那一天!
總之,循環(huán)程序不是簡(jiǎn)單的重復(fù),有次數(shù)限制的“計(jì)數(shù)循環(huán)”可以做到心中有數(shù),“當(dāng)循環(huán)”、“直到循環(huán)”能夠讓目標(biāo)更明確。即使面對(duì)的是不知終點(diǎn)的漫漫長(zhǎng)路,我們也不能失去希望任憑死循環(huán)淹沒斗志,而是要不斷地去闖,執(zhí)著地去走,路在腳下,希望就在腳下,隨時(shí)都有希望的出口。
蒼山點(diǎn)題
不論您從編程的角度去閱讀,還是從人生、專業(yè)發(fā)展的角度去思考,我們都不妨多一點(diǎn)啟發(fā):給自己一個(gè)一年計(jì)劃,或者五年計(jì)劃,有計(jì)劃地去不懈努力,但對(duì)目標(biāo)卻不迷?!诶щy中注意不時(shí)抬起頭來(lái),尋找希望。
《課程整合》專欄征稿通知
為推廣新型教學(xué)模式,提高信息技術(shù)與學(xué)科課程的有效整合水平,優(yōu)化課程設(shè)置,改善教學(xué)效果;在推進(jìn)基礎(chǔ)教育信息化過(guò)程中傳播新知,凝集智慧,共享資源,《信息技術(shù)教育》雜志根據(jù)《課程整合》專欄設(shè)置特點(diǎn),定于2007年6月至2007年12月集中開展整合案例征集活動(dòng)?;顒?dòng)設(shè)立專門郵箱,面向中小學(xué)教師征集案例。
案例要求
1.案例篇幅以3800字左右為宜。
2.案例須經(jīng)過(guò)實(shí)踐檢驗(yàn),并簡(jiǎn)要介紹教學(xué)效果。
3.案例提交時(shí)須附以下內(nèi)容:
(1)教師在教學(xué)過(guò)程中所拍攝照片(2~3張)。
(2)授課教師簡(jiǎn)介(200字左右)。
(3)授課教師所在學(xué)校信息化環(huán)境介紹及教學(xué)案例開展所必備的教學(xué)客觀條件展示(200~300字)。
4.稿件中所引用資料的部分需注明出處。
5.案例要求以電子文檔的形式發(fā)至指定郵箱:uebrain@126.com,并注明“應(yīng)征稿件”字樣。
聯(lián)系方式
聯(lián)系人:王老師 閆老師
電話:010-87663458-8029
傳真:010-87663458-8003
手機(jī):13120487628
E-mail:wangxiaobo@vip.sohu.com/amary7376@163.com/tougao3@nettime.net.cn