姚 琦
(淮南市田家庵區第十六小學 安徽淮南 232007)
2006年美國卡內基·梅隆大學周以真教授提出的計算思維(CT),在國內外信息技術教育領域受到特別關注,我國普通高中信息技術課程標準明確提出計算思維是信息技術學科四大核心素養之一。為更好實現“以信息化帶動現代化”及實施全民智能教育,如何讓計算思維培養與提高得到廣大學生及家長的重視,如何將計算思維有效地貫穿于中小學信息技術教育的全過程,如何讓計算思維與其他課程真正相輔相成,仍存在諸多認識、操作及實踐等方面的問題和困難。
思維是人類通過感覺器官感知世界并在此基礎上利用分析、歸納、演繹、概括等方式來發現事物內部的本質、規律以及相互間的聯系,是認識過程的高級階段,是一種人類認知世界所特有的最高級別的處理事物過程。思維的種類和形式多種多樣,比如抽象邏輯思維、感性具象思維、求解性思維、創造性思維、學科思維等。計算思維中的計算除了含有利用計算機來進行計算以外,還具有利用人類的智力根據已知求未知,根據現有預測未知的含義。我國高中信息技術課程標準(2017)中給出了計算思維的定義:采用計算機方式界定問題,運用合理的算法形成解決問題的方案,并遷移到與之相關的其他問題解決中。周以真教授認為:“計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動”。美國國際教育技術協會(ISTE)與計算機科學老師協會(CSTA)聯合提出了計算思維的操作性定義,將計算思維定義為解決問題的過程,包括形成問題,對問題進行邏輯化組織和數據分析、數據抽象,通過設計算法實現解決方案,對解決方案進行整合優化總結出最優方案,遷移推廣。綜上所述,計算思維的目標是解決問題,工具是計算機和算法,核心是思維遷移、推廣。
普通高中信息技術課程新標準將計算思維作為四大核心素養之一,提倡并鼓勵運用計算思維形成解決問題的方案。信息技術學科不僅肩負信息技術方面的知識、技能的培養任務,而且要培養學生分析問題、解決問題的能力。學習信息技術的最重要目的是培養強化學生使用信息技術輔助學習和解決各類問題的意識和能力,其根本是計算思維能力的培養與提高。
計算思維的整體提升是國家社會發展的需要。在信息化、數字化高度發達的今天,青少年信息素養的高低將會影響整個國家創新與發展的潛力,直接關系到其個人在信息化社會中的發展。隨著現代社會數字化和智能化的不斷發展,對新時代青少年基本素養提出了更高的要求,計算能力逐漸成為人們社會生活基本能力之一,因此,在信息技術教育中應更加注重對知識的成因解析,在分析問題、解決問題的過程中逐步提升計算思維。
計算思維的提升有助于提高學生自主創新能力。長期、系統的計算思維的培養和練習,理解相關的計算概念,運用計算方法來處理數據,構建模型,直到創造實際作品,使學生不僅能夠掌握和使用工具,而且也能成為工具的創造者。具備計算思維的學生能夠分析、抽象問題,建立問題模型,利用工具解決問題,并能進行知識遷移。
計算思維是運用計算概念和工具解決實際問題的過程,是一種需要系統培養、鍛煉的科學思維方式。結合我國中小學信息技術教育實際情況,計算思維可以從分析與抽象問題、選擇算法形成解決方案、進行計算思維遷移及推廣等在中小學信息技術課程教育教學中進行貫穿:
第一,分析與抽象問題。分析問題的目的是將較為復雜的問題分解為一些容易解決的子問題。以 “兔子繁殖問題”為例。若每對兔子出生兩個月后就能每月生出一對小兔子,現有一對剛出生的小兔子,一年后共有多少對兔子?問題分析:第一個月兔子對數為1;第二個月兔子對數仍為1;第三個月兔子對數為2:1對上個月(第二個月)老兔子,1對這個月出生的兔子;第四個月兔子對數為3:2對上個月的老兔子,1對這個月出生的兔子……其中的規律是:老兔子的對數與上月兔子的總數相等,而這個月出生兔子的對數與兩個月前兔子的對數相等,如果把每月兔子的對數按序列排的話,可以得到:1,1,2,3,5,8,13,…
對此數列進行數學抽象,得到遞歸式:
f(1)=1
f(2)=1
f(n)=f(n-1)+f(n-2),n≥3
求解第n項f(n)的問題就可轉換為求解兩個規模更小的子問題:f(n-1)和f(n-2)。類似的,求解f(n-1)和f(n-2)的問題可以分別轉換為求解規模更小的子問題,不斷遞推,直到n=2和n=1為止;再回推求出f(3),…,f(n-1),f(n),這種求解問題的方法即為遞歸方法。
現實中具體問題千差萬別,分析問題的方法多種多樣,在信息技術課程中對經典問題進行分類歸納,培養學生分析問題、抽象問題的能力,而這種分析和抽象能力正是計算思維的體現。
第二,選擇算法形成解決方案。解決問題的過程則可以借助已經成熟的算法(或稱為工具),經過適當地加工和修改形成解決問題的方案,以此增強對計算思維的認識和理解。如上例中的遞歸問題,在抽象出數學公式后,直接利用遞歸算法求解,問題便迎刃而解。
long fabonacci(int n)
{
if(n==1||n==2)
return 1;
else
return f(n-1)+f(n-2);
}
第三,進行計算思維遷移及推廣。在中小學信息技術課程教學中,我們在讓學生掌握知識與技能、不斷利用計算思維來解決信息技術課程中的問題的同時,引導學生利用計算思維來解決現實生活的具體問題。如利用遞歸思維解決問題在我們身邊無處不在:數學中求n!、數列求和、數制的轉換等。當計算思維變為一種思維習慣,能夠遷移到不同場合、不同需求中求解問題時,在生活和學習中應用計算思維解決問題的目標也就達到了。
信息化時代,計算思維是中小學信息技術課程核心培養目標,但由于我國信息化發展起步較晚,地區信息化水平差異較大,信息技術教師對計算思維的認識和理解參差不齊,如何有效推進計算思維教育并在中小學信息技術課程教學中全面體現,還面臨著諸多困難和挑戰。但隨著國家信息化戰略的發展,計算思維將受到越來越多的關注。