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

原来的问题

我被邀请到我的大女儿的幼儿园小组来谈论和回答关于我的职业的孩子的问题。 这个小组有26个4-6岁的孩子,还有3个老师对程序devise和IT本身都非常害怕,但是大胆地学习新的技巧。 我将有大约20-30分钟,没有投影仪或任何东西。 他们有一台旧电脑,看起来可能是486,我甚至不确定它是否在运行(更新:不是)。

我的研究出现了很好的线索,有很多好的提示:

  • 你如何解释你的工作到5岁?
  • 职业日:我如何让“电脑程序员”对8岁的孩子声音冷静?
  • 什么事情我可以教一群孩子在一天的编程?

然而,我的情况与上述不同:后者是关注大一点的孩子,而第一种是和一个孩子(或老人)说话 – 一个20人是一个完全不同的挑战。

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


基于答案的计划

感谢所有惊人的答案,伙计们:-)我不认为接受一个答案是有道理的,但是我最喜欢Jim,正如大多数SOers显然做的那样。 然而,许多其他的答案包含有用的提示和想法(其中一些我肯定会在未来的职业生涯中在学校使用…)。

我把一个粗略的计划放在一起:

  1. 简单地解释一下编程是什么,就像这个答案一样 。
  2. 告诉电脑无处不在,并与孩子们收集例子(如下面几个答案中所build议的)。
  3. 吉姆用三明治做了介绍
  4. 如果时间允许,进一步build设:
    • 解释说,计算机的优势在于,他们确切地记得曾经教过的东西(并且通过准备第二个三明治来重现它,重复第一次尝试的所有错误)
    • 有第二轮试图修复过程中的错误
    • 解释循环的概念:你可以让计算机用一条指令准备n三明治

这是我的计划 – 我很确定它会变得非常不同,所以我会根据情况即兴发挥。 演示文稿预定在大约2周的时间内 – 我将在之后更新post,并告诉它如何实际上…


结果

最后,演讲的当天到了今天……简而言之,一切顺利,这是一个巨大的成功:-)

这一次,这个小组变得十分焦躁不安,所以偶尔有点混乱。 我不得不把它切短,去大三明治制作展。 就像吉姆所描述的,孩子们喜欢它。

但是有一个不可预见的副作用:第一片面包终于准备好了, 大家都想吃! 所以有一段时间 – 我试图跟上谈话,解释更多关于编程的内容 – 我们不得不与幼儿园的老师们一起安装一个紧急服务线,生产大量的果酱面包,喂饱饥饿的人群(这是一半早餐一小时后,logging:-)。 然后我们用完面包,这显然意味着演示的结束。 清理垃圾后,爆发出最大的一阵笑声,孩子们注意到那个可怜的电脑踩了一块毁坏了他的袜子的桔子酱:-)

老师自己也给予了非常积极的印象 – 从反馈来看,这是迄今为止这个组中最好最有趣的职业生涯。 再次感谢你们所有的伟大创意!

事情可以改善(下次):

  • 当我问“你认为电脑是聪明的吗?”时,他们大多回答“不”。 然后我问谁认为电脑是聪明的,为什么。 但是我忽略了问谁认为电脑是愚蠢的,为什么 – 因此我想我错过了一些潜在的有趣的答案。
  • 邀请孩子们来到桌旁,让他们积极参与……但也许有时候太积极了。 面包片开始从桌上消失,一些观众模仿电脑,就像将自己的手指浸入黄油和果酱一样:-)所以最好保持一段距离。
  • 为了让饥饿的人群得到控制,应该事先清楚地告诉孩子:“你可以吃所有的面包,但是只能示范之后!”

但总的来说,我对结果感到非常满意。 我相信孩子们得到了核心的信息: 作为程序员,如果你避免造成混乱,你可以做你的面包(即使与果酱:-)

我以前做过。

我在桌子上放了很多纸巾,拿出一个面包,一小盆黄油,一小jar果冻和一个塑料黄油刀。

我对孩子们说:“你们有多less人认为电脑很聪明?” 他们大多数举手。 我说:“电脑真笨,人聪明,你必须告诉电脑一切 ,不知道怎么做,我会告诉你我的意思,像电脑一样愚蠢,你们告诉我如何做一个三明治。“

而当第一个孩子说“打开面包袋! 我把袋子撕开,让面包随机地落在桌子上。 这得到了很多的笑声。 我继续用他们的话直截了当地听孩子们,直到他们学会了简短而具体的命令,最终我们用黄油和果冻三明治结束了。 有很多的笑声,但他们离开了,至less有一点,程序员为了谋生而做了什么。

(我应该注意到,我也和成年人一起在“程序devise入门”课上做了这个演示,而且和他们一样。)

怎么做一个kinesthetic版本的标志?

假设你有两个孩子并肩。 他们能不能只用命令“前进”,“后退”,“左转90度”和“右转90度” 我相信还有其他的游戏就像迷宫一样

