陽志平:如何學(xué)習(xí)編程-來自認(rèn)知科學(xué)的四個(gè)建議_第1頁
陽志平:如何學(xué)習(xí)編程-來自認(rèn)知科學(xué)的四個(gè)建議_第2頁
陽志平:如何學(xué)習(xí)編程-來自認(rèn)知科學(xué)的四個(gè)建議_第3頁
陽志平:如何學(xué)習(xí)編程-來自認(rèn)知科學(xué)的四個(gè)建議_第4頁
陽志平:如何學(xué)習(xí)編程-來自認(rèn)知科學(xué)的四個(gè)建議_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、陽志平:如何學(xué)習(xí)編程一一來自認(rèn)知科學(xué)的四個(gè)建議編者按:本文來自微信公眾號(hào)“開智學(xué)堂”(ID:openmindclub ),作者陽志平,內(nèi)容為陽老師開智學(xué)堂 Python入門班二期開學(xué)典禮發(fā)言;36氯經(jīng)授權(quán)發(fā)布。如何 學(xué)習(xí)編程?你的做法可能是:1)先買一堆書,2)上網(wǎng)搜別人如何學(xué),3)制定計(jì)劃,4)自已一個(gè)人慢慢學(xué)。然 而,這樣做違背認(rèn)知科學(xué)原理,且失敗概率極大。那么, 如何科學(xué)學(xué)習(xí)編程?深諳認(rèn)知科學(xué)的陽志平老師提由四條 建議:1)注重內(nèi)隱知識(shí);2)將語言與邏輯分開,不斷在 頭腦中進(jìn)行邏輯預(yù)演;3)使用執(zhí)行意圖而非目標(biāo)意圖; 4)成為一名認(rèn)知學(xué)徒,教別人學(xué)習(xí)。具體執(zhí)行,請看下 文。大家好,歡迎各

2、位同學(xué)參加開智學(xué)堂Python入門班的開學(xué)典禮。我是陽志平老師,我是一名黑客,我也是一 名認(rèn)知科學(xué)家,因此我喜歡將自己定義為心智黑客。黑客 精神,尊重個(gè)性,捍衛(wèi)自由,推崇創(chuàng)作。多年來,我一直 在用自己的方式普及黑客文化,從GitHub到Markdown ,都留下了我的推廣痕跡。當(dāng)然,成為黑客,總 是離不開掌握編程。在黑客文化領(lǐng)袖Eric Steven Raymond撰寫的如何成為一名黑客手冊中推薦的就是Python語言。因此,開智學(xué)堂成立伊始,開的第一門課是 Python 入門。如何學(xué)習(xí)編程?大家看過很多文章,有來自計(jì)算機(jī) 科學(xué)的看法;也有來自教育學(xué)的看法。然而,認(rèn)知科學(xué)作 為研究人類心智工作

3、機(jī)制的學(xué)科,對此有自己的獨(dú)特建 議,這就是我今天分享的主題。建議 1:為什么你是新手 不是專家?第一個(gè)建議是關(guān)于新手與專家的建議。為什么 你是新手而不是專家?作為編程新手,你與專家最大的區(qū) 別在于對方掌握了大量內(nèi)隱知識(shí)。什么是內(nèi)隱知識(shí)?我們 小時(shí)候?qū)W騎自行車,一旦學(xué)會(huì),你長大成人,就可以在騎 自行車的時(shí)候一心兩用,這個(gè)時(shí)候就意味著騎自行車的技 能已經(jīng)變成你的一種內(nèi)隱技能,不需要再調(diào)用你的大腦為 它進(jìn)行額外的付由。專家他的知識(shí)率與工作效率比一般人 高很多,就是因?yàn)樗莆樟嗽谒念I(lǐng)域中大量的內(nèi)隱知 識(shí),技能已經(jīng)自動(dòng)化。跟內(nèi)隱知識(shí)相對應(yīng)的是外顯知識(shí)。由于你是第一次接觸編程,你會(huì)了解到Python語言

