幼儿园职业生涯日: 如何在20分钟内演示编程?

原始问题

我被邀请参加大女儿的幼儿园小组,讨论和回答孩子们关于我的职业的问题。这个小组里有26个4-6岁的孩子,还有3个老师,他们对任何与编程和 IT 有关的东西都相当害怕,但是他们有足够的勇气去学习新的技巧。我大约有20-30分钟,没有投影仪或任何东西。不过他们有一台旧电脑,看起来可能是一台486,我甚至不确定它是否能正常工作(更新: 它不能正常工作)。

我的研究发现了很多优秀的早期线索,其中包括很多好的建议:

我的情况和上面的每一个都不一样: 后者是关于大一点的孩子,而第一个是关于和一个孩子(或者大一点的人)交谈 & mash; 一个20人的小组是一个不同的 完整的挑战。

我怎样才能以一种有趣的方式教孩子和他们的老师编程呢?


基于答案的计划

伙计们,谢谢你们给出的所有令人惊讶的答案: ——我不认为接受一个单一的答案是有意义的,但我最喜欢吉姆的答案,就像大多数 SOER 显然做的那样。然而,许多其他的答案包含有用的提示和想法(其中一些我一定会用在未来的职业生涯日在学校...)。

我制定了一个粗略的计划:

  1. 简要解释什么是编程,比如 在这个答案中
  2. 告诉孩子们计算机无处不在,并和孩子们一起收集例子(如下面几个答案所示)。
  3. 吉姆关于三明治的报告
  4. 如果时间允许,进一步建设:
    • 解释说,计算机的优势在于它们记住了曾经教过的 没错(并通过准备第二个三明治来演示它,重复第一次尝试的所有错误)
    • 第二轮试图修复过程中的错误
    • 解释循环的概念: 你可以用一条指令让计算机准备 n三明治

这是我的计划-我非常肯定它将结果非常不同,所以我会根据情况即兴发挥。演讲安排在大约两个星期的时间-我会更新后的职位,并告诉它实际上如何去..。


结果

终于,今天演讲的日子到来了... ... 简而言之,一切都很顺利,并取得了巨大的成功: -)

这一次,这群人显得相当焦躁不安,精力充沛,所以谈话偶尔会有点混乱。我不得不缩短时间,赶去参加“大三明治制作者秀”。正如吉姆所描述的,孩子们 被爱过它。

但是有一个意想不到的副作用: 在第一片面包终于准备好之后,所有人想吃!因此,有一段时间——在这段时间里,我试图保持对话,并解释更多关于编程的内容——我们不得不与幼儿园老师安装一种紧急服务线,以生产大量的果酱面包,并为饥饿的人群提供食物(这是早餐后半小时,记录在案:)。然后我们的面包吃完了,这显然意味着演讲的结束。最大的笑声爆发后,清理混乱,孩子们注意到,可怜的电脑上的一块果酱,破坏了他的袜子: -)

老师们自己也留下了非常积极的印象——从反馈来看,这是这个小组到目前为止最好和最有趣的职业生涯日。再次感谢你们所有人的伟大想法!

可以改进的地方(下次) :

  • 当我问“你认为计算机是智能的吗?”令我惊讶的是,他们中的大多数人回答“不”。然后我问谁认为计算机是智能的,为什么。然而,我忽略了谁认为计算机是愚蠢的,以及为什么-因此,我认为我错过了一些潜在的有趣的答案。
  • 邀请孩子们围坐在桌子旁边,让他们积极参与... ... 但有时可能有点太积极了。面包片开始从桌子上消失,一些观众模仿计算机,就像用手指蘸黄油和果酱一样: 所以最好保持一定的距离。
  • 为了控制饥饿的人群,孩子们应该事先被明确告知: “你可以吃所有的面包,但只有 之后的示范!”

但总的来说,我对这个结果很满意,我相信孩子们已经得到了核心信息: 作为一个程序员,如果你避免制造混乱,你可以使你的面包(即使与果酱: -)

26997 次浏览

