Blocks languages for creating tangible artifacts

Logo turtles and Henderson's picture language have long been used to teach computational thinking by inspiring learners to construct programs that create complex geometric designs. We have developed visual blocks-based versions of these languages, TurtleBlocks and PictureBlocks, that allow users to transform their designs into tangible artifacts produced by laser cutters and vinyl cutters. Our languages embody two novel features. First, they use constructive area geometry to convert the geometric designs generated by our programs into formats suitable for laser and vinyl cutters. Second, they leverage static typing and polymorphism to provide a new way to reference the names of procedure parameters and local variables in a blocks language.

[1]  Ellen Yi-Luen Do,et al.  THE DESIGNOSAUR AND THE FURNITURE FACTORY , 2006 .

[2]  John Maloney,et al.  The Scratch Programming Language and Environment , 2010, TOCE.

[3]  Marc-Alexander Najork,et al.  Programming in Three Dimensions , 1993, J. Vis. Lang. Comput..

[4]  Gerald J. Sussman,et al.  Structure and interpretation of computer programs , 1985, Proceedings of the IEEE.

[5]  Michael Eisenberg,et al.  Computers and Physical Construction: Blending Fabrication into Computer Science Education , 2008, FECS.

[6]  Mark D. Gross,et al.  Interactive fabrication: new interfaces for digital fabrication , 2010, TEI.

[7]  MARK D. GROSS,et al.  THE DESIGNOSAUR AND THE FURNITURE FACTORY simple software for fast fabrication , 2005 .

[8]  Takeo Igarashi,et al.  Spatial sketch: bridging between movement & fabrication , 2010, TEI '10.

[9]  Gabe Johnson FlatCAD and FlatLang: Kits by code , 2008, 2008 IEEE Symposium on Visual Languages and Human-Centric Computing.

[10]  Seymour Papert,et al.  Mindstorms: Children, Computers, and Powerful Ideas , 1981 .

[11]  Mitchel Resnick,et al.  LogoBlocks: A Graphical Programming Language for Interacting with the World , 2000 .

[12]  Peter Henderson Functional geometry , 1982, LFP '82.

[13]  Eric Rosenbaum,et al.  Scratch: programming for all , 2009, Commun. ACM.

[14]  Neil Gershenfeld,et al.  FAB: The Coming Revolution on Your Desktop--from Personal Computers to Personal Fabrication , 2005 .

[15]  Ricarose Roque OpenBlocks : an extendable framework for graphical block programming systems , 2007 .

[16]  Margaret M. Burnett,et al.  Static Type Inference for a First-Order Declarative Visual Programming Language with Inheritance , 2000, J. Vis. Lang. Comput..

[17]  Marie Vasek Representing Expressive Types in Blocks Programming Languages , 2012 .

[18]  Jeannette M. Wing An introduction to computer science for non-majors using principles of computation , 2007, SIGCSE.

[19]  Glen Bull,et al.  Educational Implications of the Digital Fabrication Revolution , 2010 .

[20]  Alan Wood,et al.  Structure and Interpretation of Computer Programs, 2nd Ed by Abelson and Sussman, with Sussman, MIT Press, 1996, ISBN 0-262-51087-1, 657pp. , 2001, Journal of Functional Programming.

[21]  David K. Gifford,et al.  Design Concepts in Programming Languages , 2008 .

[22]  Harold Abelson,et al.  Turtle geometry : the computer as a medium for exploring mathematics , 1983 .

[23]  Michael Eisenberg,et al.  The homespun museum: computers, fabrication,and the design of personalized exhibits , 2005, C&C '05.

[24]  Bernard R. Robin,et al.  Society for information technology & teacher education , 2000 .

[25]  Eric J. Golin,et al.  Enhancing Show-and-Tell with a polymorphic type system and higher-order functions , 1990, Proceedings of the 1990 IEEE Workshop on Visual Languages.