如果你能让他们继续前进,我会认为你会保持注意。 这将激发兴趣。 他们稍后会发现,这项工作是久坐的。 ;)

不要试图在电脑上显示任何东西。 看别人的types对于大人来说是无聊的。 对于5岁的孩子来说,这是无政府状态的秘诀。

相反,让它互动。 一些forms的“西蒙说,”但他们是程序员

我从来没有尝试过,但它可能很有趣。

通过使用每个孩子的某些属性作为input数据,物理地演示一个algorithm。

例如,让他们形成一条线(以最初的顺序)并排排列。 这样做可能会在一个半圈中更好地发挥作用,这样他们就可以看到对方正在做这个练习,但是在某个地方必须有一个突破。 然后,从一端开始,让他们轮stream做“如果你左边的同学比你高,换个地方,否则,留下来”。 游戏结束,当你通过线路,没有人切换的地方。 让他们观察结果。 (提示:冒泡sorting!)

为了让孩子们学习编程,你可以开车到劳斯莱斯的幼儿园,然后走进你的华丽的其他地方。

如果你不是比尔·盖茨,那么你只需要解释一下,你每天坐在无聊的会议上4个小时,为TPS报告打印2个小时的封面,盯着前面的无知的程序员写的愚蠢的东西,另外6个小时。 (不需要提及那些你正在维护你最后一个节目的人,以及你认为你是前面那个无知的人)。

不,我不苦,你为什么要问?

说真的,(我确定我是潜意识地从这三个线索中的一个抄袭下来的),让他们扮演“给我如何做Y的指示”,跟着你做Genie的方式 – 除非指令非常精确,明确。 其实提到精灵就是一个很好的例子,假设孩子们看到阿拉丁。

; ^)

让他们写简短的程序,让你做简单的事情(如进入房间,坐下),然后从字面上执行它们来演示“错误” – 他们没有足够具体或没有考虑到的东西,所以你会做错事。 尽量不要在这个过程中伤害自己。 这应该是有趣的,并会让他们对algorithm是一个很好的主意。

我想你可以在20分钟内做下面的演示。 也许它更适合年龄较大的孩子。 我真的不知道幼儿园老师有什么能力。 我个人会避免试图解释编程,而是描述一个我们作为程序员解决的问题。 例如,如果有足够的孩子,您可以交互式地向他们展示互联网。

第一部分:工作原理

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

解释计算机之间没有直接连接,因为无法将世界上每台计算机的电缆连接到每台计算机上。 你家里需要十亿条电缆。 所以,计算机连接到路由器。 路由器向其他路由器发送数据包(例如,电子邮件,图片或video),直到最后到达另一台计算机。

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

  1. 一台电脑只能给它的路由器一个数据包。

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

这个解释应该很短,但强调规则。 您可能应该用电子邮件或图片等待数据包。

第二部分:交互式时间

然后有3个孩子自愿成为路由器。 其他人都是电脑,把他们分开。 这可以帮助他们拥有彩色卡片。 就像拿着深蓝卡的人一样,路由器可以和所有拿着淡蓝色卡片的人交谈。 假设你发出蓝色,红色和黄色的卡片。

将“路由器”排成一行,蓝色,然后是红色,然后是黄色。 蓝色的路由器将不得不给红色路由器一个数据包给黄色的路由器。 将其他孩子分组在路由器周围。

为每个孩子带来“小包”。 把它与照片,信件,井字游戏的打印出来,来象征一个游戏,或者其他任何东西。 先让一台红色的电脑发送给一台黄色的电脑。

“艾希礼,选一个黄色的电脑,把你的照片发给你,把照片发给布赖恩,你必须把它交给你的路由器,凯利,告诉凯利谁应该得到照片,凯利,你是蓝色的,所以你不能把照片给布赖恩,你必须把它给蒂米,告诉蒂米谁应该得到的照片,蒂米是红色的,所以他不能给布赖恩,他必须把它交给蕾妮。 ,因为他是一个黄色的电脑,你可以把照片给布莱恩,你是黄色的路由器。

然后让每个人都想到一个人把他们的“小包”发送给你,并观看你的即兴networking的行动。

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

总之,问问路由器是否容易成为路由器,或者是因为有很多人试图一次给你的照片。 指出事情出错的地方,并把它解决到我们解决的实际问题。

“我可以看到Timmy的数据包已经过载了,因为每个人都必须通过他发送数据包,作为计算机程序员,我们必须每天解决这样的问题,我们可以解决的一个办法是给Timmy 4个arm,或者添加另一个路由器,所以如果蒂米有太多的数据包要交付,你可以把它给一个不同的路由器。“ 或者“也许我们希望图片更快地交付,所以我们可以让路由器在发送任何其他数据包之前先传送图片。”

