tft每日頭條

 > 生活

 > 計算思維以什麼為代表

計算思維以什麼為代表

生活 更新时间:2025-02-12 15:09:50

我們生活的世界已經變成了一個數字世界,充滿了技術并由計算機科學驅動。軟件和技術已經改變了每個學科和工作領域,從科學和醫學到藝術史和心理學。數字技術無處不在。為了成為知情和賦能的公民,下一代學生需要了解他們所生活的這個數字世界。

這就是為什麼計算思維被稱為“21世紀必備能力”,它對每個人都很重要。學習計算思維對于了解數字世界的運作方式、利用計算機的力量解決棘手的問題以及成就偉大的事業至關重要!它還使我們能夠進行批判性思考,不僅了解某些技術的好處,也懂得這些技術的潛在危害、道德影響或意外後果。

但究竟什麼是計算思維?讓我們來看看卡内基梅隆大學周以真教授的學術定義:

“計算思維是涉及确切表達問題及其解決方案的思維過程,使解決方案能以一種信息處理代理可以有效執行的形式來表示。”

怎樣,聽起來夠繞吧?但其實,這隻是用高大上的語言來表達了簡單的想法!“信息處理代理”是指任何遵循一組指令來完成任務(我們稱之為“計算”)的東西。大多數情況下,這個“代理”是指計算機或其它類型的數字設備——但它也可能是人!為了使事情變得簡單,我們将其稱為計算機。為了以計算機可以執行的方式表示解決方案,我們必須将它們表示為一步一步的過程,即算法。為了創建這些算法解決方案,我們應用了一些特殊的問題解決技巧。這些技能構成了計算思維!這些技能其實可以遷移到任何領域。

計算思維同時借鑒了數學思維和工程思維。然而,與數學不同的是,我們的計算系統受到底層“信息處理代理”及其操作環境的物理限制。因此,我們必須擔心邊界條件、故障、惡意代理以及現實世界的不可預測性。但與其他工程學科不同,由于我們獨特的“秘密武器”軟件的存在,在計算中我們可以構建不受物理現實約束的虛拟世界。因此,在網絡與數字世界中,我們的創造力僅受想象力的限制。

計算思維可以被描述為“像計算機科學家一樣思考”,但它現在是每個人都需要學習的重要技能,無論他們是否想成為計算機科學家!有趣的是,計算思維和計算機科學并不完全與計算機有關,它們更多地與人有關。你可能認為我們為計算機編寫程序,但實際上我們是為人編寫程序——幫助他們交流、查找信息和解決問題。

例如,我們使用智能手機上的應用程序來獲取前往朋友家的路線。這個應用程序就是計算機程序的一個例子,而智能手機是為我們運行該程序的“信息處理代理”。那些設計計算最佳路線的算法,以及設計交互界面和如何存儲地圖等所有細節的人,都應用了計算思維來設計這個應用。但他們設計這個應用并不是為了智能手機,而是為了幫助使用智能手機的人。計算思維并不是讓人像機器一樣機械地去思考。

一門教授計算思維的課,應該教會學生:

  • 描述一個問題
  • 确定解決此問題所需的重要細節
  • 把問題分解成小的、合乎邏輯的步驟
  • 使用這些步驟來創建解決問題的流程(算法)
  • 評估這個過程

這些技能可以遷移到任何其它課程領域,但與開發數字系統和使用計算機的能力解決問題特别相關。

計算思維有多種定義,但大多數都包含計算思維所體現的解決問題所需的必要技能。

計算思維以什麼為代表(什麼是計算思維)1

下面,我列出6種重要的技能:抽象、分解、算法思維、泛化與模式、評估、邏輯。

抽象

計算思維中最重要和最高級的思維過程是抽象的過程。抽象的作用是簡化事物,它賦予我們可擴展能力和處理複雜性的能力。抽象需要确定問題最重要的方面是什麼,并隐藏我們不需要關注的其它具體細節。問題的重要方面可用于創建我們正在處理的原始事物的模型或簡化表示。然後,我們可以使用這個模型來解決問題,而不必一次處理所有的細節。

