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