计算机思维典型方法有抽象,传说中的四大编程思维 一篇彻底搞清楚
對于很多家長朋友來說,編程還是一個比較模糊的概念。
比如覺得編程就是敲代碼、程序員的工作、一門興趣課......如果要問,什么是編程思維,這大概更讓大家覺得腦瓜疼。
小童希望這篇文章能幫大家對編程有更深入的一個了解。
一個故事
編程思維,聽起來很高大上,但其實生活中處處有編程。
比如早上正趕著去上班打卡,從1樓進入,按了按鈕去17樓,結果在5樓的時候,電梯停了,進來了一群人。這個時候要遲到,很捉急,就會想為什么有人在外面按了按鈕就會停在5樓呢,電梯的程序是如何運作的呢?
像這樣的問題,就可以用編程思維來理解。
① 「當你在 1 樓,想去 17 樓」,這里涉及了起終點和循環的概念。從起點 1 出發,終點為 17,循環計數從 1 到 17,滿足的退出循環條件,電梯停了,門也打開了。
②「當你在上升的過程中,外面有人按了按鈕」,這里涉及了判斷語句。電梯的程序中,有一個判斷條件,一直在監聽 If(是否有人按了按鈕),當條件成立,電梯就會停止。
【編程思維】到底是什么?
編程思維,又叫「Computational? Thinking」,是一種率解決問題的方式,是“理解問題——找出路徑”的思維過程,它由“分解—抽象—模式識別—算法”四個步驟組成。孩子要培養的就是這個。
這樣聽起來好像有點抽象,也許分開來就不難理解。
01分解——化繁為簡
分解,簡單來說,就是“把復雜的大問題,拆解成更可執行、更好理解的小步驟”,它能鍛煉我們拆解復雜問題的能力。
在生活、學習、工作中,我們經常會遇到各種各樣比較復雜困難的問題。比如老師布置了一篇2萬字的論文,遇到一道毫無頭緒的數學題,一個棘手的項目......
很多人,面對這些問題的時候,往往手足無措,一團亂麻。而編程思維的分解思維,就是讓我們把一個比較大的問題多層拆解,“自上而下,逐步拆解,直至理順”。
比如說,孩子遇到的難題,就能列出清晰的解題步驟,清楚地知道自己每一步的進展。
比如說,要和幾個朋友一起出國旅行,出行前做計劃。按照時間維度來拆解這個問題就可以。首先,我們需要選擇出行目的地,然后做旅行攻略、安排行程,接下來就可以預定機票和酒店,較后準備行李清單。
02抽象 —— 聚焦關鍵
編程中較關鍵的就是“抽象思維”能力,它能鍛煉我們聚焦重點,忽略無用信息,并抽取關鍵信息的能力。
這里的抽象思維聽起來也很抽象。不過我們可以這樣來理解
從房頂到窗戶到門,具體到了房子內部的具體架構和材料,每一面墻、每一扇門窗應該如何更精巧地設置。整個房子,就是對門窗房頂這些具體構成房子的物體的抽象。
說到這里,對抽象思維的理解就差不多了。
編程里,包含“子系統、模塊、包、類、方法和語句”等不同層級的抽象,學編程能鍛煉孩子們不斷抽象、聚焦關鍵信息的能力。
例如,學語文課文時,需要定位段落關鍵句;做英語閱讀理解時,要抓取關鍵信息和中心思想。
03模式識別 —— 規律整合
模式識別,就是“如何找出相似的模式,并率解決細分問題”,它能極大鍛煉我們規律整合的能力。
假如你有一副撲克牌,取出大小王并打亂順序后,一人隨機從中取出一張,如何確定取出的牌是幾?
有點難是不是?其實抽象成一個簡單的數學問題是這個: 1 + 2 + 3 + 4 + ...... + 100 = ?
國外的一個小孩在多年前就發現規律,并巧妙地解決了這個問題:1 + 100 = 101,2 + 98 = 101 ...... 50 + 51 =
101
從 1 加到 100 共有 50 個這樣的組合,因此 50 *101 = 5050
總結規律 1+2+3+......+n =n(n+1) / 2
回到撲克牌題目,它其中就悄悄隱藏這個規律
同一大小的牌共有4張,所有牌的面值大小為(1+2+......+13)*4
套用規律,總面值大小為[(1+13)*6]*4=364
要算缺少的撲克牌,用364減去手上牌面值的總和即可。
善于發現和總結規律的人,常常做事麻利、效率也特別高。因為他們腦子里自備各種規律的“方法庫“,遇到相似的情況就直接調用,極大節省了時間,也不會錯漏。
比如,有的孩子看到一道題,一瞬間就想到了解題方法與思路,這就是【模式識別、規律整合】能力很強,也是我們所謂的聰明。
在編程學習的過程中,孩子們也一直在做這樣的訓練:發現一些可以重復的單元,把它整合起來,套用進設定好的模式,再讓計算機去重復它。
04算法 —— 邏輯思維
算法,就是根據之前一系列對于問題的理解,設計一步一步的解決路徑,并解決整個問題。
在具體解決問題的過程中,較關鍵的能力有兩個 —— “邏輯思維”和“調試糾錯”。
邏輯思維
說邏輯思維經常說的一個笑話是,程序員老公買10個包子,如果遇到賣西瓜的,就買1個,結果就是老公只買了1個包子,原因是因為遇到了賣西瓜的。
這其實是很典型的邏輯思維。邏輯思維中有個很重要的原則叫 MECE(Mutually Exclusive and Collectively Exhaustive),意思就是“相互排斥且整體完備”,也就是“不重復,不遺漏”。理解到這里也就差不多了。不再多講。
調試糾錯能力
編程里,只有對與錯,沒有模糊值。在程序運行的過程中,只要較終的結果與期望不符合,就證明算法中肯定有錯漏。
但程序中的bug常常不是一下就能找到的,需要把程序的運行順序一步步地跟走一遍,同時觀察每一步的運行結果。這就需要很多的耐心、觀察力和專注力,對孩子的抗挫能力也是一種磨練。
為啥的人總在進步?就是因為他們懂得“回溯、調試、糾錯”,不斷進行自我優化和成長,不斷be better。
以上,就是四大編程思維所有內容了。
孩子學編程,不只是單純學會代碼,掌握一項技能,或是培養一個興趣,較重要的是掌握一整套解決問題的思維模式。即本文說的四大編程思維。
擁有這種思維模式的孩子,通常在生活中看起來更加“聰明”:無論是在工作還是學習中,你都會發現他頭腦清晰、反應靈敏,做事效率也非常高。
就像蘋果創始人Steve Jobs曾說:“每個人都應該學習編程,因為它教會你如何思考。”
想系統深入培養孩子的編程思維
來童程童美學編程吧
總結
以上是生活随笔為你收集整理的计算机思维典型方法有抽象,传说中的四大编程思维 一篇彻底搞清楚的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第三章 词汇与分词技术
- 下一篇: Django教程 —— Django模板