为了让孩子们开始编程,你开着你的劳斯莱斯去幼儿园,和你美丽的另一半一起走进去。

如果你不是比尔 · 盖茨,那么你只需要解释你每天坐在无聊的会议上4个小时,打印2个小时的 TPS 报告封面,然后在其他6个小时里盯着之前那些愚蠢的程序员写的愚蠢的东西。(不需要提到,然后你从维护你的最后一个程序的人和谁认为你是前面的无知的家伙的现场呼叫)。

不,我没有,为什么这么问?

说真的,(我确信我是下意识地抄袭了这三个线程中的一个) ,让他们玩“给我怎么做 Y 的指令”,你用精灵的方式做事情——除非指令非常精确和清晰,否则一切都是错误的。实际上提到精灵是一个很好的例子,假设孩子们看到了阿拉丁。

;^)

不要在电脑上给他们看任何东西。看别人打字对成年人来说很无聊。对于5岁的孩子来说,这是无政府状态的秘诀。

取而代之的是,让它具有交互性。某种形式的“西蒙说”,但有他们 做程序员

做一个动觉版的 Logo 怎么样?

假设你有两个孩子。他们是否能够仅仅使用“前进”、“后退”、“左转90度”和“右转90度”这样的命令来找到交换位置的方法?我肯定还有其他的游戏,比如穿过迷宫等等。

我觉得如果你能让他们动起来,就能吸引他们的注意力。这会引起人们的兴趣。他们以后会发现这份工作是久坐不动的。;)

向他们推销无人值守自动化的价值。让一个孩子走到教室的前面,向全班展示他每天晚上刷牙的时候都在做什么。然后让那个孩子告诉你,如果他不用刷牙的话他会在那段时间做什么。

然后告诉那个孩子,你知道如何在他做他更想做的事情的时候,用牙刷刷他的牙齿,然后告诉他,他永远都不会感觉到。下次他妈妈去检查他的牙齿时,他的牙齿会神奇地干净。

然后在黑板上写一些伪代码,显示 Brush API 访问 Favorite 活动后面的后台线程中的 Tooth 资源。

借用其他已经发布的想法,西蒙说的游戏可能是一种方式去。然而,你可以强调计算机将如何完全做你告诉他们做什么。所以,如果孩子们是西蒙,他们说,“西蒙说坐下。”然后你就坐在地板上(而不是坐在旁边的椅子上)。按照字面上的指示去做,而不是按照精神去做。(当然,让孩子们给出模棱两可的指示可能有点棘手,但我相信你能想出办法来。)

除此之外,你还可以谈论电子游戏或其他电脑“东西”,孩子们可能已经使用,你可以说,程序员,像你一样,创造这些。然后跳进“西蒙说”里展示它是如何工作的。当然,这可能会导致一群孩子在成长过程中认为你整天都在工作中用电脑玩“西蒙说”游戏。

我有时把我的工作看作是玩乐高积木。你从一组不同大小、形状和颜色的砖块开始,然后你建造更大的东西。你可以用同样的砖块建造城堡或者星球大战机器人。

而且,乐趣也差不多!

编程的一个主要好处是能够使用 创造事物。让梦想成真。我不认为这会吸引很多小孩谁没有问题,让他们的想象力自由无论如何。计算机带来了什么?

相反,你可能会让他们对解决问题,解谜感兴趣。编程所需要的那种思维。我可能根本不会用电脑,而是让他们解决一个有趣的数学谜题。这不一定很难,但是 应该涉及到创造性思维。

给每个孩子一个剪出来的形状; 圆形,正方形,三角形,不同的颜色等等。解释编程是如何按特定顺序给出指令的。举起一张笑脸的图片,教孩子们如何构建笑脸。黄圈,黑点,黑点,弧。然后展示一个更复杂的图片,让孩子们按照你的指示按顺序上来。你甚至可以犯一个错误(比如把黄色的圆圈放在黑点上)来展示‘ Bugs’是如何潜入程序的。