4、包含哪些知識(shí)點(diǎn),你該如何背誦、拆解、調(diào)用這些知識(shí)點(diǎn)。這 些是外顯知識(shí)。關(guān)于內(nèi)隱知識(shí)和外顯知識(shí),要特別提醒大 家的是:專家他不僅僅是擁有了上述知識(shí)點(diǎn),他同時(shí)擁有 一整套行為規(guī)范。比如,專家級(jí)工程師明白怎么更好的跟 別人進(jìn)行溝通,怎樣更好的表達(dá)他的需求,怎么去輸由他 的產(chǎn)品,這也是內(nèi)隱知識(shí)中的一部分。那怎樣從剛剛學(xué)習(xí) 編程的新手,成為一名專家級(jí)的工程師?成為專家級(jí)工程 師,有三個(gè)維度。哈佛認(rèn)知科學(xué)家帕金斯一生研究智力, 他發(fā)現(xiàn),在任何領(lǐng)域,要想變得更聰明,你都得有神經(jīng)智力,經(jīng)驗(yàn)智力,反省智力。神經(jīng)智力神經(jīng)智力很好理解, 假如你的記憶能力、數(shù)學(xué)運(yùn)算能力或邏輯推理能力不行, 那么你學(xué)編程可能比其他人要

5、吃力一些。經(jīng)驗(yàn)智力經(jīng)驗(yàn)智 力意味著是你在這領(lǐng)域,投入了很多的時(shí)間,通過十年以 上的時(shí)間,很多技能已經(jīng)慢慢被你變成內(nèi)隱知識(shí)。反省智 力以上兩種智力都容易理解,大家容易忽略的是反省智 力。絕大多數(shù)人不明白,專家和新手最大的區(qū)別是專家的 反省智力更高:他的內(nèi)隱知識(shí)比別人的效率更高,他的模 式更清晰。舉個(gè)學(xué)編程的例子,比如說接觸到新的軟件、 新的編程語言和新的編程術(shù)語,絕大多數(shù)新手是先去搜索 怎么學(xué)習(xí)該軟件或編程語言,他會(huì)得到一堆網(wǎng)絡(luò)鏈接,然 后這位新手把這些文章看完,從大海中淘生對自己有用的 一些可以復(fù)用的步驟。這是新手的學(xué)習(xí)習(xí)慣。但是專家級(jí) 工程師的學(xué)習(xí)習(xí)慣和一般人不同。比如,他接觸到了新的 軟件

6、,他會(huì)率先查看官方的幫助文檔,明白有什么樣的知 識(shí)點(diǎn),使得這軟件特殊,跟其他軟件不一樣,這樣他的學(xué) 習(xí)效果會(huì)高很多。并且專家級(jí)工程師具備較強(qiáng)的生態(tài)鏈分 析能力,他學(xué)的不是 Python與 Web開發(fā),而是掌握了 Python的Web開發(fā)生態(tài)鏈;他學(xué)的不是Python與數(shù)據(jù)科學(xué),而是掌握了 Python的數(shù)據(jù)科學(xué)生態(tài)鏈。在接下來 的三個(gè)月,你會(huì)接觸到大量的這種專家級(jí)工程師才會(huì)采取的模式。開智學(xué)堂的 Python課程設(shè)計(jì),一上來就把各位同學(xué)扔在 GitHub里面。這有什么樣的好處?你接觸到的 是實(shí)際工作環(huán)境。你可以看到專家級(jí)工程師,他天天泡在 GitHub里面,如何進(jìn)行實(shí)際編程工作。這樣對你掌握編

7、程的內(nèi)隱知識(shí),尤其是內(nèi)隱知識(shí)中的行為規(guī)范知識(shí)部分, 會(huì)幫助更大。建議 2:為什么學(xué)習(xí)編程,你會(huì)失敗?第二 個(gè)建議是如何提高學(xué)習(xí)編程的成功率。學(xué)習(xí)編程真的挺難 的。很多人都嘗試過多次學(xué)習(xí)編程,自學(xué)、報(bào)班,他仍然 失敗了。偶爾忽悠你二十一天學(xué)會(huì)編程的,一定沒有幫你 養(yǎng)成很好的編程習(xí)慣。這是為什么?編程也是一種語言。和大家在0-3歲的時(shí)候?qū)W習(xí)講話,這兩個(gè)學(xué)習(xí)過程是一樣 的。你得掌握各種各樣的關(guān)鍵詞,用關(guān)鍵詞去描述各種各 樣的現(xiàn)象。但是編程語言不是用于跟身邊的人進(jìn)行交流, 而是用于和計(jì)算機(jī)進(jìn)行交流,所以,你要同時(shí)掌握邏輯。在人類大腦演化早期的狩獵-采集時(shí)代,只是往大腦中寫入 了人-人交流的進(jìn)化模塊,并

