寫在前面
不用奇怪,給“孩子”兩個字打引號是因為我還沒有孩子。本打算等有了孩子,等TA長大后再寫一些教TA編程的教程,但是我不想等了。
有些事情就應該從現在就開始做,不是嗎?
為什么我要教孩子編程?
我希望我的孩子以后喜歡上科技,去體會自己創造的樂趣和成就,順便通過這個愛好養活自己。至于TA在學校的考試成績,我只要求對得起當爹的智商。
學習編程還有一個額外的好處,沒有標準答案。任何人都可以充分地自由發揮,很容易就體會到創造的樂趣和成就感。
作為正在讀計算機博士的我,看到了越來越多的行業需要編程能力:高校做科研需要編程處理數據,尤其是大數據;智能機器人,無人駕駛汽車都需要人工智能的基礎,而理解人工智能必須編程寫模型;編寫一個有趣有用的安卓蘋果app離不開寫程序;設計智能家居不僅需要了解諸如控制板,傳感器等硬件知識,還需要有控制這些硬件的編程能力......
可是教編程這種事情,總要不能只有老師,還要有一個學生才行,于是我想到了我的“女兒”。
可是問題來了,她的思維是完全感性的:高中學的文科,本科碩士都是在外語系學習,工作上也不需要編程,她對編程也無感。雖然她小時候學過用basic編寫歌曲,但她說她迄今記得的也是歌曲的調子,而不是basic指令。要教她學會編程,這難度。。。李白在千年前已經替我抒發過:
**之難,難于上青天。
然后就是選編程語言。如果我一上來就教她c++,c#,java之類的,光是記住那些函數名就輕輕松松把她嚇跑。一定要由淺入深,讓她覺得so easy,培養起自信以后,對學習自然就有了興趣,這樣她才有自學的動力。我一直覺得,大腦的獎賞機制是最好的學習動力。精挑細選,我發現scratch是一個非常不錯的入門選擇。
我們之間還有一個額外的困難:距離。她在北京,我在香港,相距2000多公里。異地兩年來,每天只能通過微信交流。
盡管有這么多困難,我還是想試一下,說不定就讓她喜歡上了呢。
很多事的轉機就在于嘗試改變。
正式開始第1小時
有一天晚上例行視頻,我們聊到了諸如“等孩子3歲就教TA幫我做科研"的話題。我突然問她,“你想不想在24小時內成為編程高手?”
她一臉懵比,“我干嘛要學編程?!有你就可以啦!再說怎么可能24小時就學會呢?!”
看來成為高手吸引不了她,還可能給自己帶來隱患。于是我換個思路“勾引”她,“那你想不想一個小時就學會做動畫片,做游戲,做MV啊?”
她的表情立刻變成震驚,“這么簡單?!”
見她快上鉤了,我繼續勾引,“而且你可以把自己的創意加進去,你有權利把自己設計成主角,按照自己的想法。。。”
她表現出了興趣,問我,“我是不是可以設計一款游戲,讓你往東你絕不敢往西啊?”看來控制欲這東西不只是男人有,我不敢想象結婚以后的生活。。。
我說,“這很簡單啊,有一個編程語言叫Scratch...”
我還沒說完,她就打斷我,“什么起?怎么拼寫?”
我知道她又開始糾正我的英語單詞發音了,糾正了5分鐘。
我把話題又往編程上轉,“剛才你說的很容易實現,只要用Scratch,一分鐘你就學會怎么做了,現在你打開一個新網頁Scratch,看到什么了?”
她看到的應該是:
我繼續告訴她,“點擊左上角的create按鈕。” 她看到的是:
如果想看中文的畫面,只需要點擊左上角那個地球圖標,就是這個
然后選擇“簡體中文”。
然后她應該會看到下面這樣的畫面。
然后我就告訴她,“把里面的小貓當成我,我教你怎么讓我往東,你放心,我絕不會往西的。”
她哈哈地笑出聲來,就繼續等我的指示了。
我繼續告訴她,盡量慢點說,希望她能理解我的話,“用鼠標左鍵點擊角色板塊里的小貓。”
“然后看角色板塊右側的指令板塊和一大片空白。看到了吧?”
她回復我,“看到啦,這片空白是什么鬼?”
“那是你可以寫程序指令的地方,你不需要記得這些,因為你看到這些指令就知道怎么用,也不用擔心邏輯錯誤,因為scratch已經自動幫你避免了那些。”
“哦~”她開始犯白癡狀,“那你快點告訴我怎么讓你往東吧。”
我繼續教她,“你看這一長列,這里是指令集。你按照我說的做,準備好,要開始了。”
“你先點擊那個‘事件’按鈕,點擊那個‘當綠旗被點擊’的按鈕,按住不放,拖到右側的空白區域。”
她照做了,這時空白區域應該是這樣的。
“然后你點擊那個藍色的‘動作’按鈕,點擊那個‘移動10步’按鈕,拖到右側的空白區域,放到‘當綠旗被點擊’按鈕下面,它倆會鑲在一起,像兩個好基友。”
她噗嗤一笑,真的跟我女兒一樣。她說,“弄好啦!”
“為了讓我移動地明顯一點,你把那個‘10’改成‘100’吧。然后你點擊這兩個按鈕,看看發生了什么?”
“它,哦不,你真的往東了耶!”她開心滴大喊,“成功了!”
沒錯的話,她應該會看到這樣的變化:
她繼續興奮著,“好神奇,沒想到編程這么簡單!”
我趁機引導她,“那你想不想看看scratch還能做些什么啊?”
得到她肯定的答復后,我就告訴她,“你點擊左上角的scratch按鈕,回到首頁,那里有別人用scratch做的視頻,游戲,音樂等等哦。”
她瞪大了眼睛,看向電腦屏幕,好像產生了興趣,我便問她,“想不想加入scratch大家庭啊?”
她立刻回答,“想啊想啊。”
于是我告訴她點擊“join scratch”按鈕,在里面創建自己的個人檔案。接著她就創建自己的檔案去了,不知道在干什么。
我還提示她,“首頁最上面有一個discuss按鈕,你可以在里面看到世界各地的人發的帖子,并且和他們討論哦。”
“如果不想看英文,你可以選擇不同語言的論壇。”
“你可以選擇中文,就會看到這樣的畫面。”
以下是我的個人檔案,放在這里做個參考。
她弄好個人文檔,問我,“下次我們學什么啊?”
我告訴她,“下次我要教你認識各個指令集模塊,并且讓你用scratch寫出你的第一個項目。不用擔心,很簡單的。”
她滿意地笑笑,接著我們就聊別的去了。
第1小時就這樣結束了,我覺得我成功地讓“孩子”,也就是我的女友喜歡上了編程。她已經表達了想跟我上第二次課的興趣。大家如果有興趣,可以去查查scratch的歷史,我就不在這里介紹了。還有,Scratch可以和硬件結合做一些很酷的東西,我想這對愛玩的小孩子來說是很有誘惑力的,這里我不多介紹,保持神秘,以后會和大家介紹我怎么玩的。希望大家的小孩喜歡上編程。
轉載請注明:來自微信公眾號“君君玩科技”。