从已经发布的其他想法借用,西蒙说可能是一个游戏的路要走。 然而,你可以强调电脑如何做到你告诉他们做的事。 所以,如果孩子是西蒙,他们说,“西蒙说坐下。” 那么你只是坐在地板上(不是在附近的椅子或任何东西)。 遵守这封信的指示,而不是精神。 (当然,让孩子们给出模棱两可的指示可能会很棘手,但我相信你能想出一些东西。)

除此之外,你还可以谈论电子游戏或其他电脑“孩子们可能用过的东西”,你可以说像你这样的程序员创造了这些东西。 然后也许跳进西蒙说,以显示它是如何工作的。 当然,这可能会导致一群小孩长大,认为你花了整整一天的时间在电脑上玩Simon Says。

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

而且,这是相同的乐趣!

编程的主要特点之一是创造事物的能力。 让梦想成真。 我不认为这会对那些毫无问题的小孩子来说非常有吸引力,让他们的想象力无论如何都是自由的。 电脑带来了什么?

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

当我尝试在不熟悉编程的人员的短时间内解释编程时,我会使用Legos来解释它。 用乐高玩具你有一堆简单的作品,这就像编程语言。 然后,只要你有正确的作品,你可以把它们拼在一起,然后做任何你能想象得到的东西。

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

此外,你甚至可以build立一个乐高汽车糟糕的,然后还显示一个非常好的devise乐高汽车,并告诉他们,编程就是这样。 您可以对汽车或机器人进行编程,或者您可以设想的任何方式,但不仅有一种方法可以实现,还有很多方法可以实现。 一些比别人好。

我已经得到了这么多人开始编程,甚至用这个比喻转换他们的专业。 🙂

我想我会先讲2-3分钟关于电脑的事情,然后按照指示去做。

然后,我会演示一个预制的乐高头脑风暴机器人,并对其进行编程,并运行它,只是为了向他们展示它遵循的程序。 Mindstorms编程非常直观,易于掌握。

最后,我试图解释说,即使在交通信号灯,微波炉和他们最喜欢的玩具中,几乎所有地方都有计算机运行程序。

谈论普及计算机编程是如何 – 它指导航空公司,电话,汽车,如何在网上购买你的票

然后教他们象征性地写一个简单的程序 – 1.在黑板上画一个网格。
2.在一端画乳酪,在另一端画一只老鼠。 3.让他们“编程”得到奶酪!

作为一个class级走过他们失败的尝试,也许有鼠标陷入陷阱或网格中的东西。 他们会感到兴奋的。

如何教孩子们编程是什么?
那么,第一步可能会涉及到一些奶牛!
下载一个简单的编程游戏(如IQ马拉松 )到笔记本电脑上,并挂接到投影机。 当你这样做的时候,你可以谈论一下程序员通常如何使用最新的技术(从而给你一个演示)。

一旦你build立起来了(练习可以在5分钟或更短的时间内完成),你就可以使用游戏在视觉上(和奶牛一样)展示,计算机只是做你所说的,以及你(程序员)如何弄清楚你需要什么指令才能做到。 当你做对了,每个人都为你的成功感到高兴,还有跳舞的牛!
从那里你可以回答任何问题,或者只是让孩子们尝试,并找出如何编写牛自己。 无论他们想去哪里,真的。

牛!

给每个孩子一个剪裁的形状; 圆形,正方形,三angular形,不同的颜色等。解释编程如何以特定顺序给出指令。 拿起一幅笑脸的照片,并通过如何构build它的孩子走路。 黄圈,黑点,黑点,圆弧。 然后展示更复杂的图片,并根据您的指示让孩子们按顺序上来。 你甚至可以犯一个错误(比如把黄色的圆圈放在黑色的圆点上)来显示“虫虫”如何进入程序。

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

孩子们喜欢“做某事”和闪烁的灯光。

对于我的儿子的生日,我做了一个安全的(与电锁和许多LED灯箱),与PC连接。

他们有一些问题需要回答,每个回答都会导致闪烁的LED(绿色表示正确答案,红色表示错误答案)。 如果他们正确回答了足够的问题,LED就开始了一个简单的animation,以一个响亮的“clonk”结束。 保险箱现在开放,他们可以收集他们的奖励。

这是很有趣的build立和孩子们喜欢它。

以无人值守自动化的价值销售它们。 让一个孩子走到房间的前面,每天晚上刷牙时向class上的人展示他做了什么。 然后让那个孩子告诉你,如果他不需要刷牙的话,他会在那段时间做些什么。

然后告诉那个孩子,你知道怎么把这把刷子甩在他的牙齿上,而他正在做另一件他宁愿做的事情,并告诉他,他甚至都不会感觉到。 下次母亲去检查他的牙齿时,他的牙齿会变得很干净。

然后在粉笔板上写一些伪代码,在collections夹活动后面的后台线程中显示刷子API访问牙齿资源。