我认为你可以在20分钟内完成下面的演示。也许它更适合大一点的孩子。我真的不知道幼儿园的孩子能做些什么。我个人会避免尝试解释编程,而是描述一个我们作为程序员要解决的问题。例如,如果有足够的儿童,您可以交互式地向他们演示 Internet。

第一部分: 如何运作

首先向他们描述,最好是用道具,互联网是如何工作的。把笔记本电脑用电缆连接到家庭路由器(视觉效果)。告诉计算机程序员如何制造各种设备,包括笔记本电脑上的程序,路由器上的程序,以及连接到互联网的其他设备上的应用程序,如手机。

解释为什么计算机之间没有直接连接,因为不可能把世界上每台计算机的电缆连接到每台计算机上。你的房子里需要十亿根电缆。所以取而代之的是,计算机连接到路由器。路由器将数据包(例如电子邮件、图片或视频)发送给其他路由器,直到最终到达另一台计算机。

描述一台计算机与另一台计算机交谈的规则:

  1. 计算机只能给它的路由器一个数据包。

  2. 路由器可以将数据包发送给连接到它的计算机,或者发送给最近的路由器。

这个解释应该非常简短,但要强调规则。您可能应该将数据包等同于电子邮件或图片。

第二部分: 互动时间

然后让3个孩子自愿成为路由器。其他人都是电脑,平均分配。如果他们能拿到彩色的卡片就好了。就像拿着深蓝色卡片的人是路由器,可以和所有拿着浅蓝色卡片的人交谈。假设你发出了蓝色、红色和黄色的卡片。

把“路由器”排成一行,蓝色,然后红色,然后黄色。蓝色的路由器必须给红色的路由器一个数据包,然后再给黄色的路由器一个数据包。把其他孩子分组到他们的路由器周围。

给每个孩子带上“包裹”。把它和照片,字母,井字游戏打印出来,象征游戏,或者其他什么东西混在一起。首先将一台红色计算机发送到一台黄色计算机。

艾希礼,选一台黄色的电脑发送你的照片。好的,要把照片发给 Brian 你必须把它发给你的路由器 Kelly。告诉 Kelley 谁该拍照。Kelley 你是蓝色的,所以你不能把照片给 Brian。你得把它给蒂米。告诉提米谁该拍照。蒂米是红色的,所以他不能给布莱恩。他必须把它给 Renee。蕾妮,你可以把照片给布莱恩,因为他是一台黄色的电脑,而你是黄色的路由器。”

然后让每个人想一个人发送他们的“包”,并观看你的即兴网络行动。

第三部分: 回到计算机编程

最后,询问路由器是否容易成为一个路由器,还是很难,因为有很多人试图在同一时间给你的图片。指出哪里出了问题,并把它与我们解决的实际问题联系起来。

“我可以看出蒂米的数据包超载了,因为每个人都必须通过他发送数据包。作为计算机程序员,我们每天都要解决这样的问题。解决这个问题的一个办法就是给蒂米四条胳膊。或者也可以添加另一个路由器,这样如果蒂米有太多的数据包需要传输,你可以把数据包交给另一个路由器。”或者“也许我们希望图片传输速度更快,这样我们就可以要求路由器在传输任何其他数据包之前先传输图片。”

我想我会先花2-3分钟谈谈电脑,然后他们会按照指示做事。

然后,我会用一个预制的乐高头脑风暴机器人进行演示,并对它进行几次编程,然后运行它,只是为了让他们知道它遵循程序。Mindstorm 编程非常直观,并且易于掌握。

最后我想解释的是,几乎到处都有电脑在运行程序,甚至在红绿灯、微波炉和它们最喜欢的玩具中也是如此。

谈谈计算机编程是多么普及——它指导航空公司、电话、汽车、你如何在线购买机票等等。

然后教他们写一个简单的程序符号- 在黑板上画一个网格。
2. 在一端画奶酪,在另一端画老鼠。 3. 让他们给老鼠“编程”,让它们得到奶酪!

带他们走过失败的尝试作为一个类,也许有老鼠陷入陷阱或在网格中的东西。他们会很兴奋的。

