适合7岁的环境

我7岁想学习,如何编程? (他的想法不是我的,他在外面做的事情,所以我从这个angular度不是太担心,他已经把我的办公室里的一本游戏编程书拿去睡觉了。 )有一天,我们坐下来写了一个非常简单的数字猜测游戏(你select了8,这是正确的,其他任何错误)。

它没有问题,但是他根据语言的语法有许多问题。 (我碰巧select了Java,因为我当时打开了IDE)。我教授大专以上的入门编程课程,所以这让我大开眼界(大多数高中生都不愿提问)我真的不得不弄清楚,如何解释一个7岁的语法?

显然,任何C语言都会遇到同样的问题,就像大多数“语言”一样。 我看着吱吱,但决定不使用它。 我看着爱丽丝的环境,但也不喜欢这个。

从物理angular度来看,他对键盘/鼠标非常舒适,并且可以相对容易地将乐高(Lego)组合在一起(所以下面的方向以一个有趣的结果适用于他)。 我可以使用乐高NXT,但他仍然有点年轻(即使在提供的graphics环境下,查看工作结果也需要很长的时间)。

理想情况下,我希望这些经验帮助他build立对math和逻辑的信心(如果一个七岁的孩子有逻辑:-)。

我记得小时候使用龟graphics/标志。 我倾向于这个,但想知道是否有任何其他的想法,或者如果有人可以推荐一个良好的标志环境?

编辑1:

徽标运作良好。 我需要教他angular度的概念(90度,180度)。 不幸的是,他们并没有真正在学校做师,所以angular度可能会很有趣。

首先画一个方块:

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

稍后我会进入循环:

 REPEAT 4 [ FORWARD 50 RIGHT 90 ] 

然后variables:

 make "length 50 REPEAT 4 [ FORWARD :length RIGHT 90 ] 

这工作得很好。 几乎没有语法,7岁的孩子很容易记住词汇,并立即反馈。

编辑2:

那么这是一个成功的例子,因为在我离开房间的时候,他能够编写一个简单的程序(没有循环)。 它实际上运行得非常好 – 我们出去了,find了方格纸和一个量angular器,我们把它们做成90度的angular度,他做了一堆方块,把一个方块变成了一个矩形,并且看到了错误的地方。如何debugging它。 对于那些对编程感兴趣的7岁的人,我会推荐这种方法。 我想我会把它推荐给我的专上学生(!)

实际上Javascript中有一个基于浏览器的Logo解释器。

http://logo.twentygototen.org/

我强烈不同意那些说七岁的孩子很难学习新语法的人。 这是完全倒退。 尝试教拉丁语七岁到三十岁的非英语母语人士。 或尝试与你的孩子在国外旅行。 看看谁可以在一个月后与当地人stream利地聊天(提示:可能不会是你)。

孩子们采用任意的语言习惯比我们的白发快得多。

当我十岁时,我学会了如何编程,就像你教你的儿子一样。 我父亲使用AT&T PC6300附带的GW-Basic解释器,我们写了一个游戏,电脑问你一个问题,你必须回答A / B / C。 GW-Basic语法的一大优点就是没有多行语句。 你可能想尝试类似的东西。 爪哇,大括号,可能有点艰难。

示例代码:

 10 PRINT "What color is Big Bird?" 20 PRINT "A. Blue" 30 PRINT "B. Green" 40 PRINT "C. Yellow" 50 INPUT$ ANSWER$ 60 IF ANSWER$ = "C" THEN PRINT "Good Job!" ELSE PRINT "Oops, wrong answer!" 

我花了几个小时用这种语法的各种排列,并写我自己的“游戏”。 这让我想了解更多…可能会有所帮助。

告诉他parsing器。 你只需要添加上下文和推理为什么存在。 花括号是这样的,读取代码的机器知道事情的起止点。

我发现,只要你解释他们的目的 ,包括孩子在内的大多数人都会轻易地拿起东西。 这就是为什么学校对我来说是一个可怕的失败,从来没有人解释学习一半的东西。

从头开始是另一个。 在麻省理工学院开发,专门为儿童教授节目。