抽象用于定義模式、将個體實例泛化和參數化。它用于讓一個對象代表多個對象。它捕獲一組對象共有的基本屬性,同時隐藏它們之間不相關的區别。例如,算法是一個過程的抽象,它接受輸入、執行一系列步驟并産生滿足期望的目标輸出。抽象數據類型定義了一組抽象的值和用于操作這些數據的操作,對使用這些數據類型的用戶隐藏了數據的實際表示。

計算機科學家常常在多個抽象層次上工作。反複應用抽象使我們能夠構建越來越大的系統。最底層(至少對于計算機科學而言)是位(0 和 1)。在計算中,我們通常基于抽象層構建系統,這使我們能夠一次隻關注一層及相鄰層之間的關系。當我們用高級語言編寫程序時,我們不必擔心底層硬件、操作系統、文件系統或網絡的細節。作為另一個例子,互聯網的細腰架構以TCP/IP為中間層,在其上層有大量不可預見的應用程序,而在其下層則有大量不可預見的硬件平台、通信媒體和設備。正是這種分層架構,促進了互聯網技術的繁榮。

我們在日常生活中經常使用抽象。比如,當我們使用地圖時,地圖通過省略不必要的細節(例如公園中每一棵樹的位置)向我們展示了整個世界的簡化版本,隻保留了地圖閱讀器需要的最相關的信息,例如道路和街道名稱。

數字設備一直都在使用抽象。它們試圖對用戶隐藏盡可能多的不必要信息。例如,假設你在上次露營旅行中拍了一張漂亮的風景照片,現在你想在筆記本電腦上對它進行編輯并調整其中的顔色。通常我們可以通過打開圖片編輯程序、調整一些顔色滑塊或選擇過濾器來做到這一點。當你這樣做時,會有很多複雜的操作發生,而這些操作是計算機對你隐藏的。

你拍的照片在電腦上是作為一個大的像素列表存儲的,每個像素是不同的顔色,每種顔色都用一組數字表示,而這些數字中的每一個都存儲為二進制數字!這将是非常多的信息。想象一下,如果你在調整顔色時必須查看每個像素的所有顔色值并更改其中的每一個,那會不會崩潰? 好在計算機為你隐藏了這些信息,因此你不需要知道這些二進制信息就能實現你的目标。

分解

分解是将問題分解為更小、更易于管理的部分,然後專注于解決每個小問題。我們可以對一個複雜的問題進行分解,直到每個較小的部分都變得簡單和易于解決。這些更小、更簡單的問題的解決方案組合成了我們最初的大問題的解決方案。分解有助于讓大問題不那麼令人生畏!

由于計算機需要非常具體的指令,因此分解是創建可在計算設備上實現的算法和過程的一項重要技能。我們需要告知計算機需要遵循的每一個小步驟,才能讓計算機幫助我們做事。

例如,制作蛋糕的整個任務可以分解為幾個較小的任務,每個任務都可以輕松執行。

做蛋糕

  1. 烤蛋糕l 将原材料放入碗中(黃油、糖、雞蛋、面粉)l 混合l 倒入錫罐l 放入烤箱烤30分鐘l 從錫罐中取出
  2. 做糖衣
  3. 塗在蛋糕上

算法思維

算法是計算思維和計算機科學的核心。因為在計算機科學中,問題的解決方案不僅僅是一個答案(例如“42”或一個事實),它們是算法。算法是解決問題或完成任務的一步步過程。如果我們正确地遵循算法的步驟,即使對于不同的輸入,也會得到正确的答案。例如,我們可以使用一個算法來找到地圖上兩個位置之間的最短路線。相同的算法可應用于任何一對起點和終點,因此最終的答案取決于算法的輸入。如果我們知道解決問題的算法,那麼我們随時都能輕松解決該問題,而無需思考!我們隻需按照步驟操作即可。計算機自己并不能思考,所以我們需要給它們算法,告訴它們怎麼做事。

算法思維是創造算法的過程。當我們創建一個算法來解決一個問題時,我們稱之為算法解決方案。