8、不包括人 -機(jī)交流模塊。這么 一來,大腦不得不同時(shí)處理語言與邏輯兩件事情。而人的 大腦不擅長同時(shí)處理兩件事情,因?yàn)槭苤朴谖覀兿忍斓那?額大腦皮層發(fā)育特點(diǎn),大腦有明顯的瓶頸,比如只能在短 時(shí)間內(nèi)記住不超過 9個(gè)電話號(hào)碼。金庸小說里邊的周伯通 左手畫圓,右手畫方,這是非常困難的操作。作為學(xué)習(xí)編 程的新手,讓你同時(shí)在電腦上處理語言,學(xué)習(xí)怎么用新的 關(guān)鍵詞去描述世界;處理邏輯;怎樣處理各類需求的優(yōu)先級(jí)別。你很難同時(shí)學(xué)會(huì)這些操作,這使得不少人學(xué)習(xí)編程 走向失敗。所以我建議新手一定要把語言和邏輯分別進(jìn)行 訓(xùn)練。一次只訓(xùn)練一件事情,比如你剛開始的時(shí)候可以只 訓(xùn)練語言。把編程當(dāng)成語言,像學(xué)英語一樣,它有哪些常

9、 用的高頻詞匯;以及用什么樣的語法才能把這高頻的詞匯 串起來,在初步掌握語言規(guī)律后再去掌握邏輯規(guī)律,這樣 會(huì)幫助你學(xué)習(xí)編程。同時(shí)需要提醒的是,就像人類語言是 用于人-人交互,編程是跟計(jì)算機(jī)發(fā)生交互的語言。大家想 一下,在0-3歲的時(shí)候,你怎樣像陽老師一樣學(xué)會(huì)如此正 確但大家又聽不懂的湖南普通話呢?其實(shí)不是通過看書學(xué) 習(xí),而是通過跟他的爸爸媽媽學(xué)的。學(xué)習(xí)編程也一樣,因 此,你一定不能把所有時(shí)間花在看書上,一定要一上來就 天天去寫代碼,學(xué)習(xí)跟計(jì)算機(jī)溝通。很多人學(xué)習(xí)編程有不 好的習(xí)慣,他有可能先去網(wǎng)上把Python相關(guān)的書都買了,或者下載一堆如何學(xué)習(xí)Python的文檔。這是錯(cuò)誤的學(xué)習(xí)習(xí)慣。想象一下,

10、在你是 0-3歲的小孩時(shí),你媽扔給 你一堆湖南普通話的書,怎么像陽老師一樣,把湖南普通 話學(xué)好?這是學(xué)不好的。你要把書扔一邊去,從學(xué)習(xí)編程 的第一天開始,就是直接是練習(xí)如何像說話一樣去寫代 碼。學(xué)習(xí)語言,大家都有很多經(jīng)驗(yàn),從小時(shí)候?qū)W習(xí)語言中 獲取的經(jīng)驗(yàn);考四六級(jí) GRE托福獲取到的經(jīng)驗(yàn),那么,我 們?nèi)绾翁岣呔幊趟枰倪壿嬆芰δ??怎樣進(jìn)行邏輯訓(xùn) 練,提高思維呢?大家都知道,這是開智學(xué)堂所有的課程 極其鮮明的特色,比如說學(xué)編程、學(xué)寫作,開智學(xué)堂不僅 教大家學(xué)具體的技能,同時(shí)還在教各位同學(xué)如何思維。如 何提高自己個(gè)人的邏輯思維能力?這里給大家的建議就是 盡量先在自己的頭腦當(dāng)中進(jìn)行預(yù)演。認(rèn)知科學(xué)家丹

11、尼特把 人類的大腦分成四種機(jī)制。第一種是達(dá)爾文心智。假設(shè)你 是荷爾蒙爆表的男生,你在不同國家看到美女,只要她的 腰臀比符合進(jìn)化心理學(xué)規(guī)律,你看到這些美女都會(huì)興奮。 又如你看到蛇都會(huì)害怕;看到紅色會(huì)興奮,這些大腦通過 千千萬萬年演化習(xí)得的進(jìn)化模塊,對應(yīng)人類大腦的這一部 分工作機(jī)制,丹尼特將其命名為達(dá)爾文心智。第二種是斯 金納心智。假設(shè)你像斯金納一樣,發(fā)明了他著名的斯金納 箱子,不斷地去訓(xùn)練老鼠。按照達(dá)爾文心智而言,老鼠看 到貓就會(huì)害怕。但是訓(xùn)練中,如果當(dāng)老鼠看到貓的時(shí)候就 給它一些甜頭,老鼠就會(huì)不斷地去嘗試,這種甜頭就是刺 激。從刺激到行為之間,既可以像巴甫洛夫一樣,給予貓 與老鼠之間的條件反射

