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