幼儿园职业日:如何在20分钟内演示编程?[关闭]


187

原始问题

我应邀参加了我大女儿的幼儿园小组,以讨论和回答孩子们关于我的职业的问题。小组中有26位4-6岁的孩子,外加3位老师,他们很害怕与编程和IT相关的事情,但足够敢于学习新技巧。没有投影仪或其他任何东西,我大约需要20-30分钟。他们有一台旧计算机,从外观上看可能是486,而且我什至不确定它是否在运行(更新:不是)。

我的研究发现了出色的早期线程,并提供了许多很好的技巧:

但是,我的情况与上述情况有所不同:后一个问题与大孩子有关,而第一个问题是与一个小孩(或老人)聊天-20人一组是完全不同的挑战。

我如何以一种有趣的方式教孩子们和他们的老师有关编程的知识?


根据答案计划

谢谢大家提供的所有令人惊奇的答案:-)我认为接受一个答案没有任何意义,但是我最喜欢吉姆,就像大多数SOers一样。但是,很多其他答案都包含有用的提示和想法(我一定会在学校将来的职业生涯中使用其中的一些提示和想法...)。

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

  1. 简要解释一下编程是什么,就像这个答案
  2. 告诉计算机无处不在,并与孩子一起收集示例(如以下几个答案所建议)。
  3. 吉姆的三明治介绍
  4. 如果时间允许,请进一步构建它:
    • 解释说,电脑的优势在于,他们还记得正是他们曾经教过的内容(通过准备第二块三明治,重复所有的第一次尝试的故障证明它)
    • 第二轮尝试修复过程中的错误
    • 解释循环的概念:您可以使计算机n仅用一条指令即可准备三明治

这是我的计划-我很确定结果会大不相同,因此我会根据情况即兴创作。演讲安排在大约2周的时间内-我将在之后更新该帖子,并说明它的实际效果...


结果

演讲的那天终于到了今天……总之,一切顺利,并取得了巨大的成功:-)

这次,这个小组变得非常躁动和精力充沛,所以谈话有时变得有些混乱。我不得不缩短时间,参加Big Sandwich Maker Show。正如吉姆所说,孩子们喜欢它。

但是有一个无法预料的副作用:第一片面包终于准备好后,每个人都想吃!因此,有段时间-在此期间,我试图保持对话并详细说明编程-我们不得不与幼儿园的老师们建立一条紧急服务热线,以生产大量的果酱面包并喂饱饥饿的人群(这是一半早餐后一个小时记录下来:-)。然后我们用完了面包,这显然意味着演示的结束。当清理完烂摊子后,孩子们最大的笑声爆发了,孩子们注意到那台可怜的电脑踩在一块果酱上,把袜子弄坏了:-)

老师们也给他们留下了非常积极的印象-从反馈中可以看出,这是迄今为止该小组中最有趣的职业生涯日。再次感谢大家的好主意!

有待改进的地方(下次):

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

但是总的来说,我对结果很满意。而且我敢肯定,孩子们得到的核心信息是:作为一名程序员,如果您避免造成混乱,那么您可以制作面包(甚至配果酱:-)


1
我期待听到进展!
Jim Kiley 2010年

1
从3开始,仅讨论演示!
Gerard '04

4
到底谁能为5岁的孩子提供职业生涯的一天?每个人都知道孩子不会说话,直到至少6或7
男孩先生

4
现在我想做一个职业日,以便像机器人一样做三明治。
glasnt

1
我知道这个问题对于Stack Overflow来说有点离题了,但是它挽救了我的生命!我一直在撞墙,试图找出在职业生涯中如何击败消防员和飞行员。哈!胜利:我。
乔纳森·本

Answers:


277

我以前做过

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

我对孩子们说:“你们中有多少人认为计算机很聪明?” 他们大多数举手。我说:“计算机是非常愚蠢的。人是聪明的。你必须告诉电脑一切,不知道该怎么做任何事情。我要告诉你我的意思。我要假装我”像电脑一样笨,你们告诉我如何做三明治。”

