王能汁
(福建省廈門實驗中學 福建 廈門 361000)
信息技術作為當今先進生產力的代表,已經成為我國經濟發展的重要支柱和網絡強國的戰略支撐。提升我國公民的信息素養,增強個體在信息社會的適應力和創造力,對個人發展、國力增強、社會變革有著十分重大的意義。新版普通高中信息技術課程標準指出,普通高中信息技術課程是一門旨在全面提升學生信息素養,幫助學生掌握信息技術基礎知識與技能、增強學生信息意識、發展計算思維、提高數字化學習與創新能力、樹立正確的信息社會價值觀和責任感的基礎課程。
在探討通過程序設計這門課程培養學生計算思維之前,首先,我們要知道計算思維是如何定義的,其次,要搞清楚計算思維的本質內容是什么;最后,要研究計算思維與程序設計之間有什么關系,或者說如何通過程序設計這門課程來培養學生的計算思維能力。
2006年,卡內基梅隆大學周以真教授第一次提出了計算思維這個概念。他對計算思維做出這樣的界定:“計算思維是運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為。它包括了涵蓋計算機科學之廣度的一系列思維活動”。信息技術新課程標準也給出了定義:計算思維是指個體運用計算機科學領域的思想方法,在形成問題解決方案的過程中產生的一系列思維活動。具備計算思維的學生,在信息活動中能夠采用計算機可以處理的方式界定問題、抽象特征、建立結構模型、合理組織數據;通過判斷、分析與綜合各種信息資源,運用合理的算法形成解決問題的關鍵;總結利用計算機解決問題的過程與方法,并遷移到與之相關的其他問題的解決中。
可以看出,計算思維的本質就是抽象與自動化;我們從抽象和自動化這兩個核心概念出發,進一步解剖。可以分為四個步驟:簡化問題,識別規律,數學抽象,設計算法。
簡化問題:是指將大的復雜的問題簡化成一個個具體的特例或者是規模較小的,可以直接解決的問題。
識別規律:通過個例模擬,找到規律,趨勢和規則。
數學抽象:從識別出的規律中進一步抽象出普遍的規則,并進一步證明正確性。
設計算法:根據抽象出的模型設計詳細的解決這類問題的步驟,方便計算機解決問題。
2.1 教學策略選擇。為了提高學生分析問題與解決問題的能力,必須加強學生的計算思維能力培養。因此,為了更好地訓練和培養學生的計算思維能力,在程序設計課程的授課中最好采用任務驅動教學法,亦即以問題或任務為導向的教學模式。
任務驅動教學法是一種普遍且具有一定教學效果的方法,本課題中主要采用任務驅動教學法來提高學生的學習興趣。此方法是以解決實際問題,完成特定任務為主的教師與學生,學生與學生之間多維互動的教學方法。解決問題的過程是學生主動構建知識與經驗的過程,通過新知識和原有的知識的交互作用,不斷豐富自身的知識和提升自己的能力。利用任務驅動法可以有效、合理設計教學任務與分配學習任務,可以有效地培養學生獨立思考問題,分析問題及解決問題的能力。
2.2 教學過程實施。筆者將以算法與程序設計課程中“遞歸算法與遞歸程序”這一節為例來說明教學過程中的計算思維的培養。
(1)問題導入。遞歸作為一種算法在程序設計中被廣泛應用,是一個過程在定義或者說明中直接或者間接調用自己的一種方法,它通常把一個大型復雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解。具體來看一個例子:
有一座高度是10級臺階的樓梯,從下往上走,每一步只能跨有級或者2級臺階。要求用程序來求出一共有多少種走法。
比如,每次走1級臺階,一共走10步,這是其中一種走法。我們可以簡寫成1,1,1,1,1,1,1,1,1,1,也可以每次走2級臺階,一共走5步??梢院唽懗?,2,2,2,2。
(2)分析問題。
①分解問題。
我們要求10級臺階是比較困難的,那能不能從簡單的開始呢?比如1級,我們就很容易知道答案為1,2級臺階答案為2,3級臺階通過排列組合的方式也不難得到答案為3,依次類推……
②識別規律。
那么這些數據之間有沒有規律呢?假設你只差最后一步到達第3級臺階,這時候會出現幾種情況?只有兩種:一種從第2級跨1步走到第3級,一種從第1級跨2步走到第3級。
我們已知從第0級走到第1級的走法為1種,第0級走到第2級的走法為2種,那么總的走法應該是1+2=3種。
那這個規律是否適合所有的情況呢?同樣的,假設你只差最后一步到達第10級臺階,這時候會出現幾種情況?只有兩種:一種從第9級跨1步走到第10級,一種從第8級跨2步走到第10級。
我們已知從第0級走到第9級的走法為X種,第0級走到第8級的走法為Y種,那么總的走法應該是X+Y種。
計算思維作為一種新的學科思維方式受到了廣泛的關注,培養學生的計算思維能力是信息技術學科的核心素養。要在程序設計課程中融入計算思維,首先需要理解計算思維的概念和方法,并把這些概念方法應用到問題設計之中,然后采用基于問題,分析問題,解決問題的PBL模式,在分析問題中進一步運用簡化問題,識別規律,數學抽象,設計算法的策略,培養學生的計算思維。