Using Storytelling to Make Computer Programming Attractive to Middle School Girls

Total Page:16

File Type:pdf, Size:1020Kb

Using Storytelling to Make Computer Programming Attractive to Middle School Girls Motivating Programming: using storytelling to make computer programming attractive to middle school girls Caitlin Kelleher November, 2006 CMU-CS-06-171 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy. Thesis Committee: Randy Pausch (chair) Jessica Hodgins Sara Kiesler Alan Kay, Viewpoints Research Copyright © 2006 Caitlin Kelleher This research was sponsored by the Office of Naval Research under grant no. N00140210439 and by the National Science Foundation (NSF) under grant nos. IIS-0329090, DUE-0339734, IIS-0121629, IIS-9812012 and a generous NSF Graduate Fellowship. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of any sponsoring institution, the U.S. government or any other entity. Keywords: programming environments, gender, computer science education, motivation, storytelling, Alice, Stencils Abstract Women are currently under-represented in computer science. Increasing the numbers of female students who pursue computer science has the potential both to improve the technology we create by diversifying the viewpoints that influence technology design and to help fill projected computing jobs. Numerous studies have found that girls begin to turn away from math and science related disciplines, including computer science, during middle school. By the end of eighth grade, twice as many boys as girls are interested in pursuing science, engineering, or technology based careers. In this thesis, I describe Storytelling Alice, a programming environment that gives middle school girls a positive first experience with computer programming. Rather than presenting programming as an end in itself, Storytelling Alice presents programming as a means to the end of storytelling, an motivating activity for a broad spectrum of middle school girls. The development of Storytelling Alice was informed by formative user testing with more than 250 middle school aged girls. To determine girls’ storytelling needs, I observed girls interacting with Storytelling Alice and analyzed their storyboards and the story programs they developed. To enable and encourage middle school girls to create the kinds of stories they envision, Storytelling Alice includes high-level animations that enable social interaction between characters, a gallery of 3D objects designed to spark story ideas, and a story-based tutorial presented using Stencils, a new tutorial interaction technique. To determine the impact of the storytelling focus on girls’ interest in and success at learning to program, I conducted a study comparing the experiences of girls introduced to programming using Storytelling Alice with those of girls introduced to programming using a version of Alice without storytelling features (Generic Alice). Participants who used Storytelling Alice and Generic Alice were equally successful at learning basic programming concepts. However, I found that users of Storytelling Alice show more evidence of engagement with programming. Storytelling Alice users spent 42% more time programming and were more than three times as likely to sneak extra time to continue working on their programs (51% of Storytelling Alice users vs. 16% of Generic Alice users snuck extra time). Acknowledgements First, I would like to thank my advisor, Randy Pausch, for his frank thoughts and tireless support. He gave me a tremendous amount of freedom to explore what is fundamentally a muddy area while continually encouraging me to find ways to objectively measure success. My committee members Jessica Hodgins, Sara Kiesler, and Alan Kay provided valuable feedback that guided both my research and my presentation of it. Several organizations helped me to find middle school girls for both the formative and summative evaluations. Thanks to the Carnegie Museum of Natural History, Georgia Tech’s TEC camp, the Houston Museum of Natural Science, the PALS homeschooling group, NPHEP, and the Girl Scouts of Western Pennsylvania. I also owe a large debt of gratitude to the many girls (and their parents) who participated in the development and testing of Storytelling Alice. The undergraduates who participated in the Designing Interactive Narrative Components helped me begin to understand the space of inspiring kids’ story ideas. I continued to learn from their work long after the end of the seminar. I would like to thank Dennis Cosgrove, Adam Fass, Andrew Faulring, Desney Tan, Gabriel Yu, and all of the other Stage 3 folk I have had the good fortune to work and play with. Finally, I am grateful for the support of my parents, William and Denise Kelleher, and my sister Erin. Contents Chapter 1 Introduction ...................................................................................1 1.1 Introduction............................................................................................. 1 1.2 A Pragmatic Need for Diversity in Computer Science........................... 2 1.3 Attracting Women to CS......................................................................... 5 1.4 Middle School Girls................................................................................ 7 1.4.1 Gender Expectations....................................................................... 7 1.4.2 Academics....................................................................................... 8 1.4.3 Identity Formation .......................................................................... 8 1.4.4 Middle School Girls and Computers............................................... 9 1.5 Storytelling as a Motivating End .......................................................... 10 1.6 Leveraging Alice 2................................................................................ 11 1.7 Research and Contributions .................................................................. 12 1.7.1 Formative Testing......................................................................... 12 1.7.2 Development of Storytelling Alice ............................................... 13 1.7.3 Development of Storytelling Alice ............................................... 15 1.7.4 Contributions................................................................................. 17 Chapter 2 Introduction to Alice 2.................................................................19 2.1 Why Alice?........................................................................................... 19 2.2 Creating Alice Worlds .......................................................................... 22 2.2.1 Adding and Positioning 3D Objects ............................................. 23 2.2.2 Creating Sequential Programs....................................................... 24 2.2.3 Using Programming Constructs.................................................... 30 2.2.4 Creating New Methods ................................................................. 34 2.2.5 Creating methods with parameters................................................ 35 2.3 Storytelling Alice.................................................................................. 37 2.4 Motivating Novice Programming Environments.................................. 38 Chapter 3 Formative User Testing...............................................................41 3.1 Introduction........................................................................................... 41 3.2 Participants............................................................................................ 41 3.2.1 Girls in STEM Camps................................................................... 41 3.2.2 Home-schooled Students.............................................................. 44 3.2.3 Girl Scouts.................................................................................... 46 3.2.4 Why not schools?.......................................................................... 48 3.3 Types of Data........................................................................................ 49 3.3.1 Classroom observations................................................................ 49 3.3.2 Storyboards ................................................................................... 51 3.3.3 Alice logs...................................................................................... 54 3.3.4 Classroom discussions.................................................................. 55 3.3.5 Surveys.......................................................................................... 55 3.4 Methods................................................................................................. 56 3.5 Usability Changes................................................................................. 58 3.5.1 Switching Between the Scene View and the Programming View 58 3.5.2 Too Many Methods Displayed...................................................... 59 3.5.3 Losing Objects in the Scene.......................................................... 59 3.6 Issues about Programming.................................................................... 60 3.6.1 Editing methods is tempting and dangerous for new users........... 61 3.6.2 New users are often forced to tackle events quickly..................... 61 3.6.3 New users frequently make recursive calls................................... 62 Chapter 4 Enabling Storytelling...................................................................65
Recommended publications
  • Compiler Error Messages Considered Unhelpful: the Landscape of Text-Based Programming Error Message Research
    Working Group Report ITiCSE-WGR ’19, July 15–17, 2019, Aberdeen, Scotland Uk Compiler Error Messages Considered Unhelpful: The Landscape of Text-Based Programming Error Message Research Brett A. Becker∗ Paul Denny∗ Raymond Pettit∗ University College Dublin University of Auckland University of Virginia Dublin, Ireland Auckland, New Zealand Charlottesville, Virginia, USA [email protected] [email protected] [email protected] Durell Bouchard Dennis J. Bouvier Brian Harrington Roanoke College Southern Illinois University Edwardsville University of Toronto Scarborough Roanoke, Virgina, USA Edwardsville, Illinois, USA Scarborough, Ontario, Canada [email protected] [email protected] [email protected] Amir Kamil Amey Karkare Chris McDonald University of Michigan Indian Institute of Technology Kanpur University of Western Australia Ann Arbor, Michigan, USA Kanpur, India Perth, Australia [email protected] [email protected] [email protected] Peter-Michael Osera Janice L. Pearce James Prather Grinnell College Berea College Abilene Christian University Grinnell, Iowa, USA Berea, Kentucky, USA Abilene, Texas, USA [email protected] [email protected] [email protected] ABSTRACT of evidence supporting each one (historical, anecdotal, and empiri- Diagnostic messages generated by compilers and interpreters such cal). This work can serve as a starting point for those who wish to as syntax error messages have been researched for over half of a conduct research on compiler error messages, runtime errors, and century. Unfortunately, these messages which include error, warn- warnings. We also make the bibtex file of our 300+ reference corpus ing, and run-time messages, present substantial difficulty and could publicly available.
    [Show full text]
  • The Comparability Between Modular and Non-Modular
    THE COMPARABILITY BETWEEN MODULAR AND NON-MODULAR EXAMINATIONS AT GCE ADVANCED LEVEL Elizabeth A Gray PhD INSTITUTE OF EDUCATION UNIVERSITY OF LONDON 1 ABSTRACT The prime concern of this thesis is the comparability of two types of assessment now prevalent in Advanced level GeE examinations. The more conventional linear scheme assesses all candidates terminally, and the only way to improve the grade awarded is to re-take the whole examination. In contrast, the relatively new modular schemes of assessment include testing opportunities throughout the course of study. This not only has formative effects but allows quantifiable improvements in syllabus results through the medium of the resit option. There are obvious differences between the two schemes, but this does not necessarily imply that they are not comparable in their grading standards. It is this standard which the thesis attempts to address by considering the different variabilities of each of the schemes, and how these might impinge upon the outcomes of the grading process as evidenced in the final grade distributions. A key issue is that of legitimate and illegitimate variabilities - the former perhaps allowing an improvement in performance while maintaining grading standards; the latter possibly affecting the grading standard because its effect was not fully taken into account in the awarding process. By looking at a linear and modular syllabus in mathematics, the differences between the two are investigated, and although not fully generalisable, it is clear that many of the worries which were advanced when modular schemes were first introduced are groundless. Most candidates are seen to use the testing flexibility to their advantage, but there is little evidence of over-testing.
    [Show full text]
  • Microworlds: Building Powerful Ideas in the Secondary School
    US-China Education Review A 9 (2012) 796-803 Earlier title: US-China Education Review, ISSN 1548-6613 D DAVID PUBLISHING Microworlds: Building Powerful Ideas in the Secondary School Craig William Jenkins University of Wales, Wales, UK In the 1960s, the MIT (Massachusetts Institute of Technology) developed a programming language called LOGO. Underpinning this invention was a profound new philosophy of how learners learn. This paper reviews research in the area and asks how one notion in particular, that of a microworld, may be used by secondary school educators to build powerful ideas in STEM (science, technology, engineering, and mathematics) subjects. Keywords: microworlds, programming, STEM (science, technology, engineering, and mathematics), constructionism, education Theories of Knowing This paper examines the microworld as a tool for acquiring powerful ideas in secondary education and explores their potential role in making relevant conceptual learning accessible through practical, constructionist approaches. In line with this aim, the paper is split into three main sections: The first section looks at the underlying educational theory behind microworlds in order to set up the rest of the paper; The second section critically examines the notion of a microworld in order to draw out the characteristics of a microworlds approach to learning; Finally, the paper ends with a real-world example of a microworld that is designed to build key, powerful ideas within a STEM (science, technology, engineering, and mathematics) domain of knowledge. To begin to understand the educational theory behind microworlds, a good starting point is to consider the ways in which learners interact with educational technology. In 1980, Robert Taylor (1980) provided a useful framework for understanding such interactions.
    [Show full text]
  • A Simplified Introduction to Virus Propagation Using Maple's Turtle Graphics Package
    E. Roanes-Lozano, C. Solano-Macías & E. Roanes-Macías.: A simplified introduction to virus propagation using Maple's Turtle Graphics package A simplified introduction to virus propagation using Maple's Turtle Graphics package Eugenio Roanes-Lozano Instituto de Matemática Interdisciplinar & Departamento de Didáctica de las Ciencias Experimentales, Sociales y Matemáticas Facultad de Educación, Universidad Complutense de Madrid, Spain Carmen Solano-Macías Departamento de Información y Comunicación Facultad de CC. de la Documentación y Comunicación, Universidad de Extremadura, Spain Eugenio Roanes-Macías Departamento de Álgebra, Universidad Complutense de Madrid, Spain [email protected] ; [email protected] ; [email protected] Partially funded by the research project PGC2018-096509-B-100 (Government of Spain) 1 E. Roanes-Lozano, C. Solano-Macías & E. Roanes-Macías.: A simplified introduction to virus propagation using Maple's Turtle Graphics package 1. INTRODUCTION: TURTLE GEOMETRY AND LOGO • Logo language: developed at the end of the ‘60s • Characterized by the use of Turtle Geometry (a.k.a. as Turtle Graphics). • Oriented to introduce kids to programming (Papert, 1980). • Basic movements of the turtle (graphic cursor): FD, BK RT, LT. • It is not based on a Cartesian Coordinate system. 2 E. Roanes-Lozano, C. Solano-Macías & E. Roanes-Macías.: A simplified introduction to virus propagation using Maple's Turtle Graphics package • Initially robots were used to plot the trail of the turtle. http://cyberneticzoo.com/cyberneticanimals/1969-the-logo-turtle-seymour-papert-marvin-minsky-et-al-american/ 3 E. Roanes-Lozano, C. Solano-Macías & E. Roanes-Macías.: A simplified introduction to virus propagation using Maple's Turtle Graphics package • IBM Logo / LCSI Logo (’80) 4 E.
    [Show full text]
  • Towards Software Development
    WDS'05 Proceedings of Contributed Papers, Part I, 36–40, 2005. ISBN 80-86732-59-2 © MATFYZPRESS Towards Software Development P. Panuška Charles University, Faculty of Mathematics and Physics, Prague, Czech Republic. Abstract. New approaches to software development have evolved recently. Among these belong not only development tools like IDEs, debuggers and Visual modelling tools but also new, modern1 styles of programming including Language Oriented Programming, Aspect Oriented Programming, Generative Programming, Generic Programming, Intentional Programming and others. This paper brings an overview of several methods that may help in software development. Introduction An amazing progress in software algorithms, hardware, GUI and group of problems we can solve has been made within last 40 years. Unfortunately, the same we cannot say about the way the software is actually made. The source code of programs has not changed and editors we use to edit, create and maintain computer programs still work with the source code mainly as with a piece of text. This is not the only relic remaining in current software development procedures. Software development is one of human tasks where most of the job must be done by people. Human resources belong to the most expensive, most limiting and most unreliable ones. People tend to make more mistakes than any kind of automatic machines. They must be trained, may strike, may get ill, need holidays, lunch breaks, baby breaks, etc. Universities can not produce an unlimited number of software engineers. Even if the number of technical colleges were doubled, it would not lead in double amount of high-quality programmers.
    [Show full text]
  • Papert's Microworld and Geogebra: a Proposal to Improve Teaching Of
    Creative Education, 2019, 10, 1525-1538 http://www.scirp.org/journal/ce ISSN Online: 2151-4771 ISSN Print: 2151-4755 Papert’s Microworld and Geogebra: A Proposal to Improve Teaching of Functions Carlos Vitor De Alencar Carvalho1,4, Lícia Giesta Ferreira De Medeiros2, Antonio Paulo Muccillo De Medeiros3, Ricardo Marinho Santos4 1State University Center of Western, Rio de Janeiro, RJ, Brazil 2CEFET/RJ, Valença, RJ, Brazil 3Rio de Janeiro Federal Institute (IFRJ), Pinheiral, RJ, Brazil 4Vassouras University, Vassouras, RJ, Brazil How to cite this paper: De Alencar Car- Abstract valho, C. V., De Medeiros, L. G. F., De Me- deiros, A. P. M., & Santos, R. M. (2019). This paper discusses how to improve teaching of Mathematics in Brazilian Papert’s Microworld and Geogebra: A Pro- schools, based on Seymour Papert’s Constructionism associated with Infor- posal to Improve Teaching of Functions. mation Technology tools. Specifically, this work introduces the construction- Creative Education, 10, 1525-1538. https://doi.org/10.4236/ce.2019.107111 ist microworld, a digital environment where students are able to build their knowledge interactively, in this case, using dynamic mathematics software Received: June 6, 2019 GeoGebra. Accepted: July 14, 2019 Published: July 17, 2019 Keywords Copyright © 2019 by author(s) and Microworld, GeoGebra, Seymour Papert, Information Technologies in Scientific Research Publishing Inc. Education This work is licensed under the Creative Commons Attribution International License (CC BY 4.0). http://creativecommons.org/licenses/by/4.0/ Open Access 1. Introduction This research’s main goal is to present a proposal to help Brazilian teachers im- prove their educational practices.
    [Show full text]
  • Computer Gaming World Issue 26
    Number 26 March 1986 FEATURES Conflict In Viet Nam 14 The View From a Playtester M. Evan Brooks Inside Ultima IV 18 Interview with Lord British The Halley Project 24 Tooling Through the Solar System Gregg Williams Silent Service 28 Designer's Notes Sid Meier Star Trek: The Kobayashi Alternative 36 A Review Scorpia DEPARTMENTS Taking A Peek 6 Screen Photos and Brief Comments Scorpion's Tale 12 Playing Tips on SPELLBREAKER Scorpia Strategically Speaking 22 Game Playing Tips Atari Playfield 30 Koronis Rift and The Eidolon Gregg Williams Amiga Preferences 32 A New Column on the Amiga Roy Wagner Commodore Key 38 Flexidraw, Lode Runner's Rescue, and Little Computer People Roy Wagner The Learning Game 40 Story Tree Bob Proctor Over There 41! A New Column on British Games Leslie B. Bunder Reader Input Device 43 Game Ratings 48 100 Games Rated Accolade is rewarded with an excellent Artworx 20863 Stevens Creek Blvd graphics sequence. Joystick. 150 North Main Street Cupertino, CA 95014 One player. C-64, IBM. ($29.95 Fairport, NY 14450 408-446-5757 & $39.95). Circle Reader Service #4 800-828-6573 FIGHT NIGHT: Arcade style Activision FP II: With Falcon Patrol 2 the boxing game. A choice of six 2350 Bayshore Frontage Road player controls a fighter plane different contenders to battle Mountain View, CA 94043 equipped with the latest mis- for the heavyweight crown. The 800-227-9759 siles to combat the enemy's he- player has the option of using licopter-attack squadrons. Fea- the supplied boxers or creating HACKER: An adventure game tures 3-D graphics, sound ef- his own challenger.
    [Show full text]
  • 4 MICRO WORLDS: TRANSFORMING EDUCA TION 1 Seymour Papert
    MICRO WORLDS: 4 TRANSFORMING EDUCA TION 1 Seymour Papert Arts and Media Technology Center Massachusetts Institute of Technology Cambridge. MA Looking at how computers are used in education, one is tempted to start classifying. It's a little dangerous to do this, but I would like to start off with a very crude classification of three ways of using computers, just to place a certain set of problems into perspective. First, as tutorials in one sense or another - which is by far the most widespread, best known, and earliest use - where the computer serves as a sort of mechanized instructor. Secondly, as tools for doing something else: as calculators, word processors, simulators, or whatever. And thirdly, a different concept altogether: as microworlds. Here I shall concentrate on the notion of microworld and talk about its relations both to computers and to theories of learning. The other uses of computers surely have a role - but they are not what will revolutionize education. One microworld which is already widely known is the Logo turtle mi­ croworld. Briefly, this world is inhabited by a small object on the screen. In some versions, it is shaped like a triangle, in others, like an actual turtle. To make it move and draw lines, you talk to it by typing commands on the keyboard. For example, if you say FORWARD 50, the turtle will move in the direction it's facing and draw a line 50 units long, 50 "turtle steps" children might say. Then if you say RIGHT 90, it will turn 90 degrees. And then you can tell it to go forward again, or back, turn through any angle, or lift its pen up so it moves without leaving a trace.
    [Show full text]
  • Bibliography on Transformation Systems (PDF Format)
    Transformation Technology Bibliography, 1998 Ira Baxter Semantic Designs 12636 Research Blvd, Suite C214 Austin, Texas 78759 [email protected] The fundamental ideas for transformation systems are: domains where/when does one define a notation for a problem area; semantics how the meaning of a notation is defined; implementation what it means for one spec fragment to “implement” another; and control how to choose among possible implementations. The following references describe various ways of implementing one or more of the above ideas. Unfortunately, there aren't any easy, obviously good articles or books on the topic, and there is a lot of exotic technology. I recommend: the Agresti book (a number of short papers) for overview, the Feather survey paper for conciseness and broadness. These are the minimum required reading to get a sense of the field. The Partsch book is excellent for a view of transformational development using wide spectrum languages, but fails to address domains and control. The Turski book is very good for some key theory, but you have to be determined to wade through it. Bibliography [AGRESTI86] What are the New Paradigms?, William W. Agresti, New Paradigms for Software Development, William W. Agresti, IEEE Press, 1986, ISBN 0-8186-0707-6. [ALLEMANG90] Understandings Programs as Devices, Dean T. Allemang, Ph.D. Thesis, Computer Science Department, Ohio State University, Columbus, Ohio, 1990. [ALLEN90] Readings in Planning, James Allen, James Hendler and Austin Tate, Morgan Kaufmann, San Mateo, California,1990, ISBN 1-55860-130-9. [ASTESIANO87] An Introduction to ASL, Egidio Astesiano and Martin Wirsing, pp. 343-365, Program Specification and Transformation, L.
    [Show full text]
  • Components and Generative Programming
    Components and Generative Programming Krzysztof Czarnecki1 and Ulrich W. Eisenecker2 1DaimlerChrysler AG Research and Technology, Ulm, Germany [email protected] 2University of Applied Sciences Heidelberg, Germany [email protected] Abstract. This paper is about a paradigm shift from the current practice of manually searching for and adapting components and their manual assembly to Generative Programming, which is the automatic selection and assembly of components on demand. First, we argue that the current OO technology does not support reuse and configurability in an effective way. Then we show how a system family approach can aid in defining reusable components. Finally, we describe how to automate the assembly of components based on configuration knowledge. We compare this paradigm shift to the introduction of interchangeable parts and automated assembly lines in the automobile industry. We also illustrate the steps necessary to develop a product line using a simple example of a car product line. We present the feature model of the product line, develop a layered architecture for it, and automate the assembly of the components using a generator. We also discuss some design issues, applicability of the approach, and future development. 1 From Handcrafting to an Automated Assembly Line This paper is about a paradigm shift from the current practice of manually searching for and adapting components and their manual assembly to Generative Programming, which is the automatic selection and assembly of components on demand. This paradigm shift takes two steps. First, we need to move our focus from engineering single systems to engineering families of systems—this will allow us to come up with the “right” implementation components.
    [Show full text]
  • Logo Philosophy and Implementation TABLE of CONTENTS
    Logo Philosophy and Implementation TABLE OF CONTENTS INTRODUCTION What is Logo? Who Needs It? by Seymour Papert ................................................... IV THE COMPUTER IN COSTA RICA: A New Door to Educational and Social Opportunities Photographs accompanying each chapter are used by Clotilde Fonseca ........................................................... 2 with permission of the authors. THE SAINT PAUL LOGO PROJECT: The samba school photograph in the Brazil chapter is used with permission An American Experience of the photographer John Maier Jr. by Geraldine Kozberg and Michael Tempel ............................ 22 THE RUSSIAN SCHOOL SYSTEM AND THE LOGO APPROACH: Two Methods Worlds Apart Graphic design by Le groupe Flexidée by Sergei Soprunov and Elena Yakovleva ............................... 48 © Logo Computer Systems Inc. 1999 A LOGO POSTCARD FROM ARGENTINA All rights reserved. by Horacio C. Reggini .................................................................... 78 No part of the document contained herein may be reproduced, stored LOGO IN AUSTRALIA: in retrieval systems or transmitted, in any form or by any means, A Vision of Their Own photocopying, electronic, mechanical, recording or otherwise, without by Jeff Richardson ............................................................ 96 the prior approval from Logo Computer Systems Inc. THE CONSTRUCTIONIST APPROACH: Legal deposit, 1st semester 1999 The Integration of Computers ISBN 2-89371-494-3 in Brazilian Public Schools Printed 2-99 by Maria Elizabeth B. Almeida
    [Show full text]
  • Reliable and Automatic Composition of Language Extensions to C
    Reliable and Automatic Composition of Language Extensions to C The ableC Extensible Language Framework 98 TED KAMINSKI, University of Minnesota, USA LUCAS KRAMER, University of Minnesota, USA TRAVIS CARLSON, University of Minnesota, USA ERIC VAN WYK, University of Minnesota, USA This paper describes an extensible language framework, ableC, that allows programmers to import new, domain-specific, independently-developed language features into their programming language, in thiscase C. Most importantly, this framework ensures that the language extensions will automatically compose to form a working translator that does not terminate abnormally. This is possible due to two modular analyses that extension developers can apply to their language extension to check its composability. Specifically, these ensure that the composed concrete syntax specification is non-ambiguous and the composed attribute grammar specifying the semantics is well-defined. This assurance and the expressiveness of the supported extensions is a distinguishing characteristic of the approach. The paper describes a number of techniques for specifying a host language, in this case C at the C11 standard, to make it more amenable to language extension. These include techniques that make additional extensions pass these modular analyses, refactorings of the host language to support a wider range of extensions, and the addition of semantic extension points to support, for example, operator overloading and non-local code transformations. CCS Concepts: • Software and its engineering → Extensible languages; Translator writing systems and compiler generators; Additional Key Words and Phrases: extensible compiler frameworks, domain specific languages, language composition, attribute grammars, context-aware scanning ACM Reference Format: Ted Kaminski, Lucas Kramer, Travis Carlson, and Eric Van Wyk.
    [Show full text]