(总结见文末 更新 问题。)

我想向一群人(孩子或成人)传达计算机程序如何 用高级语言编写 工作原理,以及该程序与作为他们所知的消费设备的计算机(一个类似电视的盒子,可以“打字”和“上网”)的关系是什么。

我想在没有电脑的情况下做到这一点。不是因为我没有它们,而是因为我想要一种有趣的体育活动,让人们参与其中,就像表演、舞蹈、音乐、体育和夺旗一样有趣。

我读过了 教授初学者编程,无需计算机 在 stackoverflow 上;它的参考 计算机科学不插电 最接近,但大多数活动要么太复杂,需要太多道具,要么专注于特定的计算机科学概念。

我也读过 教授编程基础知识的游戏 但几乎没有任何内容符合我在上面第一段中的描述。

为了更好的衡量,我读过 应该在命令式编程之前教授函数式编程吗? 所以我对教授其中任何一个的活动持开放态度。

请记住这些要求,其中一些是主观的:

  • 身体的
  • 没有道具(或很少)
  • 乐趣
  • 涉及尽可能多的感官
  • 模拟编写程序并在计算机上运行的体验
  • 图片中任何地方都没有电脑
  • 是一个游戏(竞争或合作)

我突然想到,材料的来源之一可能是公司发给你的那些团队建设游戏。但这些都是为团队建设而设计的,而不是教授什么是编写和运行计算机程序。但也许你明白了。看待这个问题的另一种方式是建议我应该使用哪些搜索词来找到更多答案——尽管我通常可以选择好的搜索词,但“计算机”和“游戏”的隐式“或”不会找到我想要的东西因为这种组合是为完全不同的东西保留的。

更新:

  • 感谢到目前为止的回复!
  • 我现在已经澄清,我感兴趣的是模拟高级语言程序的操作,而不是机器如何操作(1 和 0)或特定概念
  • 通过这一澄清,您将能够具体说明您的游戏建议或发现的游戏是否教授函数式编程或命令式编程
  • 澄清后,还请回复有关游戏的部分,以教授计算机程序与计算机的关系。需要告诉大家的是,其他物理外观相似的消费设备没有“程序”——为什么?
  • 非常感谢您的直接回答;如果您还可以找到更多现成的资源 计算机科学不插电 那也很棒
  • 请参阅我迄今为止对答案的评论,所有这些评论都是出于对您所写内容的感谢而做出的,并且无意以任何方式进行批评。
有帮助吗?

解决方案

从根本上来说,计算机只做一些非常简单的事情:

  1. 他们可以做基础数学,
  2. 他们可以将数据从一个地方移动到另一个地方,
  3. 它们可以循环,并且
  4. 他们可以做出简单的决定。

计算机的强大之处在于它们每秒可以执行数百万次这些简单的事情。

在物理游戏层面,我相信这就是你能教的一切。除此之外,我认为还需要计算机模拟和/或多媒体演示(或者至少需要白板)。

其他提示

1.人类冒泡排序

只需测试人类冒泡排序 => 询问一群人 - 我会从 min 推荐。4 至最大无限 :-) - 根据冒泡排序原则,根据姓氏的字母顺序对自己进行排序。

例子 : https://www.youtube.com/watch?v=8QD-R_MfDsQ

适合儿童和成人。

2.人类疯狂机器人

用真人、纸片、上面写的箭头+符号,再现现实生活中疯狂机器人的原理。在 Google 上查找“lightbot” - 我还不能发布两个以上的链接。我刚刚创建了我的帐户来在这里回答:-)

3.普里莫

对于很小的孩子(4 岁以后),我真的很喜欢 Primo,这是一个可以在网格上移动的可编程小玩具 => http://www.primotoys.com/

您可以通过让两个团队竞争获得一把钥匙的两半来演示线程锁定,这把钥匙可以打开一些奖励(给孩子的糖果等)。每队各拿一半钥匙,然后谁也打不开门。如果他们合作,那么他们都会得到奖励。

这可能有点先进——不确定现在是否重新阅读了它。

CS课真的很有趣:活的图灵机。

你需要:

  • 某个地方放置机器的正式规则,一开始它是纯粹的混乱:-D

  • 人类:

A。一群人排队模拟线性记忆,你只需要一种方法来区分“一”和“零”。我们通过站在前台或后台来做到这一点,但我也可以想象其他方式......

b.机器的每种状态由一个人负责

C。一个在内存上向左或向右移动的“读取头”。

现在您只需要示例程序,从简单的开始,例如反转模式。然后继续执行更复杂的程序,例如递增/递减。

寻求灵感:自然人如何通过舞蹈实现冒泡排序算法的示例 => https://www.youtube.com/watch?v=lyZQPjUT5B4

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top