引題
在追尋信息技術(shù)課程核心的歷程中,生活算法儼然是一個非常樸實(shí)又極具可操作性的里程碑。它從思維的方法、行為的習(xí)慣以及發(fā)現(xiàn)問題的方向等角度向我們昭示了一種可以遵循的規(guī)律。本期《熱點(diǎn)解碼》特邀生活算法研究的堅(jiān)持者武健老師與我們一起解開生活算法的不玄之機(jī)。
什么是算法?總有人認(rèn)為這是個難懂的問題,與自己沒有太大的關(guān)系。一般明確提及算法的有在數(shù)學(xué)中的算法、計(jì)算機(jī)程序設(shè)計(jì)中的算法等。其實(shí),其他學(xué)科也有提及算法的,比如心理學(xué)。數(shù)學(xué)中的算法是指計(jì)算的方法。例如,計(jì)算7+5,會有很多種算法,可以先算7+3,然后再加2;也可以先算5+5,然后再加2……學(xué)生掌握的計(jì)算方法越多,其數(shù)學(xué)知識的掌握就會越好。計(jì)算機(jī)程序設(shè)計(jì)中的算法是指,在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則。通俗點(diǎn)說,就是計(jì)算機(jī)解題的過程。在這個過程中,無論是形成解題思路還是編寫程序,都是在實(shí)施某種算法。算法與思維有著重要的關(guān)系,是計(jì)算機(jī)科學(xué)的核心。對于學(xué)習(xí)計(jì)算機(jī),掌握算法比掌握某種具體的編程語言更重要、更本質(zhì)。
無論數(shù)學(xué)中的算法還是程序設(shè)計(jì)中的算法都能在生活中找到與其對應(yīng)之處。生活中會遇到許多事情,而問題的解決會有各種不同的方法與步驟。這些解決生活中的問題的方法與步驟就是生活中的算法。無論是規(guī)劃、設(shè)想還是具體地實(shí)踐解決問題的方法與步驟,都是在實(shí)施著某種生活算法。如圖1為買菜與買書中的生活算法。
許多學(xué)生在學(xué)習(xí)程序設(shè)計(jì)算法時感到非常困難的重要原因是因?yàn)楦械饺鄙龠B續(xù)性。以前沒有接觸過算法,掌握起來自然就感到有一定難度。其實(shí)如果平時能夠仔細(xì)體會生活算法,掌握科學(xué)、系統(tǒng)的算法思維,會對算法的學(xué)習(xí)有很大的幫助。
針對信息技術(shù)課的學(xué)習(xí)來說,文字處理、網(wǎng)絡(luò)、多媒體等各個模塊的學(xué)習(xí)都可以滲透生活算法的內(nèi)容。比如,對于使用計(jì)算機(jī)的文字處理軟件寫文章這一“簡單”任務(wù),具體的操作會有:雙擊桌面上的Word圖標(biāo)→新建文件→設(shè)置字號→設(shè)置字體→設(shè)置頁面→啟動中文輸入方法→輸入文字→輸入中回車分段……保存文件→退出Word等操作,一般不少于23項(xiàng),遠(yuǎn)遠(yuǎn)超出了人類記憶的7±2的記憶容量,這是造成學(xué)習(xí)困難的重要原因之一。利用生活算法的思路,可以將遠(yuǎn)遠(yuǎn)超過人類記憶容量的操作序列模塊化,組裝為“開始準(zhǔn)備→編輯操作→保存退出”三個階段。每個階段有著不同的操作活動。例如,“開始準(zhǔn)備”階段有啟動字處理軟件、設(shè)置好頁面、設(shè)置字號等操作活動。而不同的操作活動又可以分解成不同的微操作。如圖2為一個制作相冊網(wǎng)站的例子。
對于信息技術(shù)課,明確的生活算法有助于解決學(xué)習(xí)計(jì)算機(jī)操作中的一些困難。算法對于生活問題有著指導(dǎo)作用。由于生活中人們的算法往往是隱性的,其指導(dǎo)作用就會大打折扣。而用圖表、符號明確表示出來的生活算法會使問題解決的思路更加清晰,而且可以提高人們解決問題的能力。
在信息技術(shù)課各模塊的教學(xué)活動中強(qiáng)調(diào)生活算法,能幫助學(xué)生體會與掌握算法思維,有助于學(xué)習(xí)程序設(shè)計(jì)算法。從生活算法的角度來看,信息技術(shù)課的文字處理、圖形圖像處理、多媒體、網(wǎng)絡(luò)等各個模塊的學(xué)習(xí)實(shí)際上是一個整體。程序設(shè)計(jì)教學(xué)是從第一天學(xué)習(xí)使用計(jì)算機(jī)開始的。