孔夫子告诉你:编程到底能教会你什么!
就從這兩年起,編程廣告開始鋪天蓋地的出現(xiàn),各大公眾號(hào)的廣告推廣文章中很難看不到關(guān)于編程課程的介紹。處于未來信息化的社會(huì)里,編程仿佛已經(jīng)可以和語文,數(shù)學(xué),英語一樣變成必學(xué)的科目之一。
那我們今天來探討一下編程到底是什么?廣告中不斷跳出來的學(xué)習(xí)編程思維,是一種必須要學(xué)了編程才能掌握的思維方法嗎?
重點(diǎn)一,即使是學(xué)了編程,也不一定要當(dāng)程序員,但是編程真的可以鍛煉孩子的思維和綜合能力。
重點(diǎn)二,無論你有沒有基礎(chǔ),只要肯動(dòng)腦,就一定能學(xué)會(huì)編程。
編程是什么?
本質(zhì)上就是和電腦對(duì)話,電腦其實(shí)就是一堆機(jī)器零件所拼搭出來,一個(gè)能夠用邏輯算法發(fā)出指令的機(jī)器。
所以編程的最初用處就是,和電腦能聽得懂的方式來交流,編寫的程序就是你對(duì)電腦下達(dá)的指令。
編程的過程是,用電腦的語言來給電腦安裝指令,讓這個(gè)指令完成你所想讓他完成。
編程的過程就是在學(xué)習(xí)電腦的語言,需要什么樣的條件,達(dá)到這個(gè)條件之后,會(huì)獲得什么樣的效果,都必須要合理安排,清晰無誤。
讓電腦聽得懂你的操控指令,電腦不會(huì)自己思考,必須要靠你一步一步的指揮。
對(duì)指令的要求是步驟清晰,嚴(yán)謹(jǐn),合乎邏輯,詳細(xì)沒有錯(cuò)誤
實(shí)行的條件可能有很多的變化
when if else
指令一:(when)當(dāng)我說開門的時(shí)候,走到車子邊。
指令二:進(jìn)到車子里來
如果(if)門開著直接進(jìn)來。(是)
如果(else)就打開門。(否)
寫程序的過程其實(shí)就在解決各種問題。
①拆解——各種會(huì)發(fā)生的可能
指令需要按固定的流程進(jìn)行,先是……再……如果……再……最后……
?
在發(fā)布一個(gè)指令中,可能會(huì)發(fā)現(xiàn)他沒辦法按你想象的一樣順利的完成,中途可能會(huì)發(fā)生各種問題,那接下來就需要把這些問題細(xì)化的步驟。
電腦程序的世界很單純,只有0和1,對(duì)和錯(cuò),沒有模糊值。只要運(yùn)行結(jié)果和期望不符合,就證明中間肯定有哪兒出錯(cuò)了。
②細(xì)化——
分解問題,找到問題出現(xiàn)的地方,解決問題。
比如這樣發(fā)布指令:小鳥要通過炸彈走到豬那里去,方向是東南西北,就是前進(jìn),向左,向右,后退。
?
步驟就是,向西一步,向北一步,向西一步,向北一步,最后到達(dá)終點(diǎn)。
?
以上這樣的模塊其實(shí)還可以用重復(fù)來執(zhí)行,會(huì)節(jié)約很多步驟。下一步就是學(xué)會(huì)把指令優(yōu)化。
③找出規(guī)律 重復(fù)(節(jié)約步驟)
整合模塊,排列組合,優(yōu)化線路。
這一關(guān)的問題是,如何用最少的指令完成全部線路,拿到三個(gè)星星。可以用到的指令模塊除了前后左右,還出現(xiàn)了循環(huán)模塊,它可以讓指令循環(huán)重復(fù)最多5次。
?
先看出路線重復(fù)的規(guī)律,是按
照前進(jìn)+往上,前進(jìn)+往上的模式,這時(shí)候直接把這兩個(gè)模式拖到循環(huán)里去,重復(fù)4個(gè)循環(huán),再前進(jìn),就可以完成全部路線了。
④發(fā)現(xiàn)錯(cuò)誤的能力
誤差 及時(shí)回顧 發(fā)現(xiàn)問題 解決問題
就像做數(shù)學(xué)題一樣,如果不是按照步驟一步步清晰的解題,沒有耐心跳過步驟,結(jié)果就一定會(huì)出錯(cuò)。
但是步驟很多的情況下,出錯(cuò)肯定避免不了。就必須找出所有可能,回頭再次回顧找出問題,再說解決問題。
這時(shí)候沒有僥幸心理
能夠有一定的數(shù)學(xué)基礎(chǔ) ,清晰的思考過程,解決問題的能力。
在這一關(guān)里,就出現(xiàn)了一個(gè)bug。
?
在轉(zhuǎn)變方向的時(shí)候,少走了一步,結(jié)果就是小鳥執(zhí)行程序時(shí)候向北走就撞會(huì)到磚頭,游戲結(jié)束。
正確的步驟是,小鳥要走到豬那邊,需要往南走2步,右轉(zhuǎn)向西1步,再次右轉(zhuǎn)向西1步,面向豬的方向再向北走2步。
?
結(jié)論
編程思維非常鍛煉綜合能力,平時(shí)的解題和做事情的時(shí)候有沒有按步驟的習(xí)慣,能不能提前規(guī)劃計(jì)劃。
細(xì)致的觀察力,還需要一定數(shù)學(xué)邏輯作為基礎(chǔ) ,有糾錯(cuò)能力和解決問題的方法。
理解循環(huán),發(fā)現(xiàn)倍數(shù)關(guān)系,正確的角度坐標(biāo), 方位方向。
找到關(guān)鍵細(xì)節(jié)理解文字的能力
學(xué)習(xí)編程確實(shí)能夠鍛煉思維推理,能夠達(dá)到的目的:
①做事有條理 , 細(xì)心觀察事物變化規(guī)律。
②解決的問題會(huì)由簡到繁,越來越多,要求有不斷深入學(xué)習(xí)的能力。
③靈活思維,換不同的思維解決難題。
④解決問題的能力,抗挫折能力。
其實(shí)以上這些雖然可以作為學(xué)編程時(shí)候的賣點(diǎn),但真心不是要靠學(xué)編程來得到這些技能。畢竟在孩子小的時(shí)候,大量的玩耍和運(yùn)動(dòng)也很關(guān)鍵。尤其在接觸初期,很多關(guān)于數(shù)學(xué)的基本功,在閱讀游戲和生活中就能夠得到鍛煉。在編程中你會(huì)發(fā)現(xiàn),這些技能被放大集中出現(xiàn)的在編程過程里。它會(huì)讓學(xué)習(xí)變得更加容易了,而不是反過來靠學(xué)編程來得到這些知識(shí)和能力。筆者是一個(gè)C/C++出身的程序員,學(xué)習(xí)編程有什么學(xué)習(xí)問題或者關(guān)于C/C++學(xué)習(xí)的路線的話可以看我個(gè)人介紹交流。
簡單來說,有數(shù)學(xué)基礎(chǔ),有邏輯思辨能力,保證閱讀效果,集齊這些能力,再學(xué)編程就事倍功半,一點(diǎn)就通。
不然一邊學(xué)一遍補(bǔ)只是給自己和孩子徒然增加難度。
總結(jié)
以上是生活随笔為你收集整理的孔夫子告诉你:编程到底能教会你什么!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 老板让我搞数字化转型?成功之后,我整理了
- 下一篇: 当自动化遇见数字化——德资企业儒拉玛特的