算法的構成元素相對較少,因為數字設備隻有幾種類型的指令可以遵循。他們可以做的主要事情是接收輸入、提供輸出、存儲值、按順序執行指令、根據分支進行選擇以及在循環中重複執行指令。盡管指令的範圍非常有限,但我們已經描述了數字設備可以計算的所有内容,這就是為什麼我們要将算法描述為僅限于這些元素的過程。

泛化和模式

泛化也稱為“模式識别和泛化”。泛化是将問題的解決方案(或解決方案的一部分)進行普适化,以便它可以應用于其它類似的問題和任務。由于計算機科學中的解決方案是算法,這意味着我們将一種算法變得足夠通用,從而它可以用于解決一系列問題。這個過程涉及抽象。為了使事物更通用,我們必須剔除與特定問題或場景相關但對算法的運行并不重要的不必要細節。

發現模式是這個過程的重要組成部分。當我們思考多個問題時,我們可能會認識到它們之間的相似之處,并發現它們可以用相似的方式予以解決。這被稱為模式匹配,是我們在日常生活中一直都在做的事情。

泛化的算法可以被重用,用于解決一組相似的問題,這意味着我們可以快速有效地提出解決方案。

評估

評估涉及确定問題的諸多可能解決方案,并判斷哪種解決方案最好用,它們是否在某些情況下有效但在其它情況下無效,以及如何改進它們。在評判我們的解決方案時,我們需要考慮一系列因素。例如,這些過程(算法)求解問題需要多長時間,它們是否可擴展,是否能夠可靠地解決問題,或者是否在某些情況下會以非常不同的方式執行。評估是我們在日常生活中經常做的事情。

我們可以通過不同的方式來評估我們的算法解決方案。我們可以通過在計算機上實現并運行它們來測試它們的速度;或者我們可以通過理論計算它們可能需要的執行步數來分析它們。我們可以通過喂給它們許多不同的輸入并檢查它們是否按預期工作來測試算法解決方案是否正确。當我們這樣做時,我們需要考慮我們用于測試的不同輸入。因為我們不想檢查每一個可能的輸入(通常有無數個可能的輸入!),但我們仍然需要知道我們的算法解決方案是否對于所有輸入都有效。測試是計算機科學家和程序員一直在做的事情。但是,因為我們通常無法測試所有可能的輸入,所以我們也會嘗試使用邏輯推理來評估系統。

邏輯

在嘗試解決問題時,我們需要進行邏輯思考。邏輯推理是通過觀察、收集數據、思考你知道的事實,然後根據已知弄清楚事情的緣由,從而試圖完整地理解事物。它幫助我們利用現有的知識來建立規則和檢查事實。

例如,假設你正在編寫軟件來計算從你家到某個位置的最短路線。在地圖中,如果你從家向北行駛,則到圖書館需要2分鐘,但如果你向南走,則需要3分鐘才能到達下一個十字路口。你可能想知道:如果一開始就向南走,去圖書館是否有更好的路線?顯然,從邏輯上這不可能,因為你需要步行3分鐘才能到達第一個十字路口。

在更深層次上,計算機完全建立在邏輯上。他們使用“真”和“假”,并使用稱為“布爾表達式”的東西(比如“年齡 > 5”)在計算機程序中做出決定。

追蹤程序中的錯誤也需要邏輯思維,以找出程序中錯誤的位置和原因。

一個甜甜圈的例子

最後,以一個甜甜圈的例子來闡釋什麼是計算思維。

假設我們現在有一個任務,要從商店帶甜甜圈給我們的老師們。我們收到每個人的訂單,形成了一張110個甜甜圈的購買清單列表,我們希望在去商店之前計算出所有甜甜圈的總價格。計算思維可以幫助我們更容易地解決這個問題。

我們首先定義問題:要計算110個甜甜圈的總價格。

看到這個問題時,我們的第一反應通常是拿起自己的手機,并将甜甜圈的價格一個個累加起來。這個方法可行,但卻是一種低效的方法。計算思維為我們提供了一種更好、更省力的方式。

