适合7岁孩子的环境

39

我7岁的孩子想学编程(这是他自己的想法,而不是我强迫他学习,他也在外面尝试很多事情,所以我不太担心这方面)。有一天我们坐下来写了一个非常简单的数字猜谜游戏(你选8就是正确的,选择其他数字都是错误的)。

进展还可以,但他基于语言的语法有很多问题。(我当时正好打开了IDE,所以我选择了Java。)我教授大学入门级的编程课程,所以这对我来说是个启示(大多数高中毕业生都不愿意问问题),因为我真的必须想办法向一个7岁的孩子解释语法。

显然,任何类C语言都会有相同的问题,大多数“语言”也是如此。我看过Squeak,但决定暂时不使用它。我看过Alice环境,但也不喜欢用它来教编程。

从物理角度来看,他习惯了键盘/鼠标,并且可以轻松组装乐高积木(因此按照有趣结果的指示进行操作对他有效)。我有Lego NXT可供使用,但他还有点小,(即使是由提供的图形环境),也需要花费太长时间才能看到工作成果。

理想情况下,我希望这种经验能帮助他建立数学和逻辑方面的信心(如果7岁的孩子有逻辑的话)。

我记得小时候用海龟绘图/Logo玩过。我正在倾向于使用这个,但不知道还有没有其他好的Logo环境推荐?

编辑1:

Logo效果不错。我需要教他关于角度的概念(90度、180度)。不幸的是,他们在学校还没有真正学习除法,所以讲解角度可能会有点难……

首先绘制一个正方形:

FORWARD 50
RIGHT 90
FORWARD 50
RIGHT 90
FORWARD 50
RIGHT 90
FORWARD 50
RIGHT 90

稍后我会进入循环:

REPEAT 4 
[
    FORWARD 50
    RIGHT 90
]

接下来是变量:

make "length 50

REPEAT 4 
[
    FORWARD :length
    RIGHT 90
]

这方法非常好,语法简单,7岁的孩子可以轻松记住词汇,并且能立即得到反馈。

编辑2:

这个方法是成功的,他在我不在房间的时候就能写出一个简单的程序(还没有循环)。它真的很有效 - 我们买了图纸和量角器,学会了90度角,他画了一堆正方形,将一个正方形变成了矩形,看到了自己的错误并学会了如何调试。我建议对于任何有兴趣学编程的7岁孩子都应该采用这种方法。我想我也会向我的大学生推荐这种方法!


1
我不同意“重复”标签。在开发方面,9岁和7岁的孩子差别很大。 - Yes - that Jake.
2
我们每个年龄段都要提出一个问题吗?作为重复问题关闭。 - Robert S.
我认为基于适当的编程环境有一系列问题是没有问题的,比如5、7、9、11、13、16。这些都是不同的问题,其答案明显不同。 - Yes - that Jake.
原则上我同意,Freddy。更准确地说,我会支持关于什么适合将编程介绍给十六岁和十三岁孩子的问题。 - Yes - that Jake.
@Jon Ericson,这个网站不是关于诗歌的。 - Robert S.
显示剩余12条评论
31个回答

2

Scratch非常适合小学到初中的孩子。+1 - Barry Brown

2
为什么不回到QBasic的时代呢?那是我学习的第一种语言(实际上是GW-BASIC,但这不重要)。语法更容易理解(尽管善变有时让人非常沮丧)。它不教任何面向对象的东西,但那可能超出了他的理解范围,就像对我来说一样。此外,这个网站也可能会引起你的兴趣。

是的!QBasic是最好的!那也是我学习的方式。 - Isaac Waller

2

我建议使用Visual Basic或类似的语言,因为你不需要太担心语法、花括号等问题。我7岁时开始学习编程,用的是LOGO和C64 Basic。我讨厌LOGO...因为它让我感到非常沮丧,因为你能做的“大事”之一就是移动一个愚蠢的海龟。然而,对我来说,C64 Basic非常棒...一旦我掌握了它(几年时间),我就很兴奋地学习C甚至C64汇编语言。


2
两个想法浮现在脑海中:
  • 我三岁的儿子喜欢和我一起玩《Goo世界》。他还不能解决问题,但我可以看到他吸收了大量的信息。
  • 试试Alice。我的儿子太小了,还不能尝试,但是一旦他长大了并且有兴趣,我们会试一下。顺便说一下,我是在看了Randy Pausch(已故)的《最后的演讲》之后才知道这个程序的。

World of Goo非常棒!至于Alice,它似乎不够即时。理想情况下,我希望他能够自己完成一些工作,而不必每分钟都问我。我在乐高方面做到了这一点,开始是我建造,然后是我给他零件,现在他可以自己完成。 - TofuBeer

1

Etoys 或许是你正在寻找的东西。它是专门为儿童设计的一种部分图形化的 Smalltalk 口味。这是由 olpc 项目使用的。


1

我曾参与过一个使用Stagecast的小学计算机课程。这是一种专为儿童设计的图形化编程语言。我发现它是一种理想的入门语言,因为它是图形化和交互式的。它不需要阅读或数学知识,可以在Windows和Mac OS上运行,并且非常适合制作简单的游戏,让孩子们有动力去学习。


1

尽管它似乎正在重新设计中,但您仍然可以获得Hackety Hack的旧版本,这是由_why为青少年和初学者设计的一套Ruby编程工具包。


1

我对Alice有些犹豫。

一方面,使用一个可以直接获得视觉满足的框架进行编程是很好的想法。

另一方面,我认为让初学者仅通过拖放来编程是非常不好的想法。我担心这甚至可能导致一种文盲现象,当拖放界面被取消时,他们将无法生成正确编写的代码。


新版本的Alice,即3.0版将在今年晚些时候发布,其背后采用Java编程语言。您可以随时展示类似Java的代码(仍然是拖放形式),或者切换到NetBeans中的100% Java视图。非常酷,但可能不适合7岁的孩子们。 - Barry Brown

1

个人而言,我认为首先教给孩子的是算术运算和布尔逻辑的基础知识。在他们掌握了这些概念之后,我认为可以开始学习基本结构。我只是不明白一个孩子如何在没有布尔逻辑的情况下理解条件语句和循环语句,但是话说回来,有些孩子确实非常聪明 :)

假设前面的观点得到满足,我会投票支持 Python。


0

我和我的6岁孩子一起玩了很多有趣的东西,其中包括Greenfoot(http://www.greenfoot.org/)。它是面向对象的,视觉/图形化的,非常适合孩子们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接