12、;也可以像斯金納一樣,賦予代幣 等操作。第三種是波普爾心智。第一種達(dá)爾文心智與第二 種斯金納心智是動(dòng)物共有的。第三種波普爾心智和第四種 格列高利心智則是人類獨(dú)有的心智。波普爾是著名的科學(xué) 哲學(xué)家,提生了很有名的理論,就是科學(xué)是通過可證偽才 叫科學(xué)。波普爾心智意味著你在頭腦中對一些事情提前進(jìn)行測試,測試一般是動(dòng)物做不到的。這就是人類最重要的 能力一一你可以對真實(shí)世界予以抽象,然后在頭腦中進(jìn)行 測試與預(yù)演。優(yōu)秀工程師無不具備較強(qiáng)的抽象、測試與預(yù) 演能力。第四種是格列高利心智。這是人類更強(qiáng)的能力。 第三種波普爾心智,你作為一名編程新手,在頭腦中測試 的一些假設(shè),有可能是你個(gè)人的體悟;但是人類是人類社

13、 會(huì),而不是孤獨(dú)的獨(dú)狼。因此,人類擁有一種超越波普爾 心智的能力,我們可以借助社會(huì)文化與思想習(xí)俗測試一些 假設(shè)。因此,丹尼特用英國認(rèn)知科學(xué)家格列高利作為第四 種心智的命名。比如,在前面我提到,很多編程新手碰到 新的問題,往往不會(huì)去查官方幫助文檔,而是去搜索,看 博客,這是一種不好的學(xué)習(xí)習(xí)慣。但是人類擁有很強(qiáng)的格 列高利心智。一些專家級(jí)工程師已經(jīng)證明了哪些學(xué)習(xí)方法 是正確的,哪些學(xué)習(xí)方法是低效的。借助于人類文化社會(huì) 已經(jīng)證明正確的假設(shè),能夠大幅度地改善你的學(xué)習(xí)效率。 在接下來的三個(gè)月時(shí)間內(nèi),各位開智學(xué)堂的同學(xué)將天天泡 在GitHub里邊,全世界最厲害的程序員都在這里,我希 望各位同學(xué)不斷摸索,看

14、看他們是怎么寫檔案的、他們有 一些什么樣好的習(xí)慣,這對大家學(xué)習(xí)效率會(huì)有很大提高。建議3:為什么你實(shí)現(xiàn)不了目標(biāo)?第三個(gè)建議是關(guān)于樹立 目標(biāo)。報(bào)了開智學(xué)堂編程班,很多同學(xué)可能在自己的小本 子上偷偷寫上一句話:我要在三個(gè)月內(nèi)學(xué)會(huì)編程。雖然 說不是21天學(xué)會(huì)編程吧,但很多同學(xué)都以為三個(gè)月能學(xué) 會(huì)編程。然而,一旦寫了這個(gè)目標(biāo),絕大多數(shù)人最終的結(jié) 果其實(shí)是學(xué)不會(huì)編程,完成不了這個(gè)目標(biāo),為什么呢?這 是認(rèn)知科學(xué)研究中很有意思的現(xiàn)象。因?yàn)槿祟惔竽X特別喜 歡腦補(bǔ),一旦把我要在三個(gè)月內(nèi)學(xué)會(huì)編程這個(gè)目標(biāo)寫 下來,你的大腦會(huì)怎么去處理?它會(huì)認(rèn)為這事情已經(jīng)完成 了。就像新年我要成為更牛的人,要去周游世界,我要 XXX,

15、因?yàn)闆]有提由一些具體的指令,你的大腦會(huì)把這些 目標(biāo)扔到完成區(qū)域。在未來的三個(gè)月內(nèi),你的大腦不會(huì) 有任何行動(dòng)。這是很不好的制訂目標(biāo)的習(xí)慣。認(rèn)知科學(xué)家格爾維茨(Peter Gollwitzer ) 把我要三個(gè)月內(nèi)學(xué)會(huì)編 程這樣制訂目標(biāo)的習(xí)慣稱為目標(biāo)意圖。與目標(biāo)意圖相反的是執(zhí)行意圖。它是這樣一種方式,采取的是如果 那么一的句式。就是說它把你更具體的指令下達(dá)給你的大 腦。如果每天晚上八點(diǎn)之前回到宿舍,我立即打開筆記本開始登錄 GitHub網(wǎng)站、提交自己的代碼,這是一種新的 制定目標(biāo)的方式:執(zhí)行意圖。這種方式有何不同?第一它包括時(shí)間因素:晚上八點(diǎn);第二它包括地點(diǎn)因素:回到 宿舍;第三它包括具體可操作的事