我們可以将問題分解為更小的步驟:(分解)

1)我們需要知道每種甜甜圈的價格;

2)我們需要知道我們購買了每種甜甜圈類型的數量。

一旦我們知道了這兩點,就可以計算出總價格。

不同類别甜甜圈的單價表:

種類A:每個 3元

種類B:每個1.60元

種類C:每個2.00元

種類D:每個2.10元

種類E:每個2.15元

按類型劃分的甜甜圈數量:

25個甜甜圈A,每個3.00元

30個甜甜圈B,每個1.60元

10個甜甜圈C,每個2.00元

15個甜甜圈D,每個2.10元

30個甜甜圈E,每個2.15元

現在,通過把甜甜圈按照類型和數量有序組織成價格列表,我們發現列表中的每一項都遵循相同的模式(發現模式),這使我們能夠構建一個方程來計算每種甜甜圈的總價格。

甜甜圈A的總價格:25個×3.00元/個= 75元

對于模式化的數據類型,可以對列表中的每一項簡單地重複使用這個等式:

甜甜圈B的總價格:30個×1.60元/個=48元

甜甜圈C的總價格:10個×2.00元/個= 20元

甜甜圈D的總價格:15個×2.10元/個=31.5元

甜甜圈E的總價格:30個×2.15元/個= 64.5元

最後,我們可以将每種類型的甜甜圈價格相加來計算總價格:

75 48 20 31.5 64.5=239元

有了用于解決問題的等式,我們可以抽象出一個模闆,其中包含兩個計算總價格的公式。

按類型劃分的項目數×單價=每個項目類型的價格

每個項目類型的價格 每個項目類型的價格 每個項目類型的價格 …=總價格

這個公式不僅可以用于甜甜圈價格的計算,也同樣适用于紙杯蛋糕、冰淇淋三明治的計算,當然也适用于甜甜圈數量更多的情況。在消除了最初問題中的噪音和複雜性後,這個公式現在成為了一個易于使用的工具。(泛化)

然後,我們可以進一步擴展從這一經驗中獲得的知識,通過構建算法來确保每次都能獲得可靠的輸出,以便在其它慶祝活動中可以複用它。(算法思維)

第 1 步:按類型或風味添加項目。

第 2 步:為每個項目類型設置單價。

第 3 步:将按類型劃分的項目數與其單價相乘。

第 4 步:将每種類型的總價格加在一起。

第 5 步:祝您胃口大開!

我們來評估一下這個方法。首先,它總是可以正确地完成計算總價格的任務。其次,抽象出來的模闆和算法有很強的複用性。最後,這種方法可擴展性較強,即按這種方式來計算總價格的速度要遠遠快于逐個相加的方法,特别是在數量變得越來越多的時候。(評估)

正如這個計算思維示例所希望展示的那樣,這個過程體現了我們解決問題方式的轉變。通過公式化的過程,我們可以駕馭複雜性并專注于重要的事情,不會在噪音中迷失解決問題的方向。盡管這隻是計算思維的一個簡單例子,但很明顯,這個過程可以被複制來解決大量數據的問題,并在這些充滿數據的世界中引導未知的旅程。

本公衆号xuanbamath創立四周年

為大家精選了12篇必讀文章。

  1. 深度好文:小學數學應該學什麼,怎麼學?
  2. 或許世上本沒有數學渣娃,被數學渣媽雞多了,也便成了數學渣
  3. 小學數學最重要的能力如何培養?
  4. 深度好文:小升初需要欣賞的12個數學證明之美
  5. 高觀點下的少兒編程與計算思維
  6. 奧數冠軍教你如何解題(付費閱讀,買一贈一)
  7. 講座視頻:怎樣在生活中引導孩子進行數學思考?
  8. 為什麼飛機的往返飛行時間不同?
  9. 孤獨而高冷的素數
  10. 沒有葫蘆也要會畫瓢, 說說我的奧數啟蒙經曆
  11. 少兒編程,我這樣教

12.李國傑院士作序推薦高考數學滿分得主新書《給孩子的數學思維課》

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved