2018年1月《普通高中信息技術課程標準(2017年版)》(以下簡稱「新課標」)提出把計算思維列入四個核心素養之一,要求學生掌握數據算法、信息系統、信息社會等關鍵學科知識,了解信息與計算,形成運用計算思維解決問題等關鍵能力。
雖然新課標已經明確指出計算思維是「個體運用計算機科學領域的思想方法,在形成問題解決方案的過程中產生的一系列思維活動。」但許多信息技術教師還是不清楚計算思維的本質。那麼,什麼是計算思維?什麼是計算思維教育?
事實上,2014年王榮良老師就在其專著《計算思維教育》中對「計算思維」「計算思維教育」的概念進行了深度剖析,並在中小學教師群體中產生了廣泛的影響。
隨著新課標的推進,信息技術教師對如何在教學中落實計算思維仍充滿疑問。在與一線信息技術教師交流中發現這一問題後,王榮良老師在《計算思維教育》的基礎上又撰寫了《中小學計算思維教育實踐》一書。
《中小學計算思維教育實踐》共分為以下五章:中小學計算思維教育的誕生、計算思維的概念、計算思維教育的內容、中小學開展計算思維教育的探索、計算思維教育的前景與挑戰。
書中提供了豐富的教學案例。以「中小學開展計算思維教育的探索」一章為例,在剖析了中小學生的計算思維特點的基礎上,介紹了基於問題的計算思維教學方法,基於程序設計的計算思維教學和基於計算思維教育的課程開發。
下圖是一個基於問題解決的計算思維的案例,該案例通過六個環節,引導學生運用已有的知識去分析、解決問題,讓學生理解「遞推法」的概念,促進學生計算思維的形成。
案例展示
計算思維是一個問題解決的過程,為了便於在教育教學中實施,在教學過程中可以遵循這樣的步驟開展教學。
【案例】遞推問題。
一、知識與技能
1.能將日常生活中複雜的問題簡化、抽象,構建合理的數學模型。
2.體會「遞推」的含義,能掌握基本的遞推方法,並用算法實現。
3.培養算法思維,並能將其融入到生活問題的解決中。
二、過程與方法
1.掌握遞推的一般方法,並能做迭代操作。
2.能運用語言精確地描述算法,並編程實現,調試上傳。
三、情感態度與價值觀
1.能從生活中提煉算法,將算法應用於生活,激發求知慾,調動主觀能動性,形成積極主動的學習態度。
2.通過典型、趣味問題的分析和解決,養成良好的思維習慣。
環節1:提出問題。
假定一對小兔子一個月後就能長大成為一對大兔子,過一個月後又能夠生出一對小兔子。一年後總共有多少對兔子?
環節2:分析問題。
從問題出發,引導學生以月為單位計算每個月兔子的對數,並畫出兔子的繁殖情況圖。
環節3:表證數據,數學建模。
引導學生觀察數列(每月兔子對數)的規律,總結得出產生該數列的公式——菲波那契數列。我們在解決問題的過程中有時並不能直接產生數學模型,但根據前一步操作和後一步操作之間的關係,從初始條件入手,一步步地按遞推關係式遞推,直至求出最終結果。
在解決有些問題時無法將已知條件代入公式一次性完成求解,而是需要多次使用該公式,直至最終求解,這種方法叫做遞推或迭代法求解。
環節4:描述設計意圖,使用算法。
初始條件f(1)=1,f(2)=1,求f(n)。可以運用循環來實現,其中f(n)= f(n-1)+f(n-2)。
環節5:編寫程序,實施算法。
在問題分析的基礎上,學生在教師的輔導下,用流程圖描述算法,並編程實現。
環節6:總結,並提出新問題。
引導學生對該類問題的分析進行小結,並提出新問題。
提出新問題:猴子摘了一堆棗,第一天吃了一半,嫌不過癮,又吃了一個;第二天又吃了剩下的一半零一個;以後每天如此。十天後,猴子一看只剩下一個棗了。問最初有多少個棗?
問題解決的過程按計算思維的六個階段進行。問題解決的關鍵是通過對問題的深入分析,對複雜冋題進行簡化、抽象,然後構建合理的數學模型,並選擇適當的算法加以實現。
教學開始時並沒有直接向學生提出「遞推法」的概念,而是從問題引出教學內容,引導學生運用已有知識去分析、解決問題,將重點放在培養學生分析問題的能力上,讓學生產生「遞推法」的概念,從而促進學生計算思維的形成。
教育部教師工作司司長任友群教授認為,「本書通過一系列真實的教學案例,圍繞計算思維教育教學過程中遇到的問題開展討論,針對不同教學方法對學生思維發展的作用進行分析······幫助一線教師從學科角度理解計算思維,也為一線教師的教學實踐提供了一定的操作性指導」。