斯坦福大學(xué)教育學(xué)院網(wǎng)站上的一篇文章“Learning to code isn't enough”(“只學(xué)寫代碼是不夠的”),強(qiáng)調(diào)不僅僅是要學(xué)寫代碼,更重要的是培養(yǎng)孩子編程思維。
什么是編程思維?它是指人腦的某種理性思考活動。編寫一個(gè)計(jì)算機(jī)程序,跟做一道菜,完成一個(gè)項(xiàng)目,管理一家公司,本質(zhì)上都具有相同的目標(biāo)——就是要有序地解決問題。
一是大框架思維
寫一個(gè)軟件,需要先做設(shè)計(jì),搭架構(gòu),就像QQ程序,騰訊的CTO十幾年的程序架構(gòu)都適合現(xiàn)在幾億人的在線,這是多么強(qiáng)大的架構(gòu)能力啊!寫一段程序,也需要有個(gè)大體框架,這種統(tǒng)籌規(guī)劃全局的思維幾乎在任何學(xué)習(xí)、項(xiàng)目中都要用到。
二是復(fù)雜任務(wù)拆分
一個(gè)復(fù)雜的問題,看起來千頭萬緒,編程者需要把它拆解成一個(gè)個(gè)簡單的小問題,再逐個(gè)擊破。就像生活中策劃一個(gè)生日派對,只需要“拆解”細(xì)分,比如分成確定邀請多少客人,買些什么食品,派對上些什么節(jié)目……這樣就好辦了。
三是函數(shù)變量思維
這有點(diǎn)像麥肯錫方法,“不要重新發(fā)明一個(gè)輪子”,就是應(yīng)用了“函數(shù)思維“,需要時(shí)直接借用原有的思維模式,重新輸入條件,進(jìn)行問題解決。例如,編程者通常會把那些將會被重復(fù)使用到的運(yùn)算過程或方法,先編寫并儲存為函數(shù),需要時(shí)就直接調(diào)用,只需改動輸入某些參數(shù)、不同場景等即可,不用每次都重新編寫。