16、情: 提交代碼。這樣 一來,你在上周給自己大腦布置了這樣任務(wù),然后很忙, 把這個(gè)事拋在腦后,但是大家都很明白了,人類大腦喜歡 腦補(bǔ),到了下周晚上八點(diǎn)的時(shí)候,你的潛意識(shí)就會(huì)自動(dòng)進(jìn) 行腦補(bǔ),現(xiàn)在晚上八點(diǎn)了,我已經(jīng)在宿舍了,這個(gè)時(shí)候我要干什么一一 寫代碼。認(rèn)知科學(xué)家研究發(fā)現(xiàn)通過改變一種 目標(biāo)制訂的方式,學(xué)習(xí)效率提高了三倍以上。格爾維茨的 妻子,另一位心理學(xué)家Gabriele Oettingen 則在執(zhí)行意圖基礎(chǔ)上,結(jié)合心理對照,提由了 WOOPo這是任何一位開 智學(xué)堂的學(xué)員入門第一課。接下來在具體的教學(xué)中大家會(huì) 碰到大量的任務(wù),我希望大家用執(zhí)行意圖的方式制訂目 標(biāo)。建議4:為什么你需要做個(gè)撓癢癢的猴

17、子?第四 個(gè)建議和人類社會(huì)結(jié)構(gòu)相關(guān)。開智學(xué)堂非常有趣,幾乎任 何課程任何收費(fèi)活動(dòng),男女比例非常均衡,從來都是5:5 o我想,這可能跟我作為創(chuàng)始人的文藝黑客氣質(zhì)相關(guān)(笑)。這是開智學(xué)堂很特殊的現(xiàn)象。大家可以想一下,你 為什么需要男朋友,女朋友?因?yàn)槿耸窍矚g撓癢癢的猴 子,這是人類社會(huì)進(jìn)化的一個(gè)規(guī)律。最早人類怎樣從猴子 變成猴群?作為個(gè)體的猴子,相互撓癢癢,慢慢地從孤獨(dú) 個(gè)體變成猴群,這就是人類從遠(yuǎn)古時(shí)代已經(jīng)形成的一種思 維習(xí)慣和一種演化模式。當(dāng)從150人的猴群演化成更大的猴族;當(dāng)人類社會(huì)語言誕生,逐步演化由部落、村莊、城 市與國家,這種猴子幫忙撓癢癢行為始終存在。只是語言 誕生后,它逐步過渡為八

18、卦。正是八卦才使得人類社會(huì)形 成社區(qū),它又演化成更容易傳播的故事,幫助更多小部落 鏈接在一起。比如說無論是西方社會(huì)還是東方社會(huì),都會(huì) 流傳信息結(jié)構(gòu)差不多的故事:西方有亞當(dāng)夏娃;中國有女 娟補(bǔ)天。人類社會(huì)這樣的演化進(jìn)程同樣深深影響了我們的 學(xué)習(xí)過程。因此,人類最早的學(xué)習(xí)是學(xué)徒制,知識(shí)就是八 卦與故事。?類最早的學(xué)習(xí)是狩獵,部落中的年輕孩子跟隨 母學(xué)習(xí)打獵,維持人類生存并促進(jìn)發(fā)展。這種以學(xué)徒制為 代表的學(xué)習(xí)方式步?業(yè)時(shí)代之后逐步?jīng)]落。然而,到了今 天,技術(shù)?發(fā)的第?次教育革命中,我們需要重新回到學(xué)徒 制,所謂認(rèn)知學(xué)徒制。你怎樣才能更好地學(xué)習(xí)? 一定不是 天天跟自己死磕。大家可以嘗試一下。當(dāng)你抓住自己的頭 發(fā),你是打不死自己的,你下不了手。但是讓你的小伙伴 抓住你的頭發(fā),你會(huì)感覺到很痛苦。因?yàn)檫@個(gè)時(shí)候,你的 傷害是來自于別人。同樣的,你要提高學(xué)習(xí)效率也是一樣 的。安替老師在開智大會(huì)上做的演

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論