Publication Date

Spring 2014

Degree Type

Master's Project

Degree Name

Master of Science (MS)


Computer Science


Dart is a recent programming language for the web browser. It features structured programming through traditional class-based syntax, metaprogramming via mirror-based reflection and scriptable rendering of 2D shapes with the Canvas API. This project explores Dart as a potential host for a domain-specific language (DSL) to produce figures, like those found in entry-level programming books. The goal is for instructors or book authors to generate figures such as the ones that appear in a typical CS1/CS2 text book. Figures from the book are analyzed and a library for rendering them declaratively is developed. Dart was able to provide a convenient API even though not having advanced metaprogramming capability built-in.