我畢業(yè)于劍橋大學(xué)工程系。我經(jīng)常會用到編程,,后來工作了一段時間,,越來越覺得,編程是一個非常有用的技能,,我就又去學(xué)了Html,、CSS,、Java Script,、Python和Ruby,越學(xué)我越遺憾沒能在更小的時候接觸到它,。
(周安琪老師在少年商學(xué)院國際教育沙龍上,。本文為她此后線上直播公開課的內(nèi)容,。) 感謝少年商學(xué)院,讓我今天通過視頻直播這種方式,,與來自全國各地的諸多家長及教師朋友們交流(公開課簡介),。我經(jīng)常會聽到一些孩子說,編程屬于理科生學(xué)習(xí)的東西,,就好像有很多同學(xué)會不理解為什么文科生也要學(xué)數(shù)學(xué)一樣,。其實在美國,編程已經(jīng)開始變成和讀寫,、數(shù)學(xué)、科學(xué)并列的學(xué)生核心能力,。而且,,學(xué)編程的核心,也不是學(xué)計算機語言,,而是學(xué)一種思維方式,。今天,很多孩子每天都忙于上各種各樣的補習(xí)班,、學(xué)習(xí)各種各樣的才藝,,但其中,我覺得最值得投入時間和精力的,,還是孩子思維能力的培養(yǎng),,把重點放在學(xué)習(xí)“計算性思維”上面——而不單單只是學(xué)幾行酷炫的代碼,。
哪怕你的孩子以后讀文科,計算性思維也不可或缺
什么是計算性思維,?簡單來說,,是一種用電腦的邏輯來解決問題的思維,這個是由谷歌公司提出的,,可以簡單概括成這幾種類型:分解問題、模式認(rèn)知,、抽象思維和算法設(shè)計這幾個類型,。 這幾個詞只是看上去很抽象,實際上,我們的生活中,,有很多問題的解決要用到這些思維。比如計劃一次旅行——前不久我在少年商學(xué)院線下國際教育沙龍上的分享(點擊閱讀當(dāng)天分享精華《她13歲留英,,劍橋畢業(yè)后到MIT充電,,她給中國孩子的7個學(xué)習(xí)錦囊)也提到,英國學(xué)校會要求學(xué)生自主策劃一次大型旅行,,每個過程,,都對應(yīng)了計算性思維中的一個小部分。 第一是分解問題的能力,,把一個龐大的任務(wù)分解成幾個小問題分別解決,。“策劃全家人的旅行”聽起來非常龐大,、繁瑣,,那么,我首先就要將這個龐大的任務(wù)分解成幾個小任務(wù),,我可以把旅行,,先分解成“訂機票”、“訂酒店”,、“訂活動”三個任務(wù),,然后依次分別解決。而其實每一個小問題又可以進一步分解成不同的小任務(wù)來解決,,當(dāng)你將每一個小任務(wù)都解決好了以后,,這個“計劃全家旅行”的龐大的任務(wù)也就可以輕松地解決了。
第二是模式認(rèn)知,。比如旅行時,,訂酒店,其實我2014年,、2015年都在某一個網(wǎng)站上訂了某個連鎖酒店,,非常靠譜,,住得也非常舒服,,這一次我可以同樣地在這個網(wǎng)站上訂這個連鎖酒店。在這里,,我會根據(jù)我過去的經(jīng)驗以及過去解決問題的方法,,來解決我眼前的問題,這是認(rèn)知模式的一種,。酒店訂完了,,我們基本上就要計劃一下我們的活動了。 第三是抽象思維。下圖中,,左邊和右邊是兩個不同的計劃,,對比之下就能發(fā)現(xiàn),,左邊有很多沒有必要的細(xì)節(jié),,比方說“要吃巧克力麥片”,如果我們把很多時間花在沒有必要的細(xì)節(jié)上,,就會降低我們的效率,。
第四是算法設(shè)計,大家可以通俗地理解為解決方案的設(shè)計,。我們還拿旅行計劃的設(shè)計作為例子,,到了假日的早上,我非常開心地準(zhǔn)備去公園玩,,那么問題來了,,怎么從酒店走到中央公園去?這里需要一系列的解決方法,。 我首先會問今天下雨嗎,?今天不下雨,我們就要出酒店門,,右轉(zhuǎn),,朝北走七條街等等,才可以帶我們到公園,。如果今天下雨,,我們則要回房間、拿上傘,,在酒店門口等的士,,的士來了就告訴的士司機我們的目的地……
我以前經(jīng)常聽到別人說——“我天生就是個路癡,就算給我個地圖我也找不到地方,,你還是來接我吧”,,其實我認(rèn)為,沒有人是所謂的天生的路癡,, 會編程的孩子,,數(shù)理化學(xué)起來也不會太難 一個思維敏捷的小朋友馬上就可以分解一個復(fù)雜的問題,成為這三個小問題,,然后一個個算出來,,這樣的話這道很長的題其實也就變得很容易了。 另外一個例子是在做應(yīng)用題的時候,,很多小同學(xué)則需要學(xué)會剝離出問題的核心,。
比方說在語文課上寫作文的時候,要想寫得又快又好,,通常我們要列一個作文的提綱,,列提綱這個動作其實就是在分解問題。比方說今天我要在這里介紹計算性思維,,我很緊張,,這么龐大的一個話題,,我不知道從哪里開始講,不過我列了一個提綱,,決定將這個大的演講分成好幾個小塊: 我這樣分解一下,,感覺就輕松了很多。我主要把每一個小部分講好就好了,。 有時候?qū)W社會學(xué)的時候,,我們可以分析我們現(xiàn)在看到的現(xiàn)象,和過去歷史里發(fā)生過的現(xiàn)象有沒有什么相似之處,,是否有可以學(xué)習(xí)的地方,,這就是一種模式認(rèn)知,。學(xué)科學(xué)的時候,,我們使用的公式和模型都是抽象化的。然后在做科學(xué)實驗的時候,,我們也經(jīng)常要用算法設(shè)計的技能來精確地設(shè)計實驗步驟,。 不同年齡段,為孩子選擇不同的編程工具 1,、幼兒園或小學(xué)低年級:Swift Playgrounds、code.org 對于幼兒園的小朋友來說,,他們可能最先學(xué)會的不一定是計算機的語言,,而是學(xué)會怎么樣精確地發(fā)號施令??梢圆恍枰糜嬎銠C語言,,而是用他們精確的語言、用一些簡單的圖形,、音樂來傳達(dá)這個概念,。 前幾天蘋果公司發(fā)布了一個幫助同學(xué)們鍛煉計算性思維的APP,叫Swift Playgrounds,,這個APP要秋天才能上架,,所以普通人去架子上找應(yīng)該還沒有。但是我拿了他們提前給老師的一本培訓(xùn)介紹書,,我發(fā)現(xiàn),,比起讓同學(xué)們學(xué)會如何用Swift編寫蘋果的APP,,他們更加注重用一些歡快的、活潑的謎題和游戲的形式,,幫小朋友們甚至是很小的,、幼兒園的小朋友們鍛煉計算性思維,為小朋友們啟蒙,。
其實code.org也是用一些非常簡單的方法來讓小朋友們鍛煉計算性思維,、鍛煉如何發(fā)號施令的。
2,、小學(xué)階段:Scratch,、APP Inventor、Hopscotch 最后這個是hopscotch,,可以讓孩子在iPad上寫小游戲、小動畫,,比scratch稍微難一點點,。可在AppStore里下載到,。
3,、12歲以上:別著急抄寫代碼 有很多家長說同學(xué)比較大了,,可不可以直接學(xué)Python?但是我覺得Python,、Java等,,有很多的英文字,,很多初學(xué)者容易犯的一個錯誤就是,,把時間和精力都花在抄寫代碼上面了,而且這種文本式的語言很多都需要學(xué)生對括號,、分號等標(biāo)點符號的使用非常了解,,很多小朋友把心思全都花在寫正確的標(biāo)點符號和打正確的字上面了。 而我推薦就算是12歲以上的同學(xué)也可以先用一種積木式,、拖拽式的語言,,可以讓這些同學(xué)們首先通過這些先學(xué)好這些程序的核心邏輯,把這些編程的邏輯和概念學(xué)扎實了以后,,再去學(xué)這些文本式的語言,。當(dāng)他已經(jīng)有了一個編程概念或者說計算機概念的基礎(chǔ)后,他再去學(xué)文本語言就要好很多,,這個時候他可以花多一點心思去看怎么樣把這些代碼打?qū)Α?/span> 一定要多問For What,,讓孩子學(xué)編程到底為了什么。 今年暑期,,我將聯(lián)合畢業(yè)于連續(xù)多年全美排名第一教育學(xué)院的范德堡大學(xué)教育學(xué)博士、少年商學(xué)院趙晴老師,,在北京為9到12歲小學(xué)生開設(shè)《2046學(xué)校大創(chuàng)想x MIT APP編程》工作坊,,顯然,孩子們要學(xué)習(xí)編程,,但這更是一次項目制學(xué)習(xí)(Project Based Learning),。我們將帶領(lǐng)同學(xué)們暢想、采訪調(diào)研,、頭腦風(fēng)暴,,設(shè)計30年后的未來學(xué)校,并通過APP編程,,呈現(xiàn)智能操控所建造Future School的邏輯,,這個過程中對孩子們設(shè)計思維、創(chuàng)想力,、計算性思維及動手實踐能力的鍛煉同樣非常重要,。 最后,有個小提醒給家長朋友們?,F(xiàn)在很多同學(xué)學(xué)習(xí)編程語言,,都是以自己的興趣為主,比如說寫論壇,、機器人,、做網(wǎng)站等,比較隨性,,我們要不要給他加一下系統(tǒng)性的學(xué)習(xí)呢,?答案是:NO。我想說的是,,興趣是一切的源動力,,最好的教育方式從不是給孩子一個系統(tǒng),而是讓他們根據(jù)興趣和熱情,,自己慢慢摸索出一個系統(tǒng)來,。 |
|