教孩子編碼就夠了嗎?不!學校該培養的是計算思維

無論是好是壞,計算都無處不在,改變著人們的工作、合作、溝通、購物、吃飯、旅行、學習和簡單的生活,從藝術到科學、政治,沒有一個領域未被觸及。

在過去十年里, 「計算+X」的學科也在興起,「X」代表從物理學到新聞學眾多領域中的任何一個。

但最大的問題是:當前的K-12教育是否讓每個學生都具備了必要的技能,使他們能夠成為創新者、解決問題者,甚至是見多識廣的人,從而在這個計算普及的世界取得成功?

自本世紀初以來,「4個C」的21世紀技能——批判性思維(critical thinking)、創造力(creativity)、協作(collaboration)和溝通(communication)——已被越來越多的人視為學校課程的重要組成部分。這種轉變促使人們在K-12所有層次的教學和框架(如「項目式學習」「探究性學習」和「K-12階段深度學習」 ,這些都強調了更高層級的思維方式,而不是死記硬背)中吸收經驗。我認為,我們需要在「4個C」中加入計算思維(computational thinking),使之成為另一個核心技能,即21世紀技能的「第5個C」。

在全球教育系統中,人們越來越認識到計算可以解決問題。也就是說,從邏輯和演算法上思考,並使用計算工具來創建模型和使數據可視化,這些正迅速成為各領域人才的必備技能。

2012年,英國開始向所有學生介紹計算機科學(CS)課程。新加坡作為「智能國家」,把計算思維定為「國家能力」。從芬蘭到韓國,從澳大利亞、紐西蘭到中國,各個國家正在將計算思維作為新的CS課程的一部分,或者納入現有科目。2016年,美國前總統奧巴馬呼籲所有K-12學生,學習「計算機科學」時發展計算思維。在美國,儘管計算思維正越來越多地融入STEM(特別是科學)的學習中,但計算思維項目只是計算機科學課程的一部分。

在深入了解K-12領域的計算思維之前,我們首先要清楚,我們的目標不是把每個孩子都培養成計算機科學家。正如數學和科學的基本讀寫能力,被認為是所有兒童理解世界運轉的必要條件一樣,如今,計算機與所有職業的聯繫都很緊密,教育也必須涉及計算機相關的知識和技能。

什麼是計算思維?

那麼,什麼是計算思維,它與CS和編程(編碼)有什麼關係?

簡單地說,計算思維要求學生像計算機科學家一樣思考(或解決問題)。學生要對一個問題深入理解,然後表達出解決方案的思考過程,這樣一台計算機就可以執行該解決方案了。計算思維從根本上講是利用與計算機科學密切相關的演算法概念和策略來制定、分析和解決問題。

和其他思維能力一樣,計算思維很難定義,但當你看到它的時候你就知道了。儘管許多人將它與編程、自動化等概念聯繫在一起——這些都是計算機科學的核心部分——但教育工作者和研究人員發現,在教學以及課程設計、評估設計中,它更容易使用。

這意味著我們要把計算思維技能分解成各個部分,包括邏輯、演算法、模式、抽象、概括、評估和自動化等。還可以將問題分解為子問題,以便於解決問題,創建計算工具(通常是編碼);重複利用解決方案,測試和調試;迭代細化。

它還包括協作和創造力,而且,這部分不涉及計算。

如何培養計算思維?

如果這一切聽起來有點不靠譜,別擔心。與任何技能一樣,計算思維最好嵌入課堂教學,成為教學的一部分,進行學習。例如,分析和邏輯思維可以通過謎題和辭彙類問題來培養,這些問題需要學習者使用計算思維的關鍵方面。事實上,除了數學或計算機科學,涉及邏輯論證和邏輯思維的問題也可以作為語言藝術學科的一部分來解決。

編碼對於發展計算思維技能來說是一個極好的、有趣的並且有用的方法,但這不是唯一的方法。以下是一些在學科當中培養計算思維的想法。有些比較容易應用,而另一些則需要藉助編碼來實現。

語言藝術

  • 使用邏輯將混亂的故事按照正確的順序組合起來(低年級)
  • 識別不同的句子類型和語法規則
  • 用邏輯根據給定的事實得出結論
  • 用社會網路關係分析故事
  • 用不同的脈絡編排故事

數學

  • 通過程序對代數中的函數進行建模(將其與程序中的函數進行比較)
  • 寫一個關於如何進行矩陣乘法,或如何求解二次方程的演算法(或精確的步驟序列)
  • 使用分解法來解決單詞問題
  • 通過識別模式來表達概括(如代數表示)

科學

  • 使用明確的「If-Then」邏輯進行物種分類(低年級)
  • 建立一個物理現象的計算模型
  • 不要使用已開發的軟體去模擬科學現象,而是要創建(程序)計算模型來研究這些現象

社會科學

  • 研究戰爭和其他歷史事件中的數據,確定模式和趨勢
  • 使這些模式和趨勢可視化
  • 創建一個模型研究社會科學現象,比如女性教育和健康
  • 為社會系統、社交網路或社會選擇創建模型

教師可能會認為,許多非編程類活動他們已經做過了。事實上,許多活動都鍛煉了計算思維,但沒人意識到。

關於計算思維的常見誤區

讓我們明確一點,發展計算思維不是要把每個孩子都培養成計算機科學家。

有人認為,發展計算思維就是編碼,這並不是很準確。雖然編碼是一種很受歡迎的計算機教學方式,但計算思維比編碼更重要。它是在編碼前理解問題和制定解決方案時使用的思維技能。

還要記住,編碼不一定是計算思維過程的最終產物。

計算思維包括學生的提問以及回答,比如,這個問題是由人還是電腦更容易解決?這個問題和我們之前解決的問題有什麼不同嗎?如何才能更好地解決這個問題?如何創建一個適用於各種問題的通用解決方案?我可以用一個循序漸進的方法來解決這個問題嗎?可以採用什麼計算策略?解決這個問題的限制是什麼?

此外,計算思維不應與「數字素養」混淆,「數字素養」在學校通常與技術科目相關,其重點是如何使用軟體、數字工具和互聯網。計算思維不是教學生如何應用技術,與之相反,它是教學生如何使用計算工具,設計數字解決方案等。

結合學科背景,進行計算思維教學有更多的好處,教師能夠彼此建立聯繫,獲得課程評估、職業發展以及教計算思維的最佳實踐等。最重要的是,作為教育工作者的一員,我們可以為孩子帶來適用於21世紀的至關重要的一項能力。

作者簡介:Shuchi Grover曾是SRI國際技術研究中心的高級研究科學家,現在為與STEM、 計算機科學、評估、學習分析和計算思維有關的研究項目提供諮詢。

—完—

親愛的朋友:

讀完這篇文章,你想到了什麼?

我想到了兩種典型的思維方式:固定型和成長型思維方式。而計算思維著實讓我眼前一亮。

對一個人的發展來說,思維方式起著決定性作用。希望這篇分享,能對你也有所啟發。

祝安!

智能觀 一米

2018-3-26 於北京中關村

聲明:

編譯文章旨在幫助讀者了解行業新思想、新觀點及新動態,為原作者觀點,不代表智能觀觀點。


推薦閱讀:

如何精通C語言
工作一個月的感受
[數據結構]表達式樹——手動eval()
蕭井陌的直播筆記 - 打磚塊(1)
LCUI 1.0 Beta 發布

TAG:編碼 | 編程 | 計算機思維 |