当第一个孩子说“打开面包袋!” 我撕开袋子,让面包随机散落在桌子上。那有很多笑声。我继续按照孩子们的话原谅他们,直到他们学会发出简短的命令,最后我们得到了黄油和果冻三明治。笑声很多,但他们至少了解了程序员以谋生为目的的内容。

(我应该注意,我还在“编程入门”课程中与成人一起进行了此演示,并且与他们同样有效。)


110
当大人很傻并且他们会告诉他们怎么做时,+ 1个孩子会喜欢它:)
克里斯·麦考尔

5
听起来这是一个促进乐趣并让他们通过动手学习的好主意。希望我在幼儿园有这个示范!
彼得

14
这就是过程编程方法。;-)
herzmeister 2010年

10
我曾经与小学生一起参加过类似的演示。当他们忽略提到使用刀子将果冻涂在面包上时,孩子们大笑起来。
jschmier 2010年

6
这是我对任何地方任何问题都看到的最佳答案之一。谢谢。
Mike Dunlavey 2010年

47

做徽标的动感版本会怎样?

假设您有两个孩子并排。他们能否仅使用“前进”,“后退”,“向左旋转90度”和“向右旋转90度”命令找出如何切换位置?我确定还有其他游戏,例如迷宫游戏等等。

我认为,如果您能够让他们继续前进,您会引起他们的注意。这将激发人们的兴趣。稍后他们会发现工作是久坐的。;)


6
“我认为如果你能让他们继续前进,你会引起他们的注意。” 完全同意。
彼得Török

6
让两个孩子站在房间的前面,但是让孩子们坐在椅子上发出命令。站立的孩子在他们的工作中没有发言权-他们必须遵循班级给出的命令(显然,您将以某种方式控制人群)。整个班级都参与了。
长矛

另外,如果您确定孩子们特别聪明,则可以向他们展示如何改进他们提出的命令(假设您比孩子们更聪明-有时可能是一个冒险的假设!)。为发出命令的人(糖果,称赞之类的东西)创造某种激励,以激励他们通过您引入的一些度量(完成工作的最基本步骤等)使命令“更好”。
长矛

我非常喜欢这个。您可能会有孩子(如果仍然是徽标的意思,请原谅我,我从未使用过),可以为许多孩子设置一系列动作(前进2格,右转,前进5格...)他们不会崩溃的一种方式。高级级别是让单独的团队构建需要并行运行且不会崩溃的“程序”(类似于API编程。)它将需要一些额外的激励因素-不仅是执行步骤,而且要达到某种目标。也许得到一个标志的正方形格子并将其推向一个不同点发车....
佩卡·

Pekka:徽标是一种编程语言,我在中学计算机课上(在Commodore 64 IIRC上)使用了Way Back。您可以命令这只乌龟前进,旋转X度,抬起笔,放回去,改变颜色等,然后​​可以使用非常简单的命令绘制东西。
约翰

28

不要尝试在计算机上向他们显示任何内容。看着别人打字对成年人来说很无聊。对于5岁的孩子来说,这是无政府状态的秘诀。

相反,使其具有交互性。某种形式的“西蒙说”,但让他们成为程序员


很好的评论。我怀疑他们是否对开发人员试图保持其工作或为加薪而奋斗的注意力或热情。但是,孩子们喜欢游戏。
Phil

14
因此,将是“ sudo”而不是“ Simon说”?;-)认真地说,这是个好主意,我会考虑的更多...谢谢。
彼得Török

2
须藤让我一个三明治xkcd.com/149
Bratch

11

我从未尝试过,但这可能很有趣。

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

例如,让它们并排形成一条线(以它们最初到达的顺序)。在半圆的情况下这样做可能会更好,这样他们可以看到彼此进行练习,但是必须在某处的生产线上休息。然后,从该行的一端开始,让他们轮流做“如果您左边的同学比您高,请换个地方;否则,请保持原状”。当您通过线路并且没有人切换位置时,​​游戏结束。让他们观察结果。(提示:冒泡排序!)


1
这被称为角色扮演,在CS的教学中占有牢固的位置。好主意。
康拉德·鲁道夫

好主意,并且(对于较大的孩子)可以与以类似方式进行的二进制搜索演示一起使用……但是对于这些孩子来说,这已经太多了。我的另一个担心是,我看不到一个很好的方法来解释为什么以及如何使用排序将其链接到主要主题...我觉得对于这些孩子可能需要太抽象的解释。
彼得Török

