就让技术来赋予一个日常词语(尤其是在英语中)一个全新的含义吧。网络、病毒式传播、文本、云、苹果、Java、垃圾邮件、服务器和平板电脑等词语都是很好的例子,说明公众对一个词语含义的理解如何在相对较短的时间内发生变化。
因此,本文是关于一只乌龟和一只猫,它们多年来改变了许多人的生活,包括我自己的。
80 年代的编程
当我还是个孩子的时候,我接触到了一种叫做 Logo 的编程语言。多年后,在大学里,我将学习到该语言强大的递归特性,但作为一个 9 岁的孩子,真正引起我兴趣的是乌龟,它实际上是屏幕中间的一个小方块,用户可以告诉它做事情,比如“向前走 10 步,然后向左转 45 度”,或者“向后走 1 步,然后向右转 90 度”。
Logo 乌龟的伟大之处在于它携带一支笔,你可以告诉乌龟:落笔 (PENDOWN) 或抬笔 (PENUP)。当笔落下时,你告诉它走几步,它就会在屏幕上画画。你可以告诉乌龟设置笔颜色 (SETPENCOLOR) 并更改其笔的颜色。你也可以隐藏乌龟 (HIDETURTLE) 和显示乌龟 (SHOWTURTLE),因为有时你会画一些非常酷的东西,而你希望乌龟不要挡路。
从 Logo 到全职程序员
一旦我熟悉了乌龟的移动,并且厌倦了绘制每一个动作,我的朋友和我被教导如何使用循环、条件语句、变量、函数和过程来“自动化”乌龟。乌龟还向我介绍了几何学和笛卡尔平面的基本概念,作为引导我的乌龟在屏幕上移动的一种方式。
我最终从 Logo 升级到 BASIC,然后到 Pascal。在大学里,我使用了 C、C++、Java,甚至汇编语言。当我毕业时,我是一名全职 Web 程序员(PHP、Perl 等)。我已经有 10 多年没有做全职程序员了,但我仍然非常喜欢那只小乌龟。
不幸的是,由于过去二十年左右的所有技术进步,当我试图向我的孩子们介绍我的朋友乌龟时,他们并没有像 1980 年代的我那样印象深刻。所以,几年前我开始寻找替代方案。我想要一只宠物动物,它是程序的一部分,希望能激发我的孩子们对编程的兴趣。
这个解决方案以 Scratch 小猫的形式出现了!
儿童 Scratch
Scratch 是一种可视化编程语言,它与 Logo 的原始功能有很多共同之处,但已得到更新。使用 Scratch,你不再是告诉乌龟做什么,而是告诉小猫。但是使用 Scratch,用户不再需要记住命令——图形界面不仅使所有命令都可用,而且还允许孩子们像拼图一样直观地构建代码块。
当 Scratch 开始与 Raspberry Pi 推荐的操作系统 Raspbian(又名 Pixel)捆绑在一起时,Scratch 的受欢迎程度飙升,Raspbian (Pixel) 是基于 Debian 发行版的。事实上,本文中的图片都是从 Raspberry Pi 3 上运行的 Scratch 的屏幕截图中制作的。
Raspberry Pi 配备了 Scratch 的独立版本,即该语言的 1.4 版本。2.0 版本于 2013 年发布,使用 Adobe Flash 编写,这使其可以通过浏览器(在线)和作为独立客户端播放。
Scratch 示例代码
Scratch 输出
资源
以下是我为本文制作或使用的一些资源,我希望这些资源能帮助你让自己的孩子(或学生)开始进入迷人的编程世界。
Linux 上的 Logo 入门,第一部分,作者:Anderson Silva
Linux 上的 Logo 入门,第二部分,作者:Anderson Silva
使用 Raspberry Pi 进行简单的 LED 控制 (一个 使用 Scratch 和 Raspberry Pi 控制 LED 的更高级示例)
Logo 在线版本,适用于儿童和教师,附带课程和教程
Scratch 在线版本(V2,需要 Flash)
Code.org,另一个用于教孩子们编程的优秀网站,他们的编辑器主要基于 Scratch
10 条评论