1.放空教學(xué)法
少兒編程這門課程誕生的目的,并不是為了讓孩子們踏上程序員這條職業(yè)道路。如果大家關(guān)注到這個領(lǐng)域,就能在很多介紹和宣傳語上看到:學(xué)習(xí)電腦不是為了成為打字員;學(xué)習(xí)英語不是為了成為翻譯員;學(xué)習(xí)編程不是為了成為程序員。
編程是通過項目制的方式,培養(yǎng)孩子分析問題,解決問題的能力,進(jìn)而提升邏輯思維。但是如何進(jìn)行教學(xué)才能真真切切的將這些理念貫徹到底呢?雖然書籍很難將思維進(jìn)行傳達(dá),更多的是帶著小朋友體驗項目。但是這本書將會使用放空教學(xué)法,將思維的培養(yǎng)貫徹到底。這已經(jīng)不僅是一本編程書籍了,更是一本計算思維培養(yǎng)書籍。
我的版系列公開課發(fā)布至今已有近10萬人次學(xué)習(xí)了,其中有很多孩子,家長以及同業(yè)朋友們。通過這么多不同角色身份從多種視角學(xué)習(xí)課程和審視課程,我收集到了很多想法、建議和反饋,課程也經(jīng)歷了一次又一次的迭代。無論是規(guī)劃知識點(diǎn),設(shè)計故事思路,琢磨思維方式,確定素材,制作項目,編寫文案腳本以及后續(xù)與孩子直接語音交互的答疑,我一直堅持在一線。如果學(xué)習(xí)過我課程的孩子和家長朋友應(yīng)該深有體會,我提倡孩子自己將遇到的問題總結(jié)出來,自己去描述,然后自己來詢問老師或者尋找?guī)椭?,我也通過語音給他思路和方法,孩子們再去嘗試,最終找到方法,解決問題。
所以當(dāng)孩子在學(xué)習(xí)過程中遇到問題后,不需要急于幫孩子解決或者立刻詢問老師。建議可以給孩子一個比較長的思考時間,讓孩子去體會思考,通過自己的想法,探索,嘗試來解決這個問題。鍛煉這個能力也是這門課程的任務(wù),未來會有遇到很多問題,一兩個答案是解決不了所有問題的,但是這種思考方式卻是可以一直幫助孩子排除問題的。
正如我們一樣,遇到問題,沒有誰主動幫我歸納問題,也沒有誰主動送上答案。更多的是要自己描述問題,哪怕就是百度,也必須描述清楚問題。描述問題后,需要自己去尋找?guī)椭?,然后解決它。
在不斷重復(fù)這個事情的過程中,讓我更加深刻的體會到編程真正要給孩子帶來的是什么,應(yīng)該如何帶給孩子。
編程學(xué)習(xí)我們更多的要傳授給孩子的是思維方式,而不是知識點(diǎn)。但是一直以來老師都充當(dāng)著一個飽含知識的角色,每一次的授課,老師總是將自己的知識竟可能多的教給孩子。傳授知識并沒有錯,從小學(xué)到大學(xué),我們將會接受很多這樣的教育,那么現(xiàn)在的編程學(xué)習(xí),我們應(yīng)該突出思維的培養(yǎng)而不是知識的灌輸。
現(xiàn)在是科技時代,知識的量級越來越大,互聯(lián)網(wǎng)越來越發(fā)達(dá),獲取知識也越來越簡單,那么思維就尤為重要了。
在課程不斷迭代以及一線教學(xué)了那么多孩子后,我創(chuàng)造了一套教學(xué)方式,并給它取了個名字叫做“放空教學(xué)法”。因為書籍講解很難將教學(xué)理念和方法傳遞給孩子,所以大部分書籍都是帶著孩子一步步完成項目。
但是在這本書中,我將盡可能將學(xué)習(xí)思維融入在本書之中。希望能給予老師或者家長輔導(dǎo)孩子一定的幫助。
放空教學(xué)法:將老師已有的知識儲備清空到一個適度水平,以思維引導(dǎo)的方式和學(xué)生共同進(jìn)行探索學(xué)習(xí),教學(xué)方式從灌輸知識點(diǎn)轉(zhuǎn)變?yōu)閭鬟f探索的思維方式。
放空教學(xué)法放空知識,而不放空智商。
放空教學(xué)法分為兩種放空模式:
(1)全放空:將知識儲備放空到和學(xué)生同等儲備量,成為一個徹徹底底的玩伴一起探索。
(2)半放空:根據(jù)實(shí)際需要,適度利用知識來作為引導(dǎo),成為一個亦師亦友的角色。能在關(guān)鍵時刻,進(jìn)行指引。
采用這樣教學(xué)法能更好的培養(yǎng)孩子的思維方式,當(dāng)老師也不知道Scratch中這個積木塊有什么功能的時候,老師就無法去做知識灌輸了,只能和孩子一起嘗試這個用法了。
放空教學(xué)法只放空知識儲備,可別把思考方式也放空了,其實(shí)這種教學(xué)法對教學(xué)的要求更高。對于編程來說帶著孩子一步步去完成項目其實(shí)挺簡單,老師怎么做,學(xué)生跟著做,在樂高,機(jī)器人,編程課程上,很多是這樣進(jìn)行的,這樣其實(shí)對孩子培養(yǎng)思維本身并沒有太大的益處,照著模仿其實(shí)就足夠了。無論是老師還是家長想要教孩子學(xué)習(xí)編程,就需要我們成為他們的玩伴。一起分析一起思考一起探索。而這個就是書籍無法做到和取代的了。
放空教學(xué)法,放空的是知識,思維不能丟。帶著孩子大膽嘗試,初次接觸的功能和積木塊,不懂有什么用處。啥也別問,拖動出來試試吧。
2.學(xué)習(xí)各種方法
(1)學(xué)習(xí)分類查找
Scratch中,尋找一個角色或者一個背景,在角色庫,背景庫中來來回回都沒有找到。找到角色所屬的大類,進(jìn)入這個分類中去尋找。
(2)學(xué)習(xí)對比區(qū)分
“播放聲音”和“播放聲音直到播放完畢”這兩個積木塊,如何交給孩子,拖動出來進(jìn)行對比下,孩子自然就明白了。因為Scratch本身的積木塊解釋就已經(jīng)很清晰了。
......
所以少兒編程學(xué)習(xí)更多的是把它看做成一種學(xué)習(xí)工具,而不僅僅是學(xué)習(xí)知識本身。如果我們把少兒編程看成是知識的學(xué)習(xí),軟件的學(xué)習(xí),那么這將失去了這門課程學(xué)習(xí)的初衷。如果我們把編程看成是一種工具,通過編程的學(xué)習(xí),項目制,帶著孩子學(xué)習(xí)分析項目,分解項目,單個突破,組合項目的方法。以及整個思考過程這樣的學(xué)習(xí)才能真正培養(yǎng)這些能力。
3、那么這樣的教學(xué)應(yīng)該如何進(jìn)行和設(shè)計呢?
每一位家長或者老師都想將編程思維培養(yǎng)貫徹到底,將自己的引導(dǎo)或者教學(xué)能真正的將思維方式傳遞給孩子而不是局限在表面的編程知識層面。
但是愿景很美好,現(xiàn)實(shí)很殘酷。怎么設(shè)計課程才能做到呢?
接下來,我將設(shè)計課程的思路分享給大家,希望能給打大家一些幫助。同時我也在不斷的學(xué)習(xí)和迭代??赡芤欢螘r間后還會有更加全面的課程設(shè)計思路。
(1)好的課程必須讓學(xué)習(xí)者愛上學(xué)習(xí),特別是對于孩子。
學(xué)習(xí)不是一件壓力,痛苦的事情,而是一件愉悅、開心的事情。
只有學(xué)習(xí)者喜歡學(xué)習(xí),接下來你的內(nèi)容才能給到他。教育不在于老師有多么淵博知識,而在于學(xué)生能夠從老師那里獲得多少知識。
那么就要站在學(xué)習(xí)者的角度來設(shè)計課程,制作一個學(xué)習(xí)者容易理解,喜歡的課程。
讓孩子喜歡的首要原則就是要有趣,好玩,做到玩中學(xué)。
做到有趣的關(guān)鍵在于案例,案例構(gòu)思決定了課程的50%。
然后是貼近孩子,我曾經(jīng)統(tǒng)計過孩子喜歡看的電視和游戲,你就會發(fā)現(xiàn)他們所喜歡的和你假象的真的千差萬別。所以知道孩子喜好,跟隨他們?nèi)チ私?,去接觸,去喜歡,這樣將自己擺在他們的視角來看待問題。
(2)故事的構(gòu)建索引,貼近孩子。
素材的選取使用奧特曼打怪獸一定比貓狗打架來的有趣。講解坐標(biāo)把笛卡爾發(fā)現(xiàn)坐標(biāo)的那個蜘蛛故事講解,估計沒有講解海洋上出現(xiàn)海盜,需要你駕駛軍艦前去營救來的有吸引力。
(3)任務(wù)驅(qū)動,也就是項目制的方式。
學(xué)習(xí)是基于問題的學(xué)習(xí),學(xué)不致用那么很快就會忘記。展示項目,明確主線,通過完成項目,解決任務(wù)中遇到的一個個的小問題中進(jìn)行學(xué)習(xí)掌握知識。
項目分解成一個個待完成的小任務(wù),然后朝著這些任務(wù)進(jìn)行,遇到阻礙,瞄準(zhǔn)阻礙進(jìn)行探索,找資料,嘗試,比對,解決,掌握知識,繼續(xù)。
學(xué)習(xí)知識1》學(xué)習(xí)知識2》學(xué)習(xí)知識3》做項目》運(yùn)用到知識3還有知識4?
這種模式非常容易忘記前面學(xué)習(xí)了什么,同時學(xué)習(xí)無聊無目。
確定項目目標(biāo)》遇到問題》產(chǎn)生思考》進(jìn)而學(xué)習(xí)》掌握知識》運(yùn)用知識》解決問題》掌握知識
這種學(xué)習(xí)模式目標(biāo)清晰,以任務(wù)為驅(qū)動,每學(xué)習(xí)一個知識解決一個問題直接反饋獲得成就感。
(4)以下分享我的課程設(shè)計教學(xué)流程希望能幫助到前行的培養(yǎng):
引導(dǎo)
案例展示
分解任務(wù)
分析任務(wù)
進(jìn)行
遇到問題
嘗試
驗證
學(xué)習(xí)
嘗試
驗證
學(xué)習(xí)
解決問題
歸納知識(掌握)
組合任務(wù)
完成項目
創(chuàng)意發(fā)散
表達(dá)分享
五、學(xué)少兒編程有哪些好處呢?
學(xué)習(xí)編程對孩子的幫助很大,可以歸納為以下10點(diǎn):
(1)強(qiáng)化孩子的邏輯思維能力。
編寫程序最重要的是如何把大問題不斷分割成小問題。
如同計算這個加法題9+8+7+4+5+9=?,如果你不能看一眼就得到答案,那么你應(yīng)該將它拆解成9+8,+7,+4,+5,+9,5個加法題一個個的解決。
編程中孩子要思考如何把代碼合理地安排在整個程序中,讓程序流暢地處理輸入、演算、輸出,這個過程對孩子分析事物的邏輯性有極大的幫助。
(2)培養(yǎng)孩子的專注力和細(xì)心度。
修改Bug是每一個編寫程序人的必經(jīng)之事,無論是大人還是小孩都不例外。有時候只是少打了一個字母或在某一行末尾少了一個分號,就會造成程序大亂,更別說邏輯分析問題上忽略的某種狀況和陷阱。所以,在編寫程序的過程中,排錯是無法敷衍了事的,這個過程能有效改正孩子馬虎行事的毛病,避免當(dāng)個“差不多”先生。
(3)提高孩子的耐心。
當(dāng)父母的一定遇到過這種情況,帶孩子去吃飯,孩子怎么也坐不住,總是跑來跑去,到處吵鬧玩耍。這時,有的人會拿出手機(jī)當(dāng)作游戲機(jī),孩子的注意力瞬間就會被拉回來,開始安靜地坐在位置上玩耍。以游戲項目作為課程就是運(yùn)用這種特性,讓孩子在游戲中學(xué)習(xí),寓教于樂。但是編寫游戲和玩游戲的很大區(qū)別在于編寫游戲可以很好的鍛煉孩子延遲滿足感的能力,提高耐心,從編寫游戲,到玩游戲,是需要經(jīng)歷一個比較長的過程。同時編寫游戲的小朋友,會在游戲過程中融入更多的思考,游戲視角會有明顯變化。
(4)增加孩子的抽象思考能力。
其實(shí)學(xué)習(xí)編程就像學(xué)習(xí)外語一樣。如果說學(xué)外語是為了跟外國人溝通,學(xué)習(xí)程序就是為了跟計算機(jī)溝通。更有趣的是,你碰到外國人不會說外語還可以用手比劃,跟電腦可不行。這意味著孩子在學(xué)習(xí)的過程中需要一種化具體為抽象的能力,讓程序能夠按照孩子想象的方式運(yùn)行,這是集思廣益的過程。讓孩子發(fā)揮無限想象并動手實(shí)踐,讓不懂得思考的電腦也能了解與表達(dá)抽象的事物。
(5)提升孩子整理信息、融會貫通的能力。
程序是一堆電腦指令的組合,好比上小學(xué)時我們查字典學(xué)漢字、學(xué)成語,之后學(xué)習(xí)如何利用習(xí)得的漢字、成語組成句子,進(jìn)而撰寫文章一樣。程序中的基本指令就像是漢字,寫成可重復(fù)利用的方法或?qū)ο缶拖袷浅烧Z。最終要完成項目,就必須融會貫通、學(xué)以致用,確保程序在執(zhí)行中不會出現(xiàn)不可預(yù)期的錯誤。
(6)提升孩子國際性的溝通能力和競爭力。
顯而易見,現(xiàn)在哪一個行業(yè)可以不用電腦?如同先前提過的,編程語言已然成為一種重要的溝通工具,不但可以跟電腦溝通,還可以跟所有運(yùn)用電腦的人溝通。孩子在幼時接觸的環(huán)境往往跟以后的發(fā)展有極大的關(guān)聯(lián)性,如果不想跟世界脫軌,那么盡早讓他們了解程序或編程是怎么一回事,這將會是他們面對國際和未來競爭的核心能力。
(7)讓孩子團(tuán)隊合作和共同學(xué)習(xí)。
在適當(dāng)?shù)慕虒W(xué)課程設(shè)計下,學(xué)寫程序就像玩游戲闖關(guān)一樣,同學(xué)彼此討論破關(guān)攻略。結(jié)對編程,你不會,我教你;我卡關(guān),你幫忙;我設(shè)計,你闖關(guān)。同時,在互動中增進(jìn)情誼,學(xué)習(xí)如何利用團(tuán)隊的力量解決問題。比起老師在講臺上單方面的講課,同學(xué)之間的探討更容易提高學(xué)習(xí)效率。
(8)訓(xùn)練孩子的空間思考能力。
在編程中控制游戲人物的過程是訓(xùn)練空間思考能力的一個很棒的方式。仿佛孩子自己在高低起伏中身陷迷宮,在闖關(guān)角色中置身于編程世界,在游戲中學(xué)習(xí),明白方向感和立體的空間架構(gòu)。
(9)增進(jìn)孩子解決問題的能力。
面對一道道關(guān)卡的挑戰(zhàn),孩子會不斷思考如何利用學(xué)到的知識、程序達(dá)到闖關(guān)的目的。一旦養(yǎng)成這樣的習(xí)慣,在碰到生活中或其他課業(yè)問題時,自然也會試著自己解決。父母只要給予適當(dāng)?shù)墓ぞ吆吞崾荆尯⒆幼约簞邮?、動腦去完成。
(10)Learn to code,code to learn。
學(xué)習(xí)編程,訓(xùn)練編程的思考方式(Computational Thinking),如同學(xué)習(xí)閱讀一樣,在知識爆炸的時代,這是一種基本的能力。從小我們學(xué)習(xí)怎么閱讀,并用閱讀學(xué)習(xí)更多知識;而從小學(xué)習(xí)怎么寫程序、控制電腦,了解的是一種新的學(xué)習(xí)方式,并且在學(xué)習(xí)寫程序的過程中,刺激孩子的學(xué)習(xí)積極性。父母再也不用逼著孩子學(xué)習(xí)數(shù)學(xué),因為當(dāng)他要完成按鈕、人物、得分、方向的同時必然需要用到許多數(shù)學(xué)的技巧,讓孩子在編程的同時自主學(xué)習(xí)。另外,還可以提高孩子的英文能力,編程讓接觸英文成為自然而然的事情。其他的科目(如音樂、藝術(shù)、文學(xué)等)一樣可以運(yùn)用在編程的過程中,也就是我們所說的code to learn。