7

为了让孩子们开始编程,您可以开车去劳斯莱斯(Rolls Royce)的幼儿园,然后与其他重要的同伴一起散步。

如果您不是Bill Gates,那么您只需要解释一下您每天参加无聊的会议4个小时,为TPS报告打印封面2个小时,并盯着以前无能为力的程序员编写的愚蠢内容,其他6小时。(无需提及,然后您会从维护您的最后一个程序并且认为您是之前的无知家伙的人那里拨打电话)。

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

认真地说,(我确定我会下意识地窃这三个线程之一),让他们玩“给我有关如何做Y的指令”,并按照Genie的方式进行操作-除非指令非常精确且明确。假设孩子们看到了阿拉丁,实际上提到精灵就是一个很好的例子。

; ^)


您听起来像是一件坏事!等一下...
ChaosPandion

我们住在幼儿园旁边的房子里,但是这条街是相反方向的一条路。因此,由劳斯莱斯到达那里就有些困难......更何况它可能会得到由我完成我的谈话:-P时被盗
彼得Török

在我的工作中,我们实际上使用了首字母缩写词TPS
Dan McClain

我想知道TPS是否真正代表某种东西,或者是Office Space的首字母缩写...
DVK 2010年

7

让他们编写简短的程序供您做简单的事情(例如进入房间并坐下),然后按字面意义执行它们以演示“错误”,即它们不够具体或没有考虑到某些因素,因此你会做错事。在此过程中,尽量不要伤害自己。它应该很有趣,并且可以使他们对什么是算法有一个很好的了解。


4

我认为您可以在20分钟内完成以下演示。也许它更适合年龄较大的孩子。我真的不知道幼儿园的孩子有什么能力。我个人将避免尝试解释编程,而应描述程序员所解决的问题。例如,如果有足够的孩子,则可以向他们交互式演示Internet。

第一部分:工作原理

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

解释计算机之间如何不直接相互连接,因为不可能将电缆从世界上的每台计算机连接到每台计算机。您的房屋需要十亿条电缆。因此,计算机可以连接到路由器。路由器将数据包(例如,电子邮件,图片或视频)提供给其他路由器,直到最终到达另一台计算机为止。

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

  1. 计算机只能将数据包提供给其路由器。

  2. 路由器可以将数据包提供给与其连接的计算机,或者提供给最近的路由器。

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

第二部分:互动时间

然后有3个孩子自愿当路由器。其他人都是计算机,将它们平均分配。可以保留彩色卡会有所帮助。就像拿着深蓝色卡的人一样,路由器可以与所有持有浅蓝色卡的人交谈。假设您发出蓝色,红色和黄色的卡片。

将“路由器”排列成一行,依次为蓝色,红色,黄色。然后,蓝色路由器必须将数据包交给红色路由器,再将其交给黄色路由器。将其他孩子分组在路由器周围。

为每个孩子带来“包装”。将其与照片,字母,井字游戏的打印输出混合起来以象征游戏,或者其他。首先将一台红色计算机发送到黄色计算机。

“阿什利,选择一台要发送图片的黄色计算机。好,要将图片发送给布莱恩,必须将其交给路由器凯利。告诉凯利,谁应该得到图片。凯利,你是蓝色的,所以你不能把照片给布莱恩,你必须把它给蒂米,告诉蒂米谁应该得到照片。蒂米是红色的,所以他不能把它给布莱恩,他必须把它给蕾妮。 ,您可以将照片交给Brian,因为他是黄色计算机,而您是黄色路由器。”

然后,让每个人都想到一个人将其“数据包”发送到,并观察您的即兴网络的运行情况。

第三部分:与计算机编程有关

总结一下,问一下路由器是容易还是难,因为有很多人想一次给您照片。指出问题出在哪里,并将其与我们要解决的实际问题联系起来。

