Diálogo

Diálogo

一个孩子画出自己符号的可视化编程环境

Diálogo 是什么?

这是一个面向 10 岁以上孩子的编程环境(更小的孩子可在大人陪同下使用)。在 Diálogo 里,程序是用孩子自己画的符号搭起来的。这门语言建立在符号之间的两种关系之上,替换和归类,再加上十来个组合子(推、拉、传送、碰撞、通配符、求值查看器)。靠自己的画和这些预设的可视化符号,孩子就能做出游戏、模拟,以及抽象的符号模型,比如从零开始构造数字和加法。

规则和游戏放在同一块板上。角色可以把一条规则推开,在程序运行时改变它,于是元编程变成孩子看得见、摸得着的东西。逐步执行查看器会显示每一步应用了哪条规则,同时也是调试器。

🎮 给孩子:

  • 用你自己的画来做游戏
  • 把几个可视化符号组合起来,给角色加上行为
  • 一步一步地看清楚,游戏为什么会这样运行
  • 做出在游玩过程中改写自身规则的游戏

🏫 给教师和研究者:

  • 从第一节课就是声明式的,没有语法,也不需要先学命令式编程
  • 在配置一般的电脑上离线运行,不需要账号和服务器;项目保存在本机
  • 界面支持十种语言;再加一种只需翻译一个文本文件
  • 七个活动的序列以视频形式讲给孩子听,这套工具因此很容易采用

🌀 从画画到游戏。做完前几个项目之后,只要几分钟。

Diálogo 动画演示:画出符号并把它们组合成游戏

第 1 步

🎯 边玩边入门

25 个小活动,每个让你认识环境里的一样东西。在浏览器里玩,不用安装,也不用注册账号。

第 2 步

⬇️ 下载 Diálogo

请选择你的操作系统:

ZIP 版可在 Linux 上运行,也可以作为安装包之外的选择用于 Windows 和 Mac。

安装遇到问题?这里有一个讲解视频

如何在 Windows、Mac 或 Linux 上安装 Diálogo。视频为西班牙语。

也可以试试在线版:完整的 Diálogo 直接在浏览器里运行,不用安装,还能保存文件,但速度较慢,首次使用要下载约 30 MB。要真正使用,安装版好得多;只是想看看它是什么,边玩边入门更快。

Diálogo 仍在持续开发中。欢迎把问题报告和课堂上的故事寄到 agustin@dialog.ar。

第 3 步

🎓 七个活动组成的序列

每个活动通过一个可玩的作品引入一种抽象机制。项目 1 到 5 做游戏;项目 6、7 转向抽象的符号模型。项目 1 到 3 自成一个完整的入门,项目 2 就能做出可玩的游戏。

这些活动是直接讲给孩子听的视频。目前视频为西班牙语。

♟️ 项目 1:国际象棋

归类,第一种抽象机制。先做出棋盘和能互相吃子的棋子,再把一条条针对具体情况的规则换成针对类别的规则。

🐍 项目 2:贪吃蛇

替换,第二种机制。会变长的蛇、去掉重复的代码,以及作为调试器的执行查看器。

👻 项目 3:从吃豆人到科考潜水艇

一个让所有组合子都派上用场的经典游戏,然后换一身皮,搬到新的场景里。规则很简单,结果出人意料。

🧠 项目 4:元编程谜题

当程序修改自己时会发生什么?一个迷宫,它的规则可以在游玩时被推走、被拉回。

🚀 项目 5:太空飞船

游戏开发里的想法:由事件驱动的规则、隐藏的物体、碰撞和时间控制,全都汇合到一个射击游戏里。

🔢 项目 6:我的计算器

递归与抽象的符号操作。从零开始构造数字和加法,没有游戏,也没有角色。开头很简单,越往后越难,是七个项目里最费力的一个。

🏁 项目 7:计分与复用

模块化与复用。给之前做的游戏加上计分系统,完全不用变量。

🔬 给教师和研究者

介绍过这个项目的部分论文和学术报告:

想在课堂或研究中使用 Diálogo、翻译这套活动序列,或者用它开展研究吗?请写信到 agustin@dc.uba.ar。

Agustín Rafael Martínez,布宜诺斯艾利斯大学精确与自然科学学院计算机系。

🎤 Nerdearla 上的舞台演出

两场用 Diálogo 做的完整舞台演出,面向普通观众。西班牙语,带字幕。