写在前面
不用奇怪,给“孩子”两个字打引号是因为我还没有孩子。本打算等有了孩子,等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可以和硬件结合做一些很酷的东西,我想这对爱玩的小孩子来说是很有诱惑力的,这里我不多介绍,保持神秘,以后会和大家介绍我怎么玩的。希望大家的小孩喜欢上编程。
转载请注明:来自微信公众号“君君玩科技”。