任务:向一组六岁的孩子解释你的工作(我自己的女儿也在其中)。
难度等级:高。
关于这个任务/主题,之前网上已有许多人分享了他们对这种“讲座”的想法,你可以在 Stack Overflow 上找到一些非常有趣的例子(例如这里)。其中许多人的想法是关于计算机是多么愚蠢,因为要取得成功,你需要非常准确地告诉它做事的方法和规律。我保证这样很有趣,但我也很怀疑,过后孩子们能对编程有什么了解。
一个成功的演讲在我心里应该是这样的:
我从一个最基本的问题开始,“谁知道程序员是做什么的?”我知道他们昨天讨论过这个问题,所以对他们提出的一些想法,我并不感到惊讶。我给了他们我自己的定义:“程序员是编写计算机程序的人,他们掌握和计算机交流的语言,而且对计算机懂得很多。“
然后我画了一个工作中的程序员。
下一步是讨论计算机。所有的孩子都开始谈论他们父母的笔记本(他们反复提到同样的东西,这样真的很可爱)。讨论了一段时间后,我打断他们并指出,在不同地方还有很多计算机,比如智能手机或手表,还包括汽车和电梯。我把上面提到的每一项都画了出来,并用几个字简单地概述每一种情况下计算机的用途。我还问他们他们如何看待天气预报的工作(这时一个聪明的孩子回答:“卫星知道第二天的天气”),并告诉他们计算机得出的预测,基于上千的测量设备给出的测量结果。
为了转到下一个话题计算机程序,我提到计算机之所以能做很多事,要归功于指导它们做这些事情的程序。
话题随之转向 YouTube,我知道他们很了解它,我从他们熟悉的 UI 开始。
我问他们 YouTube 上有多少部电影。有些人比较困惑,而有些人高喊“数百万”或“无限”。我问所有的电影是否都可以放在一张光盘上。然后我画出许多光盘,问他们“在给 YouTube 下达观看 《粉红猪小妹》某一集的指令后,你了解它是如何找到那个正确的光盘吗?”他们以沉默回应,所以我画了一个数据库,并快速描述了它的作用。
我想让他们知道,他们所看到的只是冰山一角,而程序员们还有很多要做的。我解释了我们必须如何处理以下各种事情:
来源: http://blog.jobbole.com/112375/