學(xué)校內(nèi)外其實(shí)有很大的差異,學(xué)校里我們有老師引導(dǎo),統(tǒng)一問題,只有一種答案。但是出了學(xué)校,每個(gè)人、每個(gè)問題都是不一樣的,可能大多數(shù)的情況是一個(gè)問題有多種的解決辦法,這就要求我們尋求更高效更先進(jìn)的方法。
所以,我們強(qiáng)調(diào)去用一種高效的思維方式去解決問題。計(jì)算思維就是這樣一種高效的思維方式,并且孩童時(shí)代是培養(yǎng)這種思維的時(shí)期。
計(jì)算思維是一種使用工具高效解決問題的思路方法,它不是知識(shí)和工具本身??赡苈犉饋砗芨呱罨逎鋵?shí)我們?cè)趯W(xué)習(xí)生活上處處都在用到它。
舉個(gè)簡(jiǎn)單例子:比如今天有客人要來家里吃飯,你要做哪些準(zhǔn)備?
首先我們要思考今天要做什么菜、什么飯、煮什么湯,確定好之后我們就要確定采購(gòu)的原料,采購(gòu)?fù)曛?,就要分配原料,每一種菜大概都有一種模式,炒菜就是和原料一起炒,很快就能完成,而燉菜則需要一定的水,花費(fèi)一定的時(shí)間去做。想好之后就要考慮做菜具體步驟:大概要怎么做,口味是什么樣的,需要用到多少量的調(diào)料.......最后這些都會(huì)落實(shí)在我們用的材料、工具等等。
這其實(shí)就是一個(gè)完整的利用計(jì)算思維思考問題的一種案例。我們其實(shí)每天都在用它來解決我們生活上遇到的問題。
計(jì)算思維一般分為四個(gè)步驟:分解、模式識(shí)別、抽象化和算法。上述所說的例子其實(shí)就基本用到了這四個(gè)步驟。
但在這之前,我們要先經(jīng)歷的一個(gè)過程:認(rèn)清問題。
在孩子學(xué)習(xí)過程中,我們會(huì)遇到這樣的問題:孩子做了很長(zhǎng)時(shí)間的題,一直做不出來,最后發(fā)現(xiàn)是看錯(cuò)了題,或者漏掉了題中的條件、自己創(chuàng)造出一些條件......這就是沒有認(rèn)清問題的結(jié)果。如果一開始不認(rèn)清問題,那么問題很難被解決掉,還做了一些無用功。
在這里我們舉一個(gè)現(xiàn)實(shí)的例子:飛機(jī)的發(fā)明。從人類有思考會(huì)觀察開始,人類一直都?jí)粝胫w上天。而有2000多年的時(shí)間里,人類一直是探索人類像鳥一樣飛的方式,但這其實(shí)是一種歧途,人和鳥的生理構(gòu)造不一樣,我們不可能會(huì)像鳥一樣飛起來。但飛行的本質(zhì)就是能夠上天、能夠前進(jìn)、可以控制,只要滿足這三個(gè)條件就可以,而像鳥一樣飛并不是我們的必要條件。
一、分解
在認(rèn)清問題之后,就要把問題分解。分解就是把大問題拆解成小問題,把復(fù)雜問題拆解成簡(jiǎn)單問題,把新問題拆分成若干老問題。目的就是為了我們?cè)诮鉀Q問題的時(shí)候更容易去處理。
比如還是上邊飛機(jī)發(fā)明的例子,對(duì)于飛機(jī)的發(fā)明的問題主要可以分解成3個(gè):
1.飛機(jī)可以在空中持續(xù)停留。對(duì)此研究出空氣動(dòng)力學(xué)、流體力學(xué)等理論,對(duì)飛行器所需要的升力有很大的影響。
2.在空中可以前進(jìn)。尼古拉斯·奧托發(fā)明的內(nèi)燃機(jī)使得飛機(jī)有了持續(xù)的動(dòng)力。
3.控制飛機(jī)飛行。萊特兄弟在前有的基礎(chǔ)上,發(fā)明了控制桿控制飛機(jī)的飛行,之后做了大量的風(fēng)洞試驗(yàn),最后發(fā)明了飛機(jī)。
二、模式識(shí)別
模式識(shí)別簡(jiǎn)單來說就是找到事物規(guī)律然后不斷復(fù)制重復(fù)執(zhí)行。例如我們都知道英語當(dāng)中,動(dòng)詞的進(jìn)行時(shí)態(tài)是在單詞后加ing就可以,有一些特殊的單詞,是去e加ing,或者ie變y加ing,這就是英語單詞一個(gè)時(shí)態(tài)的規(guī)律。這其實(shí)就是一個(gè)模式識(shí)別的過程。
如果我們能夠掌握這種規(guī)律,那我們學(xué)習(xí)英語的過程中就會(huì)輕松很多,效率也會(huì)提高很多。
三、抽象化
在這里我先把這兩個(gè)放在一起講。抽象化:抓住主要的、本質(zhì)的東西、忽略其他的,去繁求簡(jiǎn)。如何抽象,忽略哪些信息,保留哪些信息這些是根據(jù)問題決定的。例如運(yùn)動(dòng)物體中相遇問題和火車過橋問題就是兩種抽象化的方式。
相遇問題一般把運(yùn)動(dòng)的物體或者人都抽象化成一個(gè)點(diǎn),點(diǎn)在線上移動(dòng),然后再去解決問題。但對(duì)于火車過橋問題,就要考慮火車的長(zhǎng)度,就不能抽象為一個(gè)點(diǎn),而是抽象成一條線。
四、算法
任何解決問題的步驟計(jì)劃都可以稱之為算法。它極大地決定這解決問題的效率。比如折紙飛機(jī)的步驟也是一個(gè)算法,上學(xué)過程中的路線也是一個(gè)算法。
評(píng)價(jià)算法的緯度有很多,比如有時(shí)間、金錢、人力。在解決一個(gè)問題的時(shí)候,如果我們能夠優(yōu)化算法,那我們解決問題的效率就會(huì)高很多。
計(jì)算思維不是一門學(xué)科,而是一種解決問題的方法,這種思維是將問題分解,并且利用所掌握的計(jì)算知識(shí)找出解決問題的辦法。無論你進(jìn)行科學(xué)探索,還是從事文學(xué)藝術(shù)創(chuàng)作,計(jì)算思維都能助你一臂之力。