原作者:Linda Liukas
内容来源:
http://www.ted.com/talks/linda_liukas_a_delightful_way_to_teach_kids_about_computers?language=en
翻译:Godsdog
译文仅供个人学习,不用于任何形式商业目的,转载请注明原作者、内容来源、翻译作者及简书链接,版权归原文作者所有。
代码将是下一代世界通用语言。在70年代,朋克引领了整整一代人;80年代,大概是钱引领了一切。但是对我这一代的人而言,软件是我们的想象力、我们整个世界的接口。这也就意味着我们需要一些列足够多样化的人来创造这些产品,这些人不应该将计算机当做机械的、孤单的、无聊的或是像变戏法似的东西,而是可以让他们来好好捣鼓,好好钻研的玩意儿。
我自己是在14岁的年纪就接触到了编程技术的世界。我在青春期一直疯狂的迷恋一位长者,而这位长者恰巧在后来成为了美国副总统,也就是 Al Gore 先生。然后我做了任何一个青春期女孩都会做的事情,我希望将对他的爱慕之情表达出来,于是我为他创建了一个网站,在这儿。在2001年,没有 Tumblr,没有 Facebook,也没有 Pinterest,所以为了表示所有的敬仰和爱慕之情,我必须学着写代码。
这就是我如何开始编程的,作为一种自我表达的方式而开始。正如我很小的时候,会使用蜡笔和乐高来表达;当我年龄大一些了,我就学习吉他和表演戏剧来表达。紧接着,就出现了其他让我感兴趣的事情,比如诗歌,比如织袜子,比如列举法语里的不规则动词,比如想象各种虚幻的世界,比如 Bertrand Russell 和他的哲学。然后我就开始成为了那种认为计算机无聊、机械化而且孤独的人。
然而在我今天看来,小姑娘们不知道她们被认为不应该喜欢计算机,小姑娘们很神奇,她们非常非常擅长于集中注意力在某些事情上,而且会各种提问,问“这是什么?”“为什么?”“怎么才能?”“如果?”这样的问题。她们不知道她们被认为不应该喜欢计算机!是她们的父母这样认为的!是像我们这样的父母认为计算机科学是苦涩难懂的,是只属于神秘制造者的诡异的科学定律,就像现在核物理那样从我们日常生活中被移除掉了。
有一部分他们是对的,编程中确实存在很多计算机语法、控制逻辑、数据结构、算法,还有各种协议和范例等等。然后我们作为一个社会性群体,我们让计算机变得越来越小,越来越简单。我们抽象出人与机器之间一层又一层的概念和方法,以便于让我们不需要理解计算机的工作原理甚至不需要跟计算机交流。与此同时,我们教导我们的孩子人类的身体是如何工作的,我们教导他们发动机是如何工作的,我们还告诉他们如果你想成为一名宇航员你就一定能行的。但是突然孩子问我们,“那么,什么是冒泡排序算法啊?”或者,“计算机是怎么知道将要发生的事情的?比如当我按下‘播放’按钮的时候,它怎么知道应该哪一个视频呢?”再或者,“Linda,互联网是一个地方的名字吗?”接着,我们大人就会尴尬的静下来。“这是魔法”,我们之中有些人会这么回答。另一部分会说,“很难跟你解释,这太复杂了。”
然而,不是这样的,计算机既不是魔法也不复杂,只是它运转的非常非常快而已。计算机科学家们建造了这些令人惊奇的、漂亮的机器,但我们感到很陌生,同样的,我们对与计算机交流的语言也感到陌生,所以没有那些优质的交互界面,我们便不知如何与计算机交流。
这也是为什么没有人意识到当我在列举法语里面的不规则动词时,实际上我在锻炼我的模式识别技能;而当我对编织感兴趣时,我实际上在遵循一系列象征性的指令,包括循环这样的结构;Bertrand Russell 毕生追求找到一种连接英语和数学的语言,结果发现它的根源就是来自计算机。我曾经是一名程序员,但没有人知道。
如今的孩子们,他们通过轻敲、滑动、点击的方式来认知这个世界。但除非我们给他们用计算机来创建工具,否则我们只是在培养消费者而不是创造者。
我所追寻的一切带领着我找到这个小女孩,她的名字叫 Ruby,今年6岁了。她完全无所畏惧,充满想象力甚至有那么一点爱发号施令。每当我自学编程遇到问题时,比如,“什么是面向对象的设计?什么是垃圾回收机制?”我都会努力想象着要是一个只有6岁的小女孩,她会怎么解释这些问题。
我写了一本关于她的书,并且给她添加附图,Ruby 教会了我很多东西。她教会我不应该害怕自己床底下的虫子;她教会我即使是最大最困难的问题也只是一系列小的简单的问题组成而已;Ruby 还把我介绍给了她的朋友们,网络文化多姿多彩的一面。她有很多朋友,像 Snow Leopard,一个很漂亮但是不太愿意跟其他小伙伴一起玩耍的孩子。还有 Green Robots,他们非常友好,也经常乱糟糟的。还有名字叫 Linux 的企鹅,它工作的效率极其高,就是有点难懂。还有空想主义的狐狸们等等。
在 Ruby 的世界里,你一边玩就能一边学习技术。举个例子,计算机很擅于重复事物,所以 Ruby 会这么来教循环结构。这是 Ruby 最喜欢的舞步,“拍,拍,踩,踩,拍,拍,跳!”,然后你通过计数器了解到这个循环重复了4次;当我一条腿站着重复着上面的序列时,你意识到这是一个循环;你意识到这个循环序列的动作将会一直重复直到你妈妈快被逼疯了。于是我们意识到永远没有现成的答案。
当我为 Ruby 的世界准备课程时,我需要真正的询问孩子们他们如何理解这个世界,他们有什么问题,然后我会举办一些测试会议。我会给孩子们展示这四张图片,一张汽车的图片,一张视频杂货店,一只狗和一间厕所。然后我会问到:“你认为这里面哪一个是一个计算机?”,孩子通常会比较保守的说“这里面没有一个是计算机,我知道计算机是什么样子的:它是一个会发光的箱子,爸爸妈妈整天会花大量的时间在它前面”。但我们会发现,实际上一辆汽车是一台计算机,它有导航系统在里面;一只狗,可能它不能算是一台计算机,但它的项圈里面可能会有一个计算机在里面;而杂货店,它里面有很多不同类型的计算机,像收银系统和防盗警报。孩子们,你们知道吗?在日本,厕所也是计算机,还曾经有黑客入侵过这些厕所。
然后我把这些印有开关按钮的小贴纸给孩子们,并告诉他们,“今天你们都拥有了把这间房子里的东西变成计算机的神奇能力”。再一次,孩子们问道“听起来很难啊,我不知道怎么回答。”我会告诉他们,“不用担心,你们的父母也不知道正确答案,他们也才刚听说互联网这个东西。但你们,你们将要生活的世界是一个到处都是计算机的世界。”
接着,一个小姑娘拿着一个自行车的车灯跑过来说,“这个自行车的车灯,如果是一个计算机,就能够变颜色。”我说,“这个想法太棒了,它还能干什么呢?”她想了想,接着说,“如果这个自行车灯是一个计算机,我们可以和我爸爸一起来一趟骑车旅行,我们睡在帐篷里,然后这个车灯就能放映电影!”这正是我在寻找的时刻,一个让孩子们能意识到这个世界还是不完善的时刻,为了让它变得更完美,我们需要建设技术,而我们中的每一个人都可以为之贡献一份力量。
故事的最后,我们真实地组装了一台计算机。而且我们知道了爱发号施令的 CPU 和帮助它记东西的 RAM 和 ROM。在我们组装好计算机后,还未它设计了一款应用。我最喜欢的故事是这个小男孩,他只有6岁而他最喜爱的事情是成为一名宇航员。这个男孩带着巨大的耳麦,他完全沉浸在他的纸质计算机中,他为自己设计了一个星级导航系统。而他的父亲,一个停留在火星轨道上的孤单的宇航员,此时正在房间的另一头,男孩的核心任务就是将他的父亲安全的带回到地球上面。所以这些孩子将会对世界有了完全不同的视野。
最终,我们用科学技术创造的世界越是和蔼可亲、包容的、多元化的,整个世界越会看起来多姿多彩。所以,跟着我一起想象一下那样的一个时刻,我们前面所讲述的世界并不只是包括20多岁的硅谷男生,还包括肯尼亚的女学生,还有挪威的图书管理员。想象一下明天的 Ada Lovelaces,永远生活在一个真实的0和1的世界,他们乐观的成长,他们对科技无所畏惧。他们追求力量,把握机遇,挑战世界的极限,这是一个美好的有那么一点怪异的科技世界。
当我还是一个女孩,我想成为一个讲故事的人。我喜欢童话世界,我喜欢在 Moominvalley 的清晨醒来,下午在 Tatooines 漫步,而晚上在 Narnia 睡去。结果编程变成了对我而言完美的职业,我依然在创造着世界,不过不是用故事,而是靠写代码。
编程赋予我创造属于自己的小宇宙的神奇力量,遵循它的规则,使用它的范例,并加以练习。使用纯粹的逻辑的力量创造无中生有的事物!