“我可以看到蒂米装满了数据包,因为每个人都必须通过他发送数据包。作为计算机程序员,我们每天必须解决类似的问题。解决问题的一种方法是给蒂米四臂。或者也许增加另一台路由器,这样,如果蒂米要传递的数据包太多,则可以将其分配给其他路由器。” 或者说“也许我们希望更快地传送图片,因此我们可以要求路由器先传送图片,然后再传送其他数据包。”


@PéterTörök:嗯,我看完这些评论后才意识到,我一定是在潜意识中看到了您对互联网路由的评论并偷走了这个想法。
个人

很好,谢谢您提出的构想。我没有得到这个地步吧:-)
彼得Török

3

为了从已经发布的其他想法中借用某种东西,Simon Says的游戏可能是可行的方法。但是,您可以强调计算机将如何准确执行您告诉计算机的操作。因此,如果孩子是西蒙,他们说:“西蒙说坐下。” 然后您只需坐在地板上(不要坐在附近的椅子或其他任何东西上)。遵循指示,而不是精神。(当然,要让孩子们给出模棱两可的指示可能会比较棘手,但是我敢肯定您可以提出一些建议。)

除此之外,您还可以谈论孩子们可能使用的视频游戏或其他计算机“事物”,并且您可以说像您一样的程序员来创建它们。然后也许跳进西蒙说,展示它是如何工作的。当然,这可能会导致许多孩子长大,以为您花了一整天的时间在电脑上玩Simon Says ...


3

有时我认为我的工作是玩乐高积木。您将从一组大小,形状和颜色不同的砖开始,然后从中构建更大的东西。您可以使用同一组积木来建造城堡或星球大战机器人。

而且,它的乐趣差不多!


完全无关,但也许很相关:就我的孩子而言,他们对互联网和计算机之间的区别一无所知(也不在乎)。

是的,我实际上在玩弄的想法之一是让孩子们玩耍如何通过网络路由数据包。
彼得Török

我喜欢乐高类比。但是,我5岁的孩子刚刚继承了我小时候所拥有的Technic Lego推土机,在花了几个小时帮助他建造它之后,我只能说是Lego(仍然是Rocks)!
Skizz 2010年

3

编程的主要好处之一是具有创造事物的能力。为了实现梦想。我认为这对于没有问题让他们的想像力自由漫游的小孩没有太大吸引力。电脑会带来什么?

取而代之的是,您可能会对解决难题感到困惑。编程所需的那种思维。我可能根本不会使用计算机。相反,让他们解决一个引人入胜的数学难题。不一定要困难,但应该包含创造性思维。


1
可能很有趣,但是我不容易想到适合4-6岁孩子的数学难题。我自己现在正在愉快地数遍整个地方,而长者刚刚开始意识到1 + 2 = 3和
5-1

让我们找出小孩在解决TSP方面的表现如何;)
Dario

3

当我尝试在短时间内向不熟悉编程的人解释编程时,我使用Legos对其进行了解释。使用乐高积木,您可以有一堆简单的片段,就像编程语言一样。然后,您可以根据需要将它们拼凑在一起,只要您拥有正确的拼块,就可以想象得到的一切。

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

另外,您甚至可能制作得不好的Lego汽车,然后还展示出设计非常精美的Lego汽车,并向他们展示编程就是这样。您可以对汽车,机器人或任何您能想象的东西进行编程,但是不仅有一种方法,而且有许多种方法。有些比其他更好。

我已经吸引了很多人开始编程,甚至用这种类比转换专业。:)


这是一个不错的主意,它肯定适用于成人,而且很可能也适用于学龄儿童。但是,我认为对于5岁的孩子来说,它需要太多的抽象思维。他们的想法还没有达到这个水平。
彼得Török

2

我想我会先花2-3分钟的时间讨论计算机,然后再按照计算机上的操作说明进行操作。

然后,我将用一个预制的LEGO Mindstorms机器人进行演示,并对其编程几次,然后运行它,只是向他们展示它遵循该程序。Mindstorms编程非常直观并且易于掌握。

最后,我想解释一下,几乎到处都有计算机在运行程序,即使在交通信号灯,微波炉和他们最喜欢的玩具中也是如此。


1
我是新来的拥有乐高Mindstorms套件的人,我也不知道有谁拥有它。尽管孩子们长大了,可能会以此为借口;-)其他想法很有用,我正在沿着类似的思路思考。
彼得Török

