计算机应用 ›› 2015, Vol. 35 ›› Issue (2): 540-544.DOI: 10.11772/j.issn.1001-9081.2015.02.0540

• 计算机软件技术 • 上一篇    下一篇

一种移动平台儿童教育游戏的最终用户编程语言

胡征宇, 沈备军   

  1. 上海交通大学 电子信息与电气工程学院, 上海 200240
  • 收稿日期:2014-09-01 修回日期:2014-11-04 出版日期:2015-02-10 发布日期:2015-02-12
  • 通讯作者: 沈备军
  • 作者简介:胡征宇(1989-),男,浙江宁波人,硕士研究生,主要研究方向:软件工程、最终用户编程; 沈备军(1969-),女,浙江慈溪人,副教授,博士,主要研究方向:软件工程、模型驱动开发、软件工具。
  • 基金资助:

    国家自然科学基金资助项目(61472242)。

End-user programming language for mobile children educational game

HU Zhengyu, SHEN Beijun   

  1. School of Electronic Information and Electrical Engineering, Shanghai Jiao Tong University, Shanghai 200240, China
  • Received:2014-09-01 Revised:2014-11-04 Online:2015-02-10 Published:2015-02-12

摘要:

针对现有移动教育游戏无法满足快速增长的移动教育需求这个问题,利用领域工程的方法和最终用户编程(EUP)的技术,研究和设计了一种最终用户编程语言Kids。首先通过对移动平台儿童教育领域进行分析识别出儿童教育游戏的游戏元素,在此基础上对该领域进行特征的提取,得到该领域的特征模型。Kids语言以特征模型为基础进行设计,能够允许老师和家长为学龄前的儿童编写移动教育游戏。同时,开发了一个Kids的编程工具,包括可视化编辑器和代码生成引擎。该工具能够支持用户更加有效地使用Kids进行可视化编程,并自动生成Android代码。实验结果表明,Kids相比其他通用语言更加简洁,大部分最终用户能够很好地利用Kids开发工具开发出简单的儿童教育游戏。

关键词: 最终用户编程, 游戏教育, 领域特定语言, 可视化编程, 代码生成

Abstract:

Compared with the rapid growing demand of mobile game-based learning, the number of games with both playful and instructive characters is quite small. In order to deal with this problem, an End-User Programming (EUP) language called Kids was designed, which allows end-users to create mobile educational games for preschool-aged children. Through the analysis of the domain of mobile children game-based learning, the game elements were identified and the feature model was developed. Kids was designed based on the feature model, which was easy-to-use for users without programming experience. A Kids development tool was also developed to support users to create games effectively using visual editor, and generate Android codes through code generation engine. Finally, an initial experimental evaluation shows that user can implement the game creation easily and rapidly by Kids.

Key words: End-User Programming (EUP), game-based learning, Domain Specific Language (DSL), visual programming, code generation

中图分类号: