编程环境,教孩子们编程的概念

软件推荐 linux 软件开发 教育
2021-10-18 00:19:38

我正在寻找一个独立的应用程序,可以帮助向四年级学生(9-10 岁)教授基本的编程概念。

注意:我正在寻找一个实际的应用程序,它可以帮助他们以有趣和互动的方式教授循环、条件逻辑等。我是一名计算机工程师,了解 Python、Ruby、Perl 和 C 以及其他语言,可以很好地教他们其中一种语言,但我想教他们更多关于概念的知识,而不是如何用编程语言 X 编码.

我发现但从未使用过以下任何软件包:

自由

商业的

基于网络的免费和商业

如您所见,有很多选择(这些是我在大约 30 分钟的搜索中找到的)。其中哪一个非常适合让我的孩子们起步并有兴趣成为代码猴子?

要求:

  • 应该教授概念而不是针对特定语言
  • 必须是互动的
  • 商业或开源是可以接受的
  • 应该在 Linux 中运行(最好是 Ubuntu 或 Fedora)

参考

4个回答

我要推荐ScratchScratch 是一个免费程序,专为满足您的需求而设计:以一种简单的方式教孩子们编程的概念,而不用让他们担心学习语法。

Scratch 是在拖放界面中编程的。这些命令都是按类型进行颜色编码的,并且它们的形状就像乐高积木一样拼在一起。这让孩子们很容易弄清楚什么去哪里。

当你启动 Scratch 时,你会得到一个简单的精灵,你可以编写代码来作用于那个精灵。这是一个非常简单的程序示例:

简单的 Scratch 程序

控制命令为黄色,运动命令为蓝色,声音命令为紫色,操作符为绿色,变量为橙色。命令的形状告诉您它们的去向。事件位于顶部,执行某些操作的命令位于其下方。比较运算符和变量以特殊方式形成,因此很容易找出哪个去哪里。

即使使用像我在这里展示的那样简单的程序,孩子们也可以了解变量、事件、条件、比较、初始化等。我的孩子比 Scratch 官方推荐的 8-16 岁要小一些,但即使他们重新安排也很有趣周围的命令和观察精灵做不同的事情。它激发了实验。

Scratch 还设有一个在线社区,孩子们可以在其中分享他们的程序并下载其他人编写的程序。

您的要求:

  • 从头开始教概念,而不必教语法。
  • 它是交互式的。只要您以一种有意义的方式将命令放到窗口中,它就会变为活动状态。
  • 它是免费和开源的。
  • 它可用作 Linux、Windows 或 OS X 的 Web 应用程序或桌面应用程序。

GreenfootScratch和 Codecademy 是不错的选择。这真的取决于你的学生有多先进。

Scratch 适合年轻学生首先参与编程。它以简单的、基于块的方式教授基本的编程概念。它可以用来相对简单地制作几乎任何类型的二维项目。尽管从头开始对于初学者来说比编写代码简单且不那么可怕,但它也离真正的编程有点远,并且没有尽可能多地教授基本的编程概念。例如,它不包括 for 循环,并且自定义块仅限于命令块(与数字/字符串和条件(布尔)报告器相反。这类问题源于草稿团队希望让初学者的一切变得简单的愿望。这可能没问题,或者它可能会导致学生使用手动计数变量对循环进行编程,直到更正为止。不过,

greenfoot.com/overview:

Greenfoot 用 Ja​​va 教授面向对象。创建生活在“世界”中的“演员”来构建游戏、模拟和其他图形程序。

Greenfoot 是视觉和互动的。可视化和交互工具内置于环境中。

演员使用标准的文本 Java 代码进行编程,提供了传统的基于文本的语言的编程体验与可视化执行的结合。

我向不怕代码的年长初级程序员推荐 Greenfoot。

Codecademy 适合任何有兴趣学习那里提供的一种或多种语言的人。以前的编程概念知识可能会帮助您更快地进步,但这不是必需的。只需仔细阅读每节课的分步指南,确保您理解它,并完成任务以取得进步。Codecademy 教授他们所教的东西,但以一种非常结构化的方式,更接近于课堂式教学。您必须按照他们所说的方式编写每个脚本,这可能有点无聊,但是您会知道自己的语言方式。这与 Scratch 和 greenfoot 不同,您可以在其中选择制作什么。

您也可以尝试Netlogo - 它更像是一个建模环境,实际上非常先进。然而,简单的模型只包含很少的 GUI 元素和很少的代码行。它是免费的,并且可能是开源的。需要Java。

简单的模型可以用来向孩子们解释。Netlogo 将重点放在文档上。缺点是老师本人需要是Netlogo的高级用户(为了避免更复杂的功能)

另一个值得一看的例子是Racket(特别是 Racket 的“初学者”方言)和随附的How To Design Programs HTDP倡议。John Carmack 的儿子在 2015年 10 岁时就已经编写了 40 级的跳跑游戏Fly in Racket ,但 John 不喜欢 HTDP 的教材。

我会使用在现实生活中使用的工具,而不是为教学而创建的工具。

为什么不使用 PyCharm 作为 IDE 和一个非常简单的基本示例?

作为基本示例,我建议:

打印出“hello world”100,000 次。孩子们喜欢这个。有创造力的学生可能会将“hello world”改为“我的妹妹很烦人”。然后创建了一个基本组成部分:他们玩得开心。

如果您避免打印换行符,那么屏幕会发生有趣的抖动。这给出了发生很多的主观体验:-)

import sys
for i in range(1000000):
    sys.stdout.write('hello world. ')

接下来要发现的可能是无限循环以及如何结束它。