2

讨论计算机编程的普遍性-它指导航空公司,电话,汽车,如何在线购买机票等。

然后教他们用符号编写一个简单的程序-1.在黑板上画一个网格。
2.在一端画奶酪,在另一端画鼠标。3.让他们“编写” moues以获得奶酪!

全班指导他们完成失败的尝试,也许让鼠标掉入陷阱或网格中的某些物体。他们会为此感到兴奋。


2

如何教孩子什么编程?
好吧,第一步可能会使一些母牛参与其中!
将一个简单的编程游戏(例如IQ Marathon)下载到笔记本电脑上,然后将其连接到投影仪。在执行此操作时,您可以讨论成​​为一名程序员通常意味着使用最新技术的方式(并以此为例进行演示)。

设置好之后(可以在5分钟或更短的时间内使它正常运行),您就可以使用该游戏以非常直观的方式(以及与母牛在一起!)展示计算机是如何完全按照您说的去做的,以及您(程序员)如何弄清楚使其执行所需操作所需的指令。当您做对时,每个人都对您的成功感到高兴,以至于有牛在跳舞!
从那里您可以回答任何问题,或者也许只是让孩子们尝试找出如何自己编程母牛的方法。真的,无论他们想去哪里。

牛!


正如我在帖子中提到的:没有投影仪,没有笔记本电脑。即使我有笔记本电脑,也无法让20个孩子同时看到屏幕:-(((
PéterTörök2010年

1
好了,我们与我的妻子尝试它,喜欢它......也许我会带一台笔记本电脑反正:-)
彼得Török

8 D牛解决方案的美丽之处在于,它对所有人都很有趣,并且可以用任何人都可以理解的格式很好地演示了编程的意义。当您说“没有投影仪”时,我以为您的意思是“没有头顶幻灯片”。当我说“投影仪”时,我的意思是“插入笔记本电脑的屏幕输出端口,让所有人看到以10'x10'尺寸投影的屏幕”。并不是每个人都有,但是如果需要的话,许多技术人员可以接触到其中一个。通常您可以在工作中签出一份!“这是出于演示目的”应该可以解决问题。8)
任务

1

给每个孩子剪出一个形状;圆形,正方形,三角形,不同的颜色等。说明编程如何以特定顺序给出指令。举起一张笑脸的照片,并引导孩子们学习如何构造它。黄色圆圈,黑点,黑点,弧。然后显示一张更复杂的图片,并让孩子们按照您的指示进行整理。您甚至可以犯一个错误(例如将黄色圆圈放在黑点上),以显示“错误”如何潜入程序。


1

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


1

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

在儿子生日那天,我做了一个与PC连接的保险箱(带电锁和许多LED的盒子)。

他们有一些问题要回答,每个回答都导致指示灯闪烁(绿色代表正确答案,红色代表错误答案)。如果他们正确回答了足够的问题,LED将开始播放简单的动画,并以响亮的“克隆”结尾。保险箱现已打开,他们可以收集报酬。

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


0

以无人值守的自动化的价值出售它们。让一个孩子走到教室的最前面,向全班展示他每晚刷牙的行为。然后让同一个孩子告诉您如果他不必刷牙,那段时间他会做什么。

然后告诉那个孩子,您知道当他在做他想做的另一件事时如何在他的牙齿上移动牙刷,并告诉他他永远也不会感觉到。下次他的母亲去检查他的牙齿时,他的牙齿会变得很神奇。

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


2
嗯..这可能会影响其他孩子的父母可能不值得高兴的事情......而只有一些的孩子可以读一些大写字母,所以伪代码是一个空操作:-((没有的话呢!)
彼得Török2010年

得到它了。因此,任何类型的代码(实际上就是代码的思想)都已经存在了。我明白您对牙刷的看法。重点是卖孩子不是为了编程,而是为了给人们的生活创造价值/带来便利。我在CashCommons的回答中对John表示赞同,因为它突出了编程的逻辑。如果您能找到某种方式向他们展示逻辑(再次参见John的答案),然后强调编程的自动化及其使人们的生活更加便利的方式,那么您可能会大受打击。
长矛
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.