我认为Python可能适合您的需求。 它比许多其他语言更容易学习,并且交互式解释器允许程序员立即看到执行一段代码时会发生什么。 随它而来的IDLE gui很容易使用。 它还通过TKinter有一个乌龟模块。

https://docs.python.org/library/turtle.html

从发展的angular度来看,一个七岁的孩子即使用他们的口语也不太可能掌握语法的基础知识。

无论你使用什么语言或环境,我都会build议把重点放在编程的思想上,而不是编写实际的程序。 为此,可以从命令行运行并查看即时结果,比如Python,或者为了获得更多graphics体验,Silverlight可能是最好的。

微软有一些有趣的工作,看起来不错:

  • popfly: http : //msdn.microsoft.com/en-us/devlabs/cc950523.aspx —“Popfly包括一个简单的方法来创build和与朋友分享游戏。从各种内置模板中select或启动从头开始创build一个侧面滚动游戏,2D射击游戏,或其他主机,最重要的是,你可以开始不写一行代码“…我认为它可以真正帮助被激励:)

    • smallbasic: http : //msdn.microsoft.com/en-us/devlabs/cc950524.aspx —应该简化,但有intellisense + .net框架的支持(简短的说明太营销像,所以我没有粘贴它:P)

试用Small Basic ,它有一个迷你BASIC语言,并为年轻人群简化。

逃离Java! 尝试一些专门用于教学的东西,比如抓痕 ,LOGO或PLT计划 。

为什么不回到QBasic的日子? 这是我学到的第一门语言(实际上是GW-BASIC,但那不是重点)。

语法要容易得多(虽然变幻无常,有时甚至令人沮丧)。 它不会教任何OO,但是这可能在他的头上,因为它会是我的。

这个网站也可能是有趣的。

我会说使用visual basic,或类似的东西,你不必担心语法,花括号等等。 我是在7编程,但它是在LOGO和C64基本。 我讨厌的LOGO …对我来说太让人沮丧了,你所能做的“大事”之一就是绕着一只愚蠢的乌龟移动。 然而,C64 Basic(对我来说)是伟大的…一旦我有这个(几年),我很兴奋学习C甚至C64汇编。

想到两个想法:

  • 我3岁的儿子喜欢和我一起玩泥土世界 。 他还不能解决问题,但我可以看到他正在吸收大量的信息。
  • 跟Alice一起去 我的儿子太年轻了,不能尝试这个,但是一旦他长大了,我们会放手的,如果他是敏锐的。 FWIW在Randy Pausch(RIP)观看The Last Lecuture之后,我了解了这个节目,

让他看看http://scratch.mit.edu 。 我七岁时正在学习这个,因为我们input…

Etoys也许是你正在寻找的东西。 这是一个仅仅为儿童制作的小图片的部分graphics风格。 这被olpc项目使用。

我参与了使用Stagecast的小学计算机课程。 这是一个为儿童devise的graphics化编程语言。 我发现它是一个理想的介绍性语言,因为它是graphics化的和交互式的。 它不需要阅读或math,它运行在Windows和Mac OS上,是简单游戏的理想select,因此孩子们有动力去学习。

虽然似乎正在进行重新devise,但您仍然可以使用旧版Hackety Hack ,这是一个为了青less年和开始程序员而devise的Ruby编程工具包。

我对爱丽丝有些t </s>。

一方面,有一个框架,你可以用直接的视觉满足来编程。 这真是一个好主意。

另一方面,我认为只有通过拖放来完成初学者程序是一个非常糟糕的主意。 我担心这可能会导致文盲,在拖放界面被拿走时,他们无法产生正确的书面代码。

就个人而言,我认为算术运算和布尔逻辑的基础知识首先要教给孩子更重要。 在掌握了这些概念之后,我认为转向基本结构是恰当的。 我只是没有看到一个孩子如何理解条件和没有布尔逻辑的循环,但是再一次,有一些相当聪明的孩子在那里:)

假设先前的陈述得到满足,我将不得不投我的投票python。

我会寻找许多街机游戏引擎之一,让他玩。 select一个他将需要使用循环和条件,也许一些程序。

有一本名为“学习从实用计划”的书,面向以前从未编程的人,可能不是非常技术性的。

它使用Ruby,这对于新手来说很容易。