让他们为你编写一些简单的程序(比如进入房间坐下) ,然后逐字逐句地执行它们来演示“ bug”——它们不够具体或者没有考虑到某些事情,这样你就会做错事情。尽量不要在这个过程中伤到自己。它应该是有趣的,并会让他们对什么是算法有一个非常好的想法。

我以前也这么干过。

我在桌子上放了很多纸巾,拿出一条(便宜的)面包、一小桶黄油、一小罐果冻和一把塑料黄油刀。

我对孩子们说: “你们中有多少人认为计算机是智能的?”大多数人举起了手。我说“电脑真的很蠢”。人们都很聪明。你必须告诉计算机 一切。它不知道如何做 什么都行。我来告诉你我的意思。我要假装自己像电脑一样笨,你们来教我怎么做三明治。”

当第一个孩子说“打开面包袋!”我把袋子撕开,让面包随意地落在桌子上。笑声真多。我继续照字面意思理解孩子们的话,直到他们学会发出简短、具体的命令,最后我们吃了一个黄油果冻三明治。大家都笑了起来,但是他们最终还是理解了,至少是一点点,程序员的工作是什么。

(我应该注意到,我还在“编程入门”课上对成年人做过这个演示,他们也能很好地使用。)

我从没试过这个,但可能会很有趣。

通过使用每个孩子 作为输入数据的一些属性来实际演示一个算法。

例如,让它们并排排成一条直线(不管它们最初的顺序是什么)。这种方法在半圆中可能更有效,这样他们就可以看到对方在做这个练习,但是在线的某个地方必须有一个中断。然后,从队伍的一端开始,让他们轮流做“如果你左边的同学比你高,交换位置; 否则,原地不动。”游戏结束时,你通过线,没有人交换位置。让他们观察结果。(提示: 冒泡排序!)

如何教孩子什么是编程?
好吧,第一步很可能会牵扯到一些奶牛!
下载一个简单的编程游戏(如 IQ 马拉松)到笔记本电脑上,并将其连接到投影仪。当你这样做的时候,你可以谈谈作为一个程序员通常意味着如何使用最新的技术(从而给出你这样做的演示)。

一旦你设置好了(练习一下,这样你就可以在5分钟或更少的时间内完成) ,你就可以使用游戏来非常直观地显示(和牛一起!)计算机如何只做你告诉它做的,以及你(程序员)如何必须弄清楚什么指令是必要的,使它做你想要的。当你做对的时候,每个人都为你的成功感到高兴,甚至有跳舞的奶牛!
从那里你可以回答任何问题,或者也许只是让孩子们试图弄清楚如何编程奶牛自己。他们想去哪就去哪,真的。

母牛!

演示一个简单的乐高风暴机器人及其相应的流程图。你不必显示任何代码,他们可以看到你的逻辑的最终结果,通过观看乐高执行你的程序。

孩子们喜欢“做点什么”和闪烁的灯光。

为了庆祝我儿子的生日,我做了一个保险箱(装有电子锁和许多发光二极管的盒子) ,这个保险箱与电脑相连。

他们有一些问题需要回答,每个回答都会导致闪烁的指示灯(绿色代表好的答案,红色代表错误的答案)。如果他们回答了足够多的问题,发光二极管开始了一个简单的动画,结束了一个响亮的“当当”。保险箱现在打开了,他们可以领取奖励了。

建造起来很有趣,孩子们也很喜欢。

当我试图在短时间内向不熟悉编程的人解释编程时,我会用乐高积木来解释。有了乐高,你就有了一堆简单的零件,这就像是编程语言。然后你可以随心所欲地把它们拼凑在一起,只要你有正确的零件,就可以做出任何你能想象到的东西。

对于成年人和孩子来说,这可能是一个非常有趣的类比,它仍然展示了编程的概念。

此外,你甚至可以建立一个乐高汽车差,然后也显示一个乐高汽车非常漂亮的设计,并向他们展示编程就是这样。你可以给汽车或者机器人或者任何你能想到的东西编程,但是不仅仅只有一种方法,还有很多种方法。有些比其他的好。

我已经让很多人开始编程,甚至用这个类比换专业。 :)