教育编程语言 教育编程语言是主要作为学习工具而设计的编程语言。在设计教育编程语言的过程中,应该考虑下列因素:
- 使用学生的母语 - 教授不说英语的儿童一套英语编程语言会很困难,而且会导致儿童疏远这种编程语言。 为儿童设计的编程语言应该移除语言障碍。
- 语言大小/覆盖 - 编程语言的大小对用户是一个重要的因素:语言中有多少关键字? 支持多少编程示例? 库的大小? 虽然产业界的编程语言要求有更好的编程习语覆盖和更好的库覆盖(例如C++和Java巨大的标准库), 但是教育编程语言更多关注简洁性和易用性。
- 强类型和动态 - 工程师希望编译器尽可能多的报告错误和警报,以便在编译时处理错误, 而不是在运行时处理漏洞。 因此, 强类型的编程语言 - 需要编程人员声明和附于与规则匹配的类型 - 是更好的工程类语言。 相反,儿童希望他们的成果可以尽快的运行,并作为“兴趣”属性处理运行时错误。 因此为什么要打扰他们声明类型呢?
- 保守和自由 - 传统的编程语言基本部件和库是被严格保密设计的。 因此可以在用户权限的基础上提供限制编程人员访问和操作能力的机制(例如Java类加载器的安全检查)。 既然儿童编程语言一般不强调此类约束,因此我们就不应该设定限制。
| | Mama一种教育编程语言 Mama从教育编程语言的角度出发,强调上述需求。
- Mama是一种完全统一码编程语言,当前适用几种语言,其它语言版本正在翻译中。 Mama专为教授编程概念而设计,提供简单快捷的项目开发方法。 语言中的概念很少, 而且没有标准的库——一切都由语言直接支持!
- Mama中的类型通过拖放模式处理,而不是通过脚本编辑方式处理:拖放模式需要编程人员声明标准类型和对象,但是用户对象全部在一个类型中,所以允许编程人员自由的操作对象。 脚本模式不用声明类型,类型在运行时隐式设置和检查。
- Mama允许你自由的操作对象-存储,加载,运行,改变对象的字段和行为 - 没有安全限制。
学习路径 教育编程语言一般放置在学习路径中,它是一条帮助学生从简单的编程环境进入到复杂的编程环境的语言序列。 下面是著名的教育编程语言以及它们在学习路径中的推荐位置 [1]: !年龄||国际化语言||英文语言
| 2年级—5年级 | 抓,标志 | Etoys | | 5年级-7年级 | 抓,Mama | Etoys,AgentSheets, Alice | | 初中(7年级-9年级) | Mama | 基本, 乐高头脑风暴, Squeak, | | 高中(9年级-12年级) | Mama | Python, Squeak, Greenfoot, BlueJ, Alice | | 大学-假定非专业课程,无经验 | Mama | Python, Squeak, Greenfoot, BlueJ, Alice | | 大学-计算机专业课程 | | Java, C#, Lisp/Shceme/Haskell, Python, Netbeans BlueJ | 注释 - ↑ 维基百科教育编程语言
|