Squeak Smalltalk系统是Smalltalk的一个实现,在编程方面教育孩子的时候,我听到了很多好消息。 据说Etoys项目包含大量的资源,以保持学习的乐趣和激励。

当我在高中时被介绍给图灵语言的时候,我开始对编程感兴趣。 当时在许多学校中,图灵被用作教学语言,对于我来说引入编程概念非常有效。 这里是WikiPedia的图灵描述

图灵是加拿大多伦多大学的Ric Holt和James Cordy于1982年开发的一种类似于Pascal的编程语言。 图灵是Euclid,Pascal和SP / k的后裔,具有干净的语法和精确的机器无关语义。

以英国计算机科学家阿兰·图灵(Alan Turing)命名的图灵主要用作高中和大学的教学语言。 还有两个版本,面向对象的图灵和图灵加,一个系统编程的变种。 2001年9月,“面向对象的图灵”更名为“图灵”,原图灵更名为“经典图灵”。 图灵可从多伦多Holt Software Associates获得。

适用于Microsoft Windows,Linux和Apple Macintosh的版本可用。 图灵在安大略省的高中仍然被广泛使用作为编程的介绍。

在2007年11月,以前是商业化编程语言的图灵变成了免费软件。 截至2007年11月28日,可从Holt Software网站免费下载个人,商业和教育用途。 1

你也可以使用Commodore 64模拟器。 它从BASIC开始。

也可能抛出Lego™ Mindstorms™ 。 它使用基于LabView的graphics化编程语言。

我今天早些时候看过这个post,偶然偶然去YUP.com发现了

用Hackety Hack教孩子们劈砍(程序)

想像我会把它作为一个额外的资源,任何人看这个问题。

我最近用一个指向kidbasic的类似的SO问题做了回应 ,这是一个开源和跨平台的软件。

Scheme在简洁性方面很好,在语法上与Logo类似。 此外,Scheme提供了一种非常直观的方式来理解recursion,并在计算机科学中find这些types的基本概念。

UCB计划还提供了很多内置的操作句子的function,比起构build多边形和解决数字难题(不要说天空是极限!),这对于7岁的孩子来说更有意义。

我在二年级的时候正在打“BASIC Fun”这本书。

我清楚地记得无限循环和INPUT A $的概念就像发现重力。 头脑的东西。

自我教导,我的进步是冰河速度缓慢,虽然我确实达到了一个程序,我希望GOSUB采取可变的论点,这回想起来,我的理解函数指针。

我的早期目标包括编写长期计划。 一个冗长的程序对于一个7岁的孩子来说并不是一个坏的目标,因为一个规范明确的程序会使得失败的风险太高。 任何人都可以写一个长长的程序,并感觉良好,并在此过程中学到很多东西。

在BASIC中,有一种用于80年代的编程的全部types的书籍。 这些东西是编程思想的一个很好的来源。 但是我不会推荐使用BASIC,即使是7岁的孩子,lua也有BASIC的简单的感觉,但是它并没有被破坏。

再看看,实际上有一个为此目的而devise的整个学习平台/操作系统: Sugar

OLPC(每个儿童一台笔记本电脑)操作系统Sugar现在已经面向大众,您可以在所有主stream操作系统(如Mac,Windows和Linux)中将其作为虚拟机运行。

在Sugar Labs下载副本。

其中一个有趣的活动叫做TurtleArt,是一个21世纪的Logo。 还有一个称为Pippy的Python IDE的儿童友好版本。 它实际上教孩子Python!

参见TurtleArt和Pippy以及Sugar中的其他活动 。

艾伦·凯(Alan Kay)是Sugar OS中的一些小说概念的后面,这实际上是他有远见的DynaBook的现代化身。 即使作为一个成年人(谁是一名工程师),我觉得玩的乐趣。

如果你爱糖作为虚拟机,你甚至可以购买硬件,同时帮助一个贫穷的孩子在世界其他地方。

Engadget解释说: OLPC XO Buy-One,Give-One计划正在进行中

OLPC OX

作为我们成年人的奖金 ,Sugar来自Fedora。 所以这是一个真正完整的基于Linux的操作系统。 应该很有趣的破解。 😉