我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岁孩子都应该采用这种方法。我想我也会向我的大学生推荐这种方法!