Artmaking Through Creative Coding

Advisor:
Professor Olga Hubard

Submitted in partial fulfillment of the
requirements for the Master of Arts Degree in
Teachers College, Columbia University

2017

Abstract

Digital literacy is increasingly understood to be a vital requirement for participation in modern society. At the same time, youth from diverse and disadvantaged backgrounds lack access to STEM fields and their associated educational pipelines. In this context, tools such as Processing and Scratch were developed to require less explicit in-school instruction, and to appeal to a wider variety of learners by closely coupling programming to artmaking. While the effectiveness of these creative coding tools with regards to teaching computer science and programming concepts has been studied fairly extensively, far less time has been spent considering the art produced through their use. Through an observation of projects created with Processing and Scratch and posted online, this paper explores the experience of artmaking through creative coding. Art generated through Processing and Scratch appears to engage with a broad variety of interests, passions, and differing purposes, potentially opening links to new audiences of learners. The tools and the community around them also reflect the wider share-everything mentality of the culture of making, and offer direct connections between physically separated artists. By expanding the idea of what constitutes a medium and drawing connections across disciplines, creative coding demonstrates a potential for reshaping not only art and technology education, but education itself.


Table of Contents

Introduction

Background to the problem

Problem statement

Primary research question

Secondary research questions

Significance

Literature Review

Computer art to the birth of creative coding

Processing

Scratch

Coinciding with the culture of making

Past research on creative coding tool use

As a means to teach computer science concepts

As a means to introduce programming to more diverse learners

As a means to new media

A look at creative coding online communities

Method

Methodology

Design of the study

Site

Participants

Researcher’s role

Data collection

Limits of the study

Data analysis

Positionality

Ethical considerations

Findings

Generation

Appropriation

Behavior

IRL

Purpose

Summary

Discussion

Generation and appropriation

The complications of remixing

Remixes, popularity, and “art”

Limited commonalities, and increasing differences

Real life and a sense of place

The issues of purpose

Implications

Supporting more diverse learners

Inclusivity, code, and community

Linking fields and remixing concepts

Conclusion

References

Introduction

Background to the problem

As the internet and computing technologies have matured, so too has the understanding that digital literacy is a vital competency for participation in the new economy. At the same time, “new media” has become less new and increasingly a label for a rapidly expanding area of artistic exploration and innovation. Technology inexorably marches on, and in doing so has continued to close the gap between the once separate spheres of computer science and the arts. New tools are allowing computer scientists to create art and artists to write code with less overhead, and greater conceptual overlap, while at the same time preparing both groups for the modern digital economy.

STEAM, the integration of art into STEM education, is a recent and explicit argument that science, technology, engineering, and math are strengthened through a connection to the arts. In particular, STEAM offers the chance for increased opportunities in design and engineering fields (Martin, 2015, p.30), alongside the general benefits of a more holistic and inclusive education.

One area where the arts, math, and technology are increasingly intertwined, is what is sometimes referred to as “creative coding.” Creative coding is hardly a formal term, but it has enough mindshare to be sprinkled throughout the literature (Greenberg, 2007; PBS, 2013), even if it lacks much in the way of firm academic definitions. That said, I would argue it is a practice characterized by utilizing computational, programmatic concepts and tools for creative, artistic pursuits. For the fields of computer science and mathematics, creative coding offers the chance to blunt the perceived difficulty and high drop-out rates that plague introductory computer science classes (Li and Watson, 2014). For artists, it is a chance for new forms of artistic expression, utilizing mathematics and data in a manner inaccessible outside of the computer.

As the number of creative coding tools and languages continues to grow, so too does the number of tutorials, books, and videos available to those learning to use them. The technology and the support around creative coding has matured, while mainstream understanding and use of these tools is still limited, and so too is any deep understanding of what this means for future art making.

Problem statement

Much of the research thus far on integrating the arts into STEM education has been focused around the tools as a means to do so. But as Robb & Lauricella (2014) point out, this tool-first mentality starts breaking down in the context of modern technology such as iPads, where the apps themselves are such a variable part of the experience. The tools are increasingly not themselves the focus of educational efforts: it is the ideas around them.

The tool-centric view of technology is especially outmoded when it comes to creative coding. Not because tools are not present, but because the nature of the tool is more distributed. Core coding concepts generally exist independently of any language or tool, and the surrounding environment, both technically and socially, is critical to the learning process. Overlooking the “community and mindset” as Martin (2015, p.37) put it, will almost certainly lead to failure.

The experiential side of the ledger with regard to arts-centric technology has not been extensively considered. Part of the reason for this is likely the newness of creative coding as anything approaching a mainstream medium. Prior to the initial releases of tools such as Vvvv (1998), Processing (2002), openFrameworks (2005), Scratch (2007), and P5.js (2014), the options for someone attempting to code for art would have been much more limited and far less accessible. For learners new to coding, it would have been a practical impossibility. New technologies take time and effort to be adopted into the canon of education, and creative coding tools are no exception.

A further complication is that these tools are flexible enough to be used for a variety of different ends, expanding the breadth of ways they could be studied. Processing alone is used for everything from data analytics, to game making, to interactive videos. Part of what makes creative coding tools so exciting also makes them hard to pin down. And curriculum surrounding these tools has yet to solidify, or exists merely as “old wine in new bottles” (Justice, 2015, p.131). In light of this, it should not be surprising that the research around creative coding is made up of arguably more holes than substance.

MIT’s Scratch programming language has been studied more than most, but even that largely exists in the realm of research on the breadth and depth of participants’ coding abilities (Scaffidi & Chambers, 2012; Matias, Dasgupta, & Hill, 2016). As to the manner of artworks being created through these coding tools, there exists almost no formal research. The less quantifiable work of understanding the scope of what is being created has yet to be done.

Another part of the reason for the lack of research in this area may be the cross-disciplinary competencies needed to perform it. Considering educational and creative coding tools in the light of art requires researchers to think both laterally—in the sense of how students are being introduced to the concept of coding—and forward—in the sense of the expanding purview of technological art making. Looking at art education in this way necessitates looking outside of the traditional arts classroom, and potentially outside of researchers’ own core competencies. The reality is that experts in both fields are few in number, and the research reflects that.

Primary research question

Secondary research questions

Significance

With the digital revolution showing few signs of slowing down, it is vital that we consider what this means for the creation of art. It is a laudable goal to push for creative coding and digital art creation on the basis of growing competency with technology, but the product of this effort is not just confined to downstream effects in STEM fields. The art and the experience of making the art are equally important, and may lead to further innovation and exploration, both technically and artistically. Creative coding means more than just creating a new generation of coders: it might mean a new generation of art.

If “digital equity” (Peppler, 2010, p. 21) is to be achieved it is imperative that we understand what students are experiencing when they interact with new media technologies, and what they are creating. Too little has been done to analyze creative coding tools despite the increasing prevalence of their use, and it is past time for more research into this area. Better understanding the manner of art created through creative coding is vital to figuring out its role within the arts context, both now and going forward.

Literature Review

Investigating the use of creative coding tools is a challenge for a number of reasons, not the least of which is their relative newness. A review of the literature surrounding art generated through software like Processing or Scratch is going to be piecemeal, and at times appear unrelated. Much of the current research is centered around studies on the use of these kinds of tools in introductory computer science classrooms (Dohn & Wagner, 1987; Malan & Leitner, 2007), or the specific use of Scratch in workshop settings (Burke & Kafai, 2010; Peppler & Kafai, 2008). While both approaches offer important pieces of the larger whole, research with art as the primary focus is far less common, and often requires some reading between the lines.

One way to proceed out of this gap is to step back and consider how the wider environment has led to this point. New media may be relatively new, but it still has its own history and developmental arc. The growth of creative coding has tracked closely to the rise of “making” or “maker culture” (Halverson & Sheridan, 2014), which has been written about extensively both academically and in the popular press. Considering the culture surrounding these tools and this manner of making is one way to get closer to the related experience of creating art through code. In many places the maker movement and creative coding overlap, with the latter often utilized by the former, and both occupy similar spaces within the greater sphere of art and technology.

Reflecting this, in this literature review I will begin from the point of what creative coding tools are and the impetus for their development. Following that, I will discuss the rise of the culture of “making” and how it has incorporated the tools of creative coding, and where the two overlap. I will then consider where they differ, with a focus on issues of inclusivity and diversity. Next I will review past research on creative coding in educational contexts. Lastly, I will look to where creative coding, maker culture, and the sharing of artwork intersect in online communities, and the kinds of research that have previously been undertaken.

Computer art to the birth of creative coding

Art has been created with computers for nearly as long as computers have existed. Ben Laposky’s “Oscillons,” in which he used oscilloscopes to manipulate the flow of electrons to a small screen, date to the early 1950’s, and are arguably some of the earliest computer art works ever created (“A History of Computer Art”, n.d.). Frieder Nake began creating his algorithmic plotter drawings in the 1960’s, generating striking homages to Paul Klee in the process (“A History of Computer Art”, n.d.). Both artists predated the introduction of the modern graphical user interface (GUI) by Xerox PARC in the 1970’s, and effectively had to generate their works with tools and implements of their own creation.

For mathematicians and computer scientists, coding the environments and systems by hand to generate art might have been doable, but for the average individual it would be decades more before computer-based art making tools would start to become accessible. Familiar programs like Microsoft Paint would launch in 1985, Adobe Photoshop in 1990, and Macromedia Flash (later branded as Adobe Flash) in 1996. However, each of these and similar tools arguably supported existing artistic mediums such as photography and animation more than they served new ones. In the mainstream, the computer was still not necessarily a tool for new media, and coding was not a tool for art making.

Processing. In 2001 Ben Fry and Casey Reas began work on what would become Processing, marking the rough beginning of creative coding as anything approaching an accessible, widespread phenomenon. In part a spiritual successor to John Maeda’s Design by Numbers framework, Processing was initially conceived within MIT’s Media Lab Aesthetics and Computation Group (Maeda, 2009). Fry and Reas designed Processing to act as a first programming language (“Overview”, n.d.), but one that would drastically shorten the distance between code and visual feedback (Reas & Fry, 2015). The idea being that a large part of what makes learning to code so difficult and so off-putting is how obscured the path is from what you have to learn to what you want to make. Reas & Fry (2015) described this problem as having to eat your vegetables before you can have dessert (p. 1).

Processing was not the first coding tool designed with creative visual expression in mind, but it came at the right time. The drive towards STEM education over the last decade has fueled the need for new ways for students to learn to code, that are more accessible to wider numbers of people. Processing is one of perhaps two main tools for doing so that have been adopted into educational settings, and is particularly prevalent at the high school and univers­ity level.

Scratch. For younger learners, it is MIT’s Scratch that has become the primary entry point into coding creatively. Scratch is a visual block-based programming language, where virtual blocks can be “snapped” together to create programmatic instructions (Dasgupta & Resnick, 2014). Scratch development began in 2003, with the modern web-based version initially launching in 2007 (Resnick et al., 2009).

Scratch was designed specifically to serve youth ages 10-18 from economically disadvantaged and culturally diverse communities (Maloney et al., 2004). This would be a pretty unique characteristic on its own, but its creators also sought to design something that could be used independently of the traditional classroom, and appeal to students’ existing interests (Maloney et al., 2004, p. 1). They wanted to “nurture a new generation of creative, systematic thinkers” (Resnick et al., 2009, p.60), and build a language that encouraged a diversity of different kinds of projects, intense personalization, and a social community.

As far as the tools go, Processing and Scratch are quite different. While Processing adheres to the more traditional text-based system of input, Scratch works entirely through the metaphor of building with blocks. Scratch blocks come in a variety of shapes and colors, and critically are only allowed to be connected if they can properly function together. Maloney et al. (2004) justified the block-based approach primarily on this basis, as it eliminated the chance for syntax errors (essentially grammatical mistakes in code), which had long proven an obstacle for learning traditional textual programming languages. This would allow new learners to “focus on the problems they want to solve, not the mechanics of programming” (Maloney et al., 2004, p. 4).

Today the Scratch website currently hosts almost 22 million projects, spanning all manner of interactive stories, art, games, and more, built by more than 18 million registered users (“Scratch Statistics”, n.d.).

Coinciding with the culture of making

At the same time that creative coding tools were starting to hit anything approaching the mainstream, so too was the “maker movement” or culture of “making” gaining momentum. Make magazine, a “central organ” of the movement (“More than just digital quilting”, 2011), published its inaugural issue in 2005, and the first “Maker Faire” was held in the Bay Area in 2006 (“Maker Faire: A Bit of History,” n.d.).

Halverson & Sheridan (2014) defined the maker movement as “people who are engaged in the creative production of artifacts in their daily lives and who find physical and digital forums to share their processes and products with others” (p.496). Adweek (Voight, 2014) described it as “a convergence of computer hackers and traditional artisans.” The Economist (“More than just digital quilting”, 2011) as “an outgrowth of digital culture, made possible by the convergence of several trends.”

Taken together, the maker movement is most commonly characterized by a combination of technology, attitude, and community. “Making” comes in a particular context of tools and creative impulses. This is much the same as the driving ideas behind the creation of creative coding tools. Resnick et al. (2009) emphasize that by using Scratch, youth are learning mathematical and computational concepts, how to think and reason creatively, and how to collaborate with others (p. 60). John Maeda (2009), in discussing what brought on the creation of Processing, mentions how its designers wanted other programmers and artists to have “an easy way to share work with each other and understand each other’s ideas.” Those designers would themselves implore learners “in the spirt of community” (Reas & Fry, 2015, p. 5) to share their projects and knowledge online, at Processing.org and other social media platforms.

The three pillars of technology, attitude, and community are both common to creative coding and the maker movement, and their fundamental foundations. In the case of creative coding, the technology aspect is for all practical purposes inseparable from the greater concept. Code has meaning because of the technological systems supporting it, from silicon to software. For making, it is tools like 3D printing or microcontrollers in the form of Arduino or Raspberry PI that are, almost without exception, mentioned in any press coverage or study pertaining to the larger movement. In less common cases, coding, programming, or hacking are mentioned as being a part of the maker movement (Madda, 2016; Martinez & Stager, 2013; Martin, 2015), operating as the firmly digital end of the new media toolset.

Coming to this point it might be tempting to think of creative coding as simply a subset of the larger maker movement, firmly enclosed within. This would be a mistake for many reasons, not the least of which are rooted in some of the criticism of the culture of making, and particularly its practical implementations.

Arguably one of the great attractions of the maker movement is built on the premise of “if you build it they will come.” That simply through providing the technology, it is possible to reap the benefits of its use. But by treating the tools that are so characteristic of making as the driving power of the movement, the more compelling accompanying cultural shift is lost. Martin (2015) goes so far to describe this as a “fatally flawed conceptualization” that will “certainly fail” (p. 37). Justice (2015) ran into this same problem from another perspective, noting the perceived pressure instructors felt to adapt iPads into curricula already well served by pencil and paper (p. 121). Changing a lesson from paper to iPad does not fundamentally change the nature of the lesson, just the medium. It is based on the assumption that the new technology is somehow better than old, even when in service of the same problem.

What makes creative coding relevant is what it can do to shift what we can create, and how we learn, with particular regards to art and code. Divorced from the culture and support surrounding them, the tools revert to only being useable by those who already possess the skills and educational capital to utilize them. As Robb & Laruicella (2014) put it, “do not assume that simply giving a child a device will lead to learning” (p. 80). It is the attitude and culture surrounding creative coding that make it matter in a wider context, and support particularly creative forms of artistic expression.

Further cause for not linking creative coding and the maker movement too closely can be found in their differing approaches to inclusivity. Anytime “culture” is used to describe a phenomenon it is important to consider the question of just whose culture is it? And in the case of the maker movement especially this has raised a troubling answer.

Diversity and inclusivity

Grenzfurthner & Schneider (n.d.) refer to the “white male nerd dominance” of “hackerspaces”, one of many names for spaces catering to maker culture. Halverson & Sheridan (2014) draw the connection back to the “tinkerer” and robotics cultures that came before (p. 497), themselves dominated by white male representation. Perhaps most damningly, at a presentation at Stanford’s FabLearn conference for digital fabrication in education in 2013, Elizabeth Buechley looked back on the past nine years of Make magazine covers and found that 85% depicted men, 15% depicted women, and incredibly zero percent depicted any people of color, saying “holy fuck Make…are you serious?” (2013).

Buechley (2013) made clear that she believes we are all makers, but posed the question of who are the makers when we talk about “making”? Chachra (2015) personally answered this in the negative, declaring that she is not a maker, precisely because of the male-dominated system of valuation surrounding what is “made.” Perhaps this is the danger in any branded movement, with the brand serving its consumer niche. And in the case of the maker movement, that is predominantly white men.

Creative coding is not free from the concerns of representation either. The development of creative coding is in many ways a response to the lack of diversity within computer science and the technology sector at large. As the creators of Scratch have said “we wanted to develop an approach to programming that would appeal to people who hadn’t previously imagined themselves as programmers” (Resnick et al., 2009). Reas & Fry (2015) describe Processing as a “positive departure” from the way that programming is usually taught, and that it is in large part aimed at art and design students first learning to code (p. XI).

The underlying implication in both projects is that you open up programming to more people when you start supporting more diverse forms of creation.

Past research on creative coding tool use

Past research on creative coding tends to align with one of three perspectives: the efficacy of teaching computer science, expanding programming to more diverse audiences, or the possibilities of new kinds of digital projects. Each offers a piece of grander vision for creative coding, but the purposes and intentions behind the research are at times starkly different.

As a means to teach computer science concepts. The most straightforward way to consider creative coding is simply to ask how effective it is at teaching programming. As a field, programming exists within the wider realm of computer science, in which there is a widespread understanding that introductory courses are generally seen as extremely difficult (Bennedsen & Caspersen, 2007). Watson & Li (2014) went so far as to describe the phrases “failure rate” and “programming course” as “almost synonymous” (p. 39). The challenge of teaching programming is often viewed as a twofold problem: one of both conveying difficult subject matter, and of retaining new learners past introductory courses. Under this lens, creative coding could offer a solution to both issues.

Meysenburg (2011) describes one approach by a small liberal arts college to incorporate Processing into their introductory CS1 course. Focusing largely on engagement and retention, Meysenburg argued that traditional console-based approaches did not “’grab’ or excite today’s students” (p. 3), and that by utilizing the media-output heavy Processing, they would be able to both retain more majors in the department and attract more students into it, while still teaching Java (and programming) fundamentals. While largely anecdotal, Meysenburg described the department as being “very satisfied” (p. 13) with the choice to use Processing.

The approach and justification outlined by Meysenburg (2011) largely mirrors that of Malan & Leitner’s (2007) proposed use of Scratch for introductory computer science courses at Harvard. Their goal was “not to improve scores but instead to improve first-time programmers’ experiences” (p. 223). Again, the “grabbing” power of creative coding was in full force, empowering students to create the kinds of work that would be meaningful to them, rather than having to focus on learning syntax.

Other researchers have attempted to measure learning output through creative coding tools more quantitatively. Scaffidi and Chambers (2012) looked at the breadth and depth of more than 1000 online Scratch projects by 250 users by considering the types and amounts of different coding blocks in use. The idea being that the greater the number and variety of blocks used over time, the more concepts a user was learning and incorporating into their work. Ultimately they found that users of Scratch tended to use fewer blocks of decreasing diversity over time, but a later revisitation of the same study with a more complete dataset found precisely the opposite (Matias, Dasgupta, & Hill, 2016). By looking at the full dataset of nearly 650,000 projects by 140,000 users, Matias, Dasgupta, & Hill (2016) concluded that Scaffidi & Chambers (2012) had likely simply drawn an “unlucky” (p. 4) sample, and that more time spent with Scratch leads to a greater depth and breadth of understanding. This is reassuring, if not intuitively unsurprising.

One of the most important aspects of creative coding is the ability to easily share and engage with other users. Both Processing and Scratch strongly promote sharing as an integral part of the creative process, but Scratch goes a step farther by employing the concept of “remixing” for online projects. A Scratch “remix” is a modified and re-shared version of a project uploaded to the Scratch website, and constitutes approximately one third of all recently uploaded projects (“Remix”, n.d.). Research into remixing has found that users who do so more often have “larger repertoires of programming commands” (Dasgupta, Hale, Monroy-Hernández, & Hill, 2016, p. 1), and that exposure to new concepts through remixing increases the “likelihood of using those concepts” (p. 1).

For computer science educators, creative coding allows for a decreased focus on the dull grind of learning syntax and command line interaction, and an increased ability for students to create the kinds of things they want to make (including games, animations, and other art). Creative coding is part of the solution to the issue of retention by making programming more appealing to new learners, both for those who intend to become computer science majors, and for those who otherwise might not.

As a means to introduce programming to more diverse learners. If creative coding can make programming more engaging for people who have already been attracted to it, what can it do for those who haven’t? If tools like Processing and Scratch can “grab” and retain more learners who already felt welcomed enough to consider the field, then perhaps they can also act to expand it to learners who are excluded. In this mindset, the second perspective of past creative coding research takes aim at how to expand the field of programming to a more diverse audience, and include individuals that have not had the privilege of access to more traditional computer science education.

The technology sector has a well-known and frankly shocking problem with diversity. In a comprehensive “tech diversity scorecard” published by The Verge (Ricker, 2015), fully 71% of the employees at Google, Facebook, Twitter, Microsoft, Apple, Amazon, and Intel were identified as male, and 60% as white. In an article published by Re/code (Wagner, 2015), a former manager at Twitter who identifies as Black described a lack of “diversity in thought” and an even greater lack of diversity in “action.” It is worth stating the obvious here and saying this is bad.

The exclusion continues across into academia. In 2014 not a single Black high schooler took the Advanced Placement exam in computer science in eleven US states, or a Hispanic high schooler in eight (Heitin, 2014). Of the nearly 5,000 test-takers in California, only 74 identified as Black (Heitin, 2014). When Resnick et al. (2009) talk about the importance of making “the floor even lower and the walls even wider” for programming with Scratch (p. 63), this lack of diversity is the unspoken driver behind that impulse.

“Widening the walls” as Resnick et al. (2009) described, is an idea repeated throughout creative coding literature. Malan & Leitner (2007) proposed the use of Scratch for first-time programmers, in an effort not to improve scores but to improve “experiences” (p. 223). What they found was that students without prior background in programming had noticeably more positive views of Scratch than their peers, with the only neutral and negative comments coming from those who already had experience working with code (p. 227). In light of who the tech sector is excluding, a challenge to the established narrative of computer science learning in favor of those who are new as opposed to those who are experienced is a positive development for the greater goal of diversity.

Maloney, Peppler, Kafai, Resnick, & Rusk (2008) looked at implementing Scratch in after school programs, in an effort to reach learners not served by in-school resources. As they saw it, part of the challenge of expanding programming education was combatting the lack of “instructional interventions” and “experienced mentors” (p. 367) in schools attended by low-income students. What they found was that work created with Scratch better resonated with the interests of the students, and perhaps most surprisingly that the youth did not see what they were doing as “programming” (p. 370). Again, as with Malan & Leitner (2007), what might sound negative at first implies a different and better kind of experience for new learners. Not identifying Scratch as computer programming means that for those youths the bias and exclusionary reality of the wider field were temporarily irrelevant while they worked on their projects, following their own interests.

Peppler & Kafai (2008) noted that low-income youth are “standing on the sidelines when it comes to developing new technologies” (p. 140), in their study on media-arts workshops in economically disadvantaged communities. That hardly goes far enough: the lack of disadvantaged individuals in programming, computer science, and the tech sector at large is a reflection of the active exclusionary practices that have kept them out. It is not just low-income populations that are excluded, and neither is it a new problem.

Research on incorporating new populations into programming goes back to the early days of personal computing. Dohn & Wagner (1987) investigated teaching computer science to university-level arts students, and found that the vast majority had great difficult learning the concepts. While not yet created at the time of the study, it begs the question of if their results would have been different had they had access to tools like Processing or Scratch, or if they might not have concluded that arts and science may need to be considered as “two different realms” (Dohn & Wagner, 1987, p. 234). Had they been able to start the course by teaching Processing or Scratch instead of PASCAL, would they instead have written about the power of integrative new media?

As a means to new media. Underlying much of the literature is an understanding that creative coding can do more than just increase access to its parent fields. That more than simply support traditional modes of programming and art making, it can draw new lines between mediums in ways previous tools and techniques could not.

Burke & Kafai (2010) looked at creative coding as a way to teach students about narrative and storytelling while developing their writing abilities. Burke & Kafai noted that past research on “digital storytelling” considered solely its effectiveness in introducing learners to programming, whereas they were much more interested in how programming could support storytelling and creative writing skills. What they found was that beyond offering a compelling incentive to push through the challenges of learning to code, the work of learning how to tell a story shifted with the use of Scratch to a more “immediate revisionary” process (p. 351). Rather than have to complete the arc of the story before they could consider its effectiveness, students tended to test individual scenes as they were developed, determining as they went what worked and what did not.

Reworking the mentality of how to create appears again throughout the work on Scratch “remixes”, an aspect of the online tool that allows any Scratch user to easily copy, alter, and re-share the creations of others. Appropriating and engaging with content outside their own allows learners to be exposed to others with “different skills, knowledge, and experiences” (Dasgupta, Hale, Monroy-Hernández, & Hill, 2016, p. 1), and ideally enable them to achieve more complex goals.

This relationship between appropriation and collaboration is pushed even further in crowd-sourced art projects like those described by Dasgupta & Resnick (2014), and Dasgupta (2013), where multiple users could draw onto the same canvas. Dasgupta (2013) points out that one of these types of projects was remixed by a 13-year-old participant in the study, improving on the underlying code of the project (p. 33). This means that not only was there collaboration on the content of the artwork, the very medium of code beneath it was also altered collaboratively.

For creative coding, the creative process is not limited to only the immediate content generated: it is also about engaging and altering the medium beneath. This overlaps with the hierarchical conceptualization required across much of computer science, but also with art making in general, where medium and content are interconnected yet distinct concepts. In this light, one of the most striking findings of Maloney et al. (2008) should come as no surprise: “when asked whether Scratch reminded the youth of anything at school, all of the youth said Scratch was at least like one school subject, and most cited several subjects that they thought connected to their experiences in Scratch. The most frequent response was generally to the arts” (p. 370).

A look at creative coding online communities

At the intersection of creative coding, making, and the drive to expand digital literacy beyond the privilege of the classroom, is the monolith of internet community. Borne out of shared affinities rather than common location or age, internet communities surrounding creative coding provide the means to support, share, and collaborate with fellow learners. These kinds of interactions are integral to both the culture of making, focused as it is on sharing both mistakes and successes (Halverson & Sheridan, 2014), and the greater do-it-yourself (DIY) culture prevalent throughout the internet, with its need for documentation and repetition (Tseng & Resnick, 2014). For creative coding, online communities represent both of these mentalities.

Past research on creative coding online communities are nearly entirely limited to scratch.mit.edu, the online component of Scratch. Hosting nearly 22 million projects by more than 18 million users, with more than 110 million comments, and 180,000 forum discussions with nearly 2 million posts at the time of this writing (“Scratch Statistics,” n.d.; “Discuss Scratch,” n.d.), it is by far the largest and most active of the communities surrounding the primary creative coding tools. In contrast, the Processing and openFrameworks forums are each home to just shy of 20,000 discussions (“Recent Discussions,” n.d.; “About openFrameworks,” n.d.).

Research considering the online Scratch community is framed largely from the same perspective that research on the tool itself is: how social behavior online ultimately affects the development of programming skills (Fields, Giang, & Kafai, 2014; Scaffidi, Dahotre, & Zhang, 2012). In that sense, the results are mixed, with Fields, Giang, & Kafai (2014) finding that for the most part there was no connection between online participation and the use of more complex coding concepts. But the greater question of what role online communities have in the creative learning process is only becoming more relevant with time, as the reach of the social web continues to expand, bringing the opportunity for collaboration along with it.

Of course, what collaboration means for learners new to creative coding is not yet entirely clear. In a study investigating discussion between novice animation programmers on the Scratch website, Scaffidi, Dahotre, & Zhang (2012) noted that “we do not know which kinds of online forum posts are effective at initiating useful discussions, and we even lack information about what collaboration really means in this context” (p. 191). That lack of definition likely has many causes, but it is hardly a stretch to think that it is at least in part a reflection of the fluidity of the creative coding process, and the many routes to collaboration.

In looking at the emergence of an online folk-art gaming community, Salter (2010) called the work of the authors “collaborative yet personal.” Salter observed that individuals would build upon the creations of other members of the community, a relationship between self and group directly reminiscent of Scratch remixing. Furthermore, that re-appropriation was not limited to just work within the community: it extended to the wider culture as well. Salter noted, “it is here—and in spaces like it, throughout the Internet, where older forms of popular culture are routinely processed, consumed, re­mandated, and taken as inspiration for new content that holds its audience through a shared heritage of stories built toward a world of new ideas.”

What Salter identified may well be an inalienable quality of the internet, if not technology as well. Whether it’s research on documentation on the DIY website Instructables (Tseng & Resnick, 2014), or on youth sharing the progression of their artwork over time through animation (Tseng & Resnick, 2016), there is a powerful undercurrent of making process available online in the hope of supporting this kind of creative making. As the children of these tendencies and technologies, the tools of creative coding and their online communities are meaningfully inseparable.

Method

The primary question I set out to investigate was, what can be learned about the kinds of artworks created through creative coding tools by studying their online communities? In analyzing a sample of work featured online by Scratch and Processing users, I sought to better understand what artistic tendencies and trends are being elevated to prominence within those communities.

Methodology

To investigate the kinds of art being made through Processing and Scratch, I considered a sample of recent works posted to the Exhibition section of the Processing website, processing.org, and the Explore section of the Scratch website, scratch.mit.edu. Exhibition and Explore both consist of a curated selection of work produced through each respective tool, though they do so in different ways. What is presented on Explore is derived algorithmically from activity on the scratch.mit.edu platform, whereas Exhibition is more traditionally curated by individuals (“Exhibition,” n.d.), and links out to other locations on the web.

Taking a grounded theory based approach, I sought patterns in the sampled online works through my observations, building up a view of artmaking through these creative coding tools (Merriam, 1998, p. 17). Those observations attempted to take into account the incredible breadth of creation possible through Processing and Scratch, where the idea of medium is increasingly fluid, and interactivity, movement, collaboration, appropriation, and engagement with the physical and digital worlds are all up for grabs.

One of the primary challenges in this study was to be able to analyze a relatively appropriate amount of work in each community. Coding for themes qualitatively is time-consuming, and the numerical bounds of possible works to be considered was in the millions. By looking at a sample of works on the order of dozens that have been determined to be “popular” in each community, I attempted not to generate a perfectly representative sample so much as an aspirational one. In an environment where remixing the work of others has been shown to increase the use of concepts found in those sources (Dasgupta, Hale, Monroy-Hernández, & Hill, 2016), what was “popular” seemed likely to be work that had benefited from this iterative process of adoption and alteration, or will become the basis for such behavior in the future.

Observing what the community chose to elevate allowed for the chance to see what users found particularly engaging, and the kinds of work they may be working towards. Buried in the millions of publically shared Scratch and Processing projects are almost undoubtedly vast numbers of works that are effectively first efforts, where the creators are limited by technical ability more than conceptual creativity. By considering what was “popular” I aimed to avoid considering Scratch and Processing in terms of users’ ability to learn programming, and instead in terms of their ability to generate creative art.

This nonprobability sampling was based in solving the qualitative problem of what kinds of art the tools and community support, rather than in achieving a representative sample of what users are actually generating on a regular basis (Merriam, 1998, p. 61). It was also a criterion-based sampling where the works I considered must have been deemed “popular” either by being featured in the “Exhibition” or “Explore” sections of the processing.org and scratch.mit.edu websites, and listed as “art” on scratch.mit.edu.

Design of the study

Site. The sites of the study are the Processing and Scratch websites, processing.org and scratch.mit.edu. The websites operate fairly differently, with scratch.mit.edu serving as the primary workspace for Scratch users, and processing.org existing largely as a repository of knowledge about the tool and the works generated with it. Both are the primary websites for their respective tool, and the most prominent sources of information for both.

In the case of scratch.mit.edu, the website is Scratch: the most recent version of the tool is entirely web-based and hosted on scratch.mit.edu, alongside the Scratch forums. In the case of Processing, things are much more fragmented: processing.org is the home of the organization that develops and promotes Processing, but the tool is not web-based[1], and does not share as easily as Scratch. Likely for that reason, finding works created through Processing is a more varied process, spread across a variety of social media platforms and enthusiast websites, and isn’t always representative of the true nature of the work. Interactive code might be flattened to a single image or video, diluting any intended multi-sensory experience

Considering these challenges, I chose to solely consider work found through processing.org, trusting that the Processing Foundation would tend to share pieces that are effectively documented, as well as being representative of the tool and the creativity of its users.

Documentation in this case is key, as it is through combinations of text, images, audio, video, and other modes of expression that I hoped to achieve an accurate view of these artworks, whose intended presentation experiences might not be technically or physically available.

For scratch.mit.edu, I sampled works from the Explore section, filtered by “art” and what was “popular”. This limited the selection to what users have uploaded and tagged as “art”, and what the community and scratch.mit.edu algorithms had deemed “popular.” For processing.org, I sampled the most recent works in the Exhibition section, a “curated collection of projects created with Processing” with “new software added each month” (“Exhibition”, 2016).

Participants. Participants for this study were the users of scratch.mit.edu, and the individuals whose work has been shared on processing.org. The total number of participants represented in the study was 100, and while no information is readily available on Processing users, there are some basic statistics available for scratch.mit.edu users. There was no readily available way to determine if the users creating “popular” works on scratch.mit.edu differed noticeably from the community as a whole, but generally speaking scratch.mit.edu users cluster between the ages of 10 and 16, with the most common age being 12 (“Scratch Statistics,” n.d.), and are 67% male according to self-reported figures (Fields, Giang, & Kafai, 2014).

Researcher’s role. My role was as a non-participant, observing works at a remove online, drawing conclusions from those observations.

Data collection. I observed artwork on scratch.mit.edu and processing.org. These works are in one sense documents, but due to the nature of their necessary supporting environments do not always translate well into more traditional images, videos, or clips of sound. For this reason, they might better be thought of as performances; performances that I observed, taking written notes and recording images as appropriate.

The specific artworks I considered are those featured at the time of collection in the Exhibition section of processing.org, and on the Explore section of scratch.mit.edu. I observed 50 works on each site, in an attempt to reasonably respect the variety of art I expected to encounter.

Limits of the study. A study of a handful of artworks has very little chance of being representative of the millions being created through dozens of prominent creative coding tools. Further limiting the sample selection to what was “popular”, and in the case of scratch.mit.edu listed as “art”, compounds the reality that this study does not represent all experiences with these tools. The purpose of this study is to better understand what manner of artistic creations users of Processing and Scratch may be working towards, not what the tools themselves are capable of.

Data analysis. Analyzing the study data presented an interesting challenge. Most of the work I observed I expected to not be bounded in the same way as traditional visual, auditory, or performance media. I utilized research codes to identify patterns and themes, though doing so was difficult when the range of both could be so broad. Miles & Huberman (1994) recommend a “start list” (p. 58) of research codes prior to any analysis, something that seemed particularly helpful here, as the analysis and the collection stages of the study began to muddy.

By building a strong list of research codes to begin with, I hoped to have a framework on which I could start to read the incredible variety of artworks I expected to encounter. That framework however, changed over the course of the research coding. Altheide (as cited in Merriam, 1998) said of categories and variables that guide a study, “others are allowed and expected to emerge throughout”, a phenomenon especially appropriate in the varied case of creative coding.

Through research coding for patterns and themes, altering and changing them both as the data was collected and following, I attempted to build a view of what was consistent and inconsistent between these artworks. Research codes started more descriptive, before shifting to become more interpretive, and illustrative of higher patterns, as recommended by Miles & Huberman (1994).

Positionality

As someone with a background both in computer science and art, I believe that both fields benefit from the increasing overlap afforded by new media technologies. In this sense I am biased to believe that creative coding may have unique value in its ability to build links between artists and computer scientists.

In designing a study I wanted to remove my presence as much as reasonably possible, and for that reason avoided a format where I would interview or otherwise directly interact with any participants. This felt especially appropriate given the digital nature of the study subject, and the asymmetrical form that sharing on the internet often takes, from one to many.

Ethical considerations

The participants in this study have already shared their work online in publically accessible ways, with no reasonable expectation of privacy. Sharing is a core tenant of creative coding platforms (Maeda, 2009), and this study requires nothing more invasive than the observation of public work by public artists.

Findings

In total, I considered 100 artworks on the Processing and Scratch websites, 50 on each platform. I began with a rough list of research codes before settling into a final list of 17, grouped by five main themes. Those 17 research codes were borne both out of my initial understanding of common trends in creative coding, which in part comes from my own artmaking practice, and through careful consideration of my first observations of the artworks. Research codes helped me to illuminate the wider themes in play, while the themes helped me to determine specific phenomena I could isolate through additional research codes.

I will present the findings by the themes listed in Table 1: generation, appropriation, behavior, IRL (a common acronym for the phrase “in real life”), and purpose. I will do so both in terms of the totality of the works and broken out by platform. Each section will begin with a description of the research codes for that theme, followed by a summary of the primary results with descriptions of artworks exemplifying the more complex research codes as needed. I will generally consider the expression of research codes in terms of the percentage of the total per platform, with the aim of building a view of wider trends.

Theme

Research code

Generation

Visual

Auditory

Movement

Appropriation

Image

Audio

Video

Remix

Behavior

Interactive

Elements of chance

Performative

Change over time

Adaptive

IRL

Physical component

Real life analogue

Purpose

Social message

Utilizes data

Solves a problem

Table 1. Themes and research codes.

Generation

The theme of generation consists of three research codes for what kinds of output the piece generated (excluding any purely appropriated, unaltered media): visual, auditory, and movement.Visual consists of any work that has a visible component or focus. Auditory refers to both any generated sounds or music, but not when it is simply the playback of someone else’s work without change (as is the case with many of the Scratch works). Movement is slightly more nuanced, referring to any piece that has a visual component that includes significant movement independent of any user interaction, including pre-written animations or any generative components.

As shown in Table 2, nearly every artwork reviewed across both platforms had an important visual focus. The single exception, the Processing work Automatic Orchestra, was an entirely auditory experience. The 99 other works all utilized some form of visual expression, whether static or dynamic, or digital or physical.

Generation

Count

Percentage

Processing

Scratch

Both

Processing

Scratch

Both

Visual

49

50

99

98%

100%

99%

Auditory

13

1

14

26%

2%

14%

Movement

29

29

58

58%

58%

58%

Table 2. Generation. The theme of generation consists of three research codes: visual, auditory, and movement.

Twelve other Processing pieces and a lone Scratch piece joined Automatic Orchestra in containing essential auditory experiences, separate from any appropriated audio. The majority of these pieces either utilized some form of generative sound creation, or recordings of noises or voices created for specifically them. In total, twenty-six percent of the Processing works and two percent of the Scratch works contained auditory elements.

Movement was incorporated into fifty-eight percent of both the Processing and Scratch artworks, effectively mirroring the near match for those expressing essential visual elements. The Scratch work Journey's End (AMV | Art) (Figure 1) provides an effective example, utilizing relatively simple animations that lead to a strong visual and emotional impact. The pieces that did not include movement tended to be either static images or physical objects.

Figure 1. Journey's End (AMV | Art). Two still images from the Scratch work Journey's End (AMV | Art), a particularly strong example of movement and animation among the group of artworks considered (https://scratch.mit.edu/projects/118184025/).

Appropriation

The theme of appropriation consists of four research codes, image, audio, video, and remix, to distinguish what kinds of works by other artists were incorporated into the piece. Image consists of both directly imported photos or illustrations, or their close and accurate reproduction. Audio includes any appropriated sounds or music, and video any appropriated video clips or their effective if not literal equivalent, like extended animated GIFs. The final research code, remix, includes any piece that significantly borrows or builds on the work of another, and utilizes it as its primary focus.

As Table 3 shows, similar percentages of both the Processing and Scratch artworks included appropriated imagery (26% and 23%), video elements (8% and 2%), or in some way remixed past media (20% and 14%).

Appropriation

Count

Percentage

Processing

Scratch

Both

Processing

Scratch

Both

Image

10

13

23

20%

26%

23%

Audio

8

30

38

16%

60%

38%

Video

4

1

5

8%

2%

5%

Remix

10

7

17

20%

14%

17%

Table 3. Appropriation. The theme of appropriation consists of four research codes:image, audio, video, and remix.

The majority of the Scratch remixes are simply utilizing the built-in remix function of the platform, making it very straightforward to categorize them as such. Mountains (art) (Figure 2) is one Scratch work that does not, but in its description the creator notes that they based the piece off of an image they found on Google. In a sense, Mountains (art) is a remix of that image, altering and enhancing aspects of the original.

Figure 2. Mountains (art). A still image from Mountains (art), a Scratch work inspired by an image the artist found through Google (https://scratch.mit.edu/projects/127878796/). This is an example of a remix created outside of the built-in Scratch remix function.

Processing works like Strata (Figure 3) and Digital Natives perform a similar act of remixing, taking classical paintings and household objects respectively and refashioning them into something new. The Processing remixes tend to be built upon works outside of the spectrum of creative coding, whereas the Scratch remixes are usually branches off of previous Scratch projects.

Figure 3. Strata. An installation image of Strata, a work generated in part with Processing that remixes classical works of art (http://www.quayola.com/strata4/).

Compared to the other appropriation research codes, Processing and Scratch works diverged most heavily in their appropriation of audio. Fully 60% of the Scratch works reviewed included some form of this appropriation, and the overwhelming majority of those were utilizing songs as the background music to an animation. In some cases the music was synced or intimately paired to the visuals (Ready Aim Fire Collab (Storyboard),Swan Lake Art), and in others this was not clearly the case ( art curve2, Pixel Art Gallery). In comparison only 16% of the reviewed Processing artworks included any appropriated audio elements.

Behavior

The theme of behavior consists of five research codes, interactive , elements of chance, performative, change over time, and adaptive, that describe how the piece acts and its relationship to the viewer. Interactive consists of any work that asks for meaningful contribution by the viewer to fulfill the experience. Elements of chance includes any piece that relies on an aspect of randomness, separate from intentional random action by the viewer. Performative includes any piece that is fundamentally meant to be experienced as a sequence, over a unit of time.

The two research codes change over time and adaptive, are slightly more nuanced. Change over time refers to a piece that becomes in some way new after a period of time. This is different than something like a video that looks different at the 10 minute mark than the 5 minute mark: the piece itself must change, as opposed to simply presenting aspects that were entirely predetermined. Adaptive is one step further into the esoteric, referring only to a piece that permanently alters itself in response to an outside stimulus.

As shown in Table 4, the numbers of Processing and Scratch works with interactive elements were quite close, with 48% percent of former and 40% of the latter exhibiting some form of viewer interaction. Similarly, the numbers of works that could be considered performative were also fairly close, at 50% and 38% for Processing and Scratch pieces respectively.

Behavior

Count

Percentage

Processing

Scratch

Both

Processing

Scratch

Both

Interactive

24

20

44

48%

40%

44%

Elements of chance

20

8

28

40%

16%

28%

Performative

25

19

44

50%

38%

44%

Change over time

20

2

22

40%

4%

22%

Adaptive

5

0

5

10%

0%

5%

Table 4. Behavior. The theme of behavior consists of five research codes:interactive, elements of chance, performative, change over time, and adaptive.

Where behavior diverged was in the incorporation of elements of chance (40% versus 16%), change over time (40% versus 4%), and arguably adaption (10% versus 0%). Processing artworks were far more likely to include aspects of randomization than those created with Scratch, and similarly much more likely to change over time. In part, this may be a reflection of the nature of those research codes, as enduring “change” is supported by incorporating elements of randomness that ensure differing results over time.

Non-Linear Code (Figure 4) is an example of a Processing work that links these concepts of chance and change over time. Taking inspiration from nature, Non-Linear Code is comprised of programs that iterate over time, many of which “could be seen as sets of wave generators interacting with one another” (“Exhibition,” n.d.). As the waves interact, the visuals change, with no clear point to end on. The elements of chance exist in the unpredictable crashing of the waves together, even if perhaps from the perspective of the mathematics underpinning the piece there may be no ambiguity in the calculations.

Figure 4. Non-Linear Code . A still image from Non-Linear Code, a work created using Processing and inspired by natural phenomena (http://dextro.org/hhhh/h006/h006c.html).

None of the Scratch works reviewed incorporated adaptive behavior, compared to 10% of those created with Processing. Considering the fine lines between adaption, interaction, and change over time, the fact that only five total works met the conditions of this research code is not hugely surprising. Traces, Physical Programming of Freeform Folding in Soft Matter (Figure 5), exemplifies this specificity, as its core behavior could nearly as easily be considered in a number of other contexts. Traces, Physical Programming of Freeform Folding in Soft Matter utilizes Processing to print patterns on polystyrene sheets that deform in response to light. It would not be all that different to think of this behavior in terms of performance, or interactivity, instead of as an adaption to the piece’s environment.

Figure 5. Traces, Physical Programming of Freeform Folding in Soft Matter. A still image from the video documentation for Traces, Physical Programming of Freeform Folding in Soft Matter (https://vimeo.com/133662815).

IRL

The theme of IRL, a common acronym for the phrase “in real life,” consists of two research codes, physical component, and real life analogue, to describe a piece’s relationship to the non-digital world. Physical component refers to any work that has some component in real space outside of any representation within the computer. This includes such material creations as sculptures, prints, robotics, hardware, and anything else with a distinctly non-digital presence. The second theme of real life analogue is closely related to the first, but includes any work that seeks to represent something with an equivalent outside of digital space.

As shown in Table 5, Processing and Scratch works differed heavily in their expression of the IRL elements. Zero of the Scratch artworks utilized any sort of physical component compared to 32 (64%) of the Processing ones. Only slightly less stark by comparison, 68% of the Processing pieces had corresponding real life analogues, compared to 20% of Scratch pieces.

IRL

Counts

Percentage

Processing

Scratch

Both

Processing

Scratch

Both

Physical component

32

0

32

64%

0%

32%

Real life analogue

34

10

44

68%

20%

44%

Table 5. IRL. The theme of IRL, which is a common acronym for "in real life," consists of two research codes: physical component, and real life analogue.

In the case of physical components, the gulf almost assuredly reflects the nature of the platforms. Scratch is a fundamentally web-based tool, with web-based creation and built-in web-based sharing and exhibition, so it should come as little surprise to see that all the works considered are those that stay bounded within that medium. Processing, at the time of this writing, lacks any dedicated online editor and so requires some level of technical translation to even be visible in that space.

In terms of real life analogues, both Processing and Scratch works drew from human and natural sources alike. The Scratch work Pixel Art Seasons (Figure 6) recreates the four seasons (and a few more hidden ones) in a digital space, whereas Swan Lake Art finds its inspiration in the Tchaikovsky ballet.

Figure 6. Pixel Art Seasons. A still image from Pixel Art Seasons, a Scratch work that corresponds to the seasons of nature (https://scratch.mit.edu/projects/11878182/).

Purpose

The final theme is centered around the idea of purpose, and includes three research codes: social message, utilizes data, and solves a problem. The first, social message, reflects any wider call to action or social commentary present in the artwork, or underlying it. Utilizes data includes any piece that relies on information that could reasonably be considered a dataset, either for interpretive or artistic purposes. The final theme, solves a problem, consists of any work that explicitly sets out to generate a solution or answer to a specific challenge.

As shown in Table 6, there is a clear contrast between Processing and Scratch works in terms of purpose. Only a single Scratch work (2%) incorporated a clear social message, compared to 12 of those created with Processing (24%).

Purpose

Count

Percentage

Processing

Scratch

Both

Processing

Scratch

Both

Social message

12

1

13

24%

2%

13%

Utilizes data

15

0

15

30%

0%

15%

Solves a problem

10

3

13

20%

6%

13%

Table 6. Purpose. The theme of purpose consists of three research codes:social message, utilizes data, and solves a problem.

Processing works like In the Air, COP15 Generative Identity, and Avena+ Test Bed (Figure 7) are all statements or explorations around humanity’s relationship to the environment, and the environmental effects of human activity. Other pieces like Just Landed explore the spread of epidemics, Cascade : news consumption and conversation, My Little Piece of Privacy: personal privacy in a populated city. Intriguingly, the lone Scratch work carrying a clear social message, simply titled Art, is a presentation about the importance of art and perseverance in the face of adversity.

Figure 7. Avena+ Test Bed. An aerial image of Avena+ Test Bed, a work generated in part using Processing that explores the concept of “agricultural printing” as a means to more effectively utilize farmland (http://benedikt-gross.de/log/2013/06/avena-test-bed_agricultural-printing-and-altered-landscapes/).

Zero Scratch works utilized data at all, compared to 15 of those created using Processing (30%). Works like Max Planck Research Networks and cf. city flows build on independent datasets for research collaborations, and bike-sharing systems respectively. Other works likeDigital Rube Goldberg Processor (Figure 8) and The Creators generate their own data, manipulating it as part of their performance.

Figure 8. Digital Rube Goldberg Processor . A still image from Digital Rube Goldberg Processor, an artwork built in part using Processing. The piece performs a constant remix of data through different mediums, transitioning a Flickr image to text, text to graphics, graphics to sound, sound to print, and print to Flickr once again before repeating the process (https://vimeo.com/26013639).

Twenty percent of the Processing works attempted to solve a problem, compared to 6% of those created with Scratch. The Processing pieces Prototyp-0, 3D Printed Record, and Continuum all seek to shorten the time necessary for prototyping, Understanding Shakespeare to make Shakespeare accessible in new ways, and Terrapattern to simplify the process of scanning large geographical regions. The three Scratch works in contrast all fulfilled the role of tutorial, with Pixel Art Tutorial #1 andVector Art Tutorial attempting to demonstrate their namesakes, and Winter Nail Art Tutorial! (VOICE) how to paint your nails in various winter themes (with voiceover).

Summary

Artworks created with Processing and Scratch share many of the same characteristics, while also diverging heavily in certain specific areas. In terms of the generation of images and movement, appropriation of images and video elements, remixing, interactivity, and performative qualities, the Processing and Scratch works were very similar. However in terms of the generation and appropriation of audio, utilizing elements of chance, change over time, adaptive behavior, physical components, real life analogues, social messages, utilizing data, and solving problems, the Processing and Scratch works were quite different.

Discussion

Observing these shared Processing and Scratch artworks brought to light many intriguing points of differentiation, while also raising a number of tough questions. To tease apart the experiences and issues reflected in the artworks, I will discuss the trends and questions within sections roughly corresponding to the study themes of generation, appropriation, behavior, IRL (a common acronym for the phrase “in real life”), and purpose. Through careful consideration of these themes and the wider questions the study results raise, a fuller picture of the experiences around artmaking through creative coding can begin to emerge.

Generation and appropriation

By and large the Processing and Scratch artworks were quite similar in their generation of visuals and movement, and their appropriation of imagery and videos. This was not all that surprising to discover given the primarily visual nature of the web, and the focus by both tools on visual making over other forms[2]. Where they strongly differed was in their generation and appropriation of audio.

Twenty six percent of Processing pieces utilized generated audio compared to only 2% of Scratch pieces, and only 16% of the former included appropriated audio or music compared to 60% of the latter. That fewer Scratch pieces generated their own auditory components may be explained in part by the simple fact that so many were appropriating it from elsewhere. It is also important to point out that the appropriated audio for both Processing and Scratch pieces almost exclusively took the form of music, popular, niche, or otherwise, as opposed to sound effects or other noises.

This difference in the use of audio, and by extension this difference in the use of music, is reflected in Meysenburg’s (2011) attempt at designing a more inclusive introductory computer science course at Doane College. Noting that their computer science and information science majors “are also involved in humanities pursuits, such as art, music [emphasis added], or theater,” (p. 1) and that “not all” (p. 2) students taking introductory courses will become majors in those fields, Meysenburg identified the reality that we are rarely interested in just one subject, and sought to respond to that truth.

That the majority of the observed Scratch artworks incorporated music, and at such a higher rate than the works created by Processing artists, stands out in this light. While the difference between the tools may be explained by any number of factors, it is worth remembering that evidence in favor of an inclusion of wider interests is of critical importance to computer science and technology education. Scratch works incorporating music at a higher rate may be an indication the tool is better resonating with the interests of new learners, as Maloney, Peppler, Kafai, Resnick, & Rusk (2008) discovered.

The complications of remixing

While the Processing and Scratch artworks observed were fairly similar in terms of their use of remixing (20% compared to 14%), the numbers do not tell the whole story. One complication is that while remixing is an explicit feature of the Scratch platform, the more general concept can get murky quickly on closer investigation.

The Scratch wiki defines a remix as a “modified and shared version” of a project (“Remix”, n.d.). This meshes with the greater focus on sharing as a means for understanding within the culture of making, which is itself “an outgrowth of digital culture” (“More than just digital quilting”, 2011). At a high level, it is reasonable to define the concept of remixing as an interrelated network of sharing, modification, understanding, and foundation building for future creation. The rub is in the details.

All technology projects borrow code. Computing is built on a hierarchy of hardware and software, and the algorithms underpinning the latter define the work that it is possible to perform. When we create digitally, we are always leaning on that hierarchy of function beneath us. Truthfully, because of this, the concept of a remix is always going to be a little blurry at the edges, but this issue becomes especially acute in the case of some of the research codes for this study, and what can be defined as a remix.

One example of this challenge is that code is often modeled from natural phenomena. Whether it is something like ant colony optimization algorithms, or a set of equations that model waves in an effort to recreate them, code can have a direct relationship with the outside world. In the case of a Processing piece like Fluid Leaves, where code is utilized to represent the movement of floating tea leaves, what exactly is being remixed, if anything? Is it the code that describes the fluid’s motion, likely borrowed from someone else? Or is it the water and the tea leaves themselves: a remix of a real life phenomenon? There are a whole host of implications that spread from this question, and the more general issue of what sharing and collaboration mean in a space between physical and digital contexts.

In a concrete sense, determining what constitutes a remix matters simply because I had to decide for each artwork in the study if they were in fact a remix. Additionally, while Scratch has an explicit labeling system for works that are remixed, it only corresponds to those works which utilized the platform’s direct feature for doing so, and misses out on any more nuanced or expanded interpretation of the concept. Large Napkin, a Processing work, is a remix in my categorization because it appropriates the classic pattern from a Jacquard Loom to say and share something new. Digital Natives and Glitched Realities, another Processing work, is a remix because it takes recognizable objects and reforms them into something new and novel. Mountains (art) (Figure 2), a Scratch work, is a remix not because it utilizes the built-in function but because it is an inspired recreation of an image that the artist found on Google.

What all three of those cases have in common is that something clearly resonated with the artists about both what they appropriated, and how they changed what they took. The parallels to art and artmaking could hardly be clearer, recalling the finding by Maloney et al. (2008) that the most frequently identified school subject that youth said reminded them of Scratch was art.

Remixes, popularity, and “art”

Interestingly, the 14% figure for the observed Scratch projects is noticeably lower than the percentage of remixes on scratch.mit.edu as whole, where approximately one third of all recently uploaded projects on the website are remixes (“Remix”, n.d.). Additionally, the website displays how many remixes have been created from a given piece, and every one of the observed artworks was remixed at least once, with an average of just over 60 times, and a median of approximately 25.

One possible explanation for both the discrepancy between being a remix and being remixed, and the high number of remixes for most of the Scratch works, could be the choice to narrow the study selection to only pieces tagged as “art” that were elevated to the top of the “popular” section of Explore. It may be that “art” projects on Scratch are remixed under a more convoluted set of circumstances, or simply that the “popular” ranking carries a preference for unique works rather than derivative ones. To my mind, the latter is more compelling, as it makes intuitive sense that a ranking system for what is popular would favor works that have more unique and inventive qualities, as evidenced through user engagement…like remixes.

It is worth pointing out here that what is tagged as “art” on scratch.mit.edu does not necessarily include all of what many, including myself, might consider art. For some perspective, the complete list of top level categories on scratch.mit.edu are “All”, “Animations”, “Art”, “Games”, “Music”, “Stories”, and “Tutorials.” Truthfully many if not all of those categories are reasonably able to contain art, and the creators of pieces with those tags might think of their works as art ­as well as being an animation, game, song, story, or tutorial. The challenge for this study was to be sure I was observing what creators intended as art, and considering works outside of the “Art” section risked that certainty even if in practice much of what is there may be intended as art as well.

Limited commonalities, and increasing differences

Outside of the concerns of generation and appropriation, the observed Processing and Scratch artworks had very little in common. While roughly half of the works from each platform utilized interactivity and were performative in nature, there was almost no agreement in terms of the rest of the behavior, IRL, or purpose research codes.

In the case of the theme of behavior, Processing artworks exhibited far greater incorporation of elements of chance, change over time, and adaptation. The reasons for this could range from greater support in Processing for different kinds of random and pseudo-random behavior [3], to differing goals for artists on each platform, to variations in technical ability. While the why is not obvious, it may also be that this is an expression of something as core as the general difference in ages of users of both platforms. While there are no available statistics on the average age of Processing users, by all appearances the audience skews older than Scratch’s. As shown in Figure 9, the distribution of the ages of new Scratch registrants is heavily clustered around 10-16, with 12 being the most common age (“Scratch Statistics”, n.d.).

Figure 9. Distribution of ages of new registrants to the Scratch website. Accurate as of March 2017 (https://scratch.mit.edu/statistics/).

Compounding this difference is that elements of chance, change over time, and adaptation are all logically related concepts. A project that incorporates randomness might be noticeably different at any given point in time, drawing a link between the two research codes. Similarly, a piece that adapts to its environment could also be reasonably expected to change over time as it adapts.

With all three research codes potentially linked in this way, the fact that they are all expressed at lower rates in the Scratch artworks than the Processing ones may say something more general than a simple lack of each particular quality. Artworks elevated by the Processing community may exhibit a deeper volatility, and aversion to the static, than the elevated Scratch artworks that in contrast appear to trend towards a greater level of appropriation.

Real life and a sense of place

The largest difference displayed by any of the research codes between the Processing and Scratch artworks was in the use of physical components, at 64% to 0% respectively. Coming in close behind was the second IRL research code of real life analogues, at 68% for the Processing works and 20% for the Scratch ones. These gaps are almost assuredly due to the nature of the tools, and by extension how artists utilize them.

Scratch was designed to function in economically disadvantaged spaces with fewer technological and instructional resources (Maloney et al., 2004), and consequently has transitioned into an entirely web-based tool. This has had the benefit of lowering the technical bar of entry even further, but it also means that it is fully contained within that space. That Scratch artists would stray less from their digital ecosystem than their Processing counterparts makes sense in this context, where creating art on the web in turn means creating art for the web.

Processing artworks do not exist solely in one technological space: code must be written in an editor and translated into images, audio, video, physical objects, or embedded online to be shared publically. Working with Processing requires a greater consideration of the relationships between medium and technology than does the more self-contained Scratch. Combined with the apparent age gap between the two platforms, it becomes understandable that Processing artists would tend to engage more fully with the non-digital realm, given a potentially higher level of technical competence (due to both age and the higher bar to entry) and a necessary view of the tool as one that does not live solely on the internet.

What all of the Processing works incorporating physical components have in common is that the utilization of Processing represents only a part of the greater whole. While this is in one sense obvious given that Processing is a digital tool, it is true in a greater sense than simply the distinction with the physical. Avena+ Test Bed uses Processing to create generative visual designs, but the final piece is represented in a real farm, planted with seeds and worked with tractors, farming equipment, and people. Digital Rube Goldberg Processor relies on Processing for certain elements of digital interpretation and translation, but in totality the piece incorporates cameras, microphones, a printer, Flickr, physical coordination, and a whole host of elements beyond software. Continuum lets a user draw clothing designs in an application built with Processing, but the patterns must be printed and the clothes sewn and ultimately worn. None of these pieces or any of the others utilizing physical components would be accurately represented solely by their use of Processing. On the contrary, they would be almost unrecognizable.

The issues of purpose

The observed Scratch works were far less likely to include a social message, utilize data, or solve a specific problem than their Processing counterparts. While I expected to see some difference between the two platforms, the almost complete lack of representation here by the Scratch artworks was surprising: only three pieces solved some sort of problem, one piece expressed a clear social message, and zero utilized data.

The reason for these gaps may again be rooted partially in the expected differences in age between the two groups of users, but it might also be a reflection of the more digitally-centric nature of Scratch works suggested by the results from the two IRL research codes discussed previously. The majority of the social messages on display within the observed Processing works dealt with issues that stretched beyond the digital space and into the real world, whether it was Petting Zoo asking the viewer to consider their relationship to the artificial elements in their environment, or Avena+ Test Bed exploring generative design as a means to enhance ecological diversity in farmland, or Silenc highlighting the difficulties of learning pronunciation in Western languages. If Scratch works are less likely to correspond to real life phenomena and incorporate physical elements, then perhaps they are also less likely to express messages that relate to the wider societal sphere.

The single Scratch piece that employed a clear social message was simply titled Art (Figure 10). A brief presentation controlled by the use of the arrow keys, Art tells the viewer through a series of character drawings and accompanying messages that art is there for you, that it does not have to please anyone else, that you can persevere through adversity, and that you should ultimately follow your dreams.

Figure 10. Art. Two still images from the Scratch work Art, a presentation on what art is that pushes the viewer to persevere through adversity and follow their dreams (https://scratch.mit.edu/projects/52989796/).

While just one piece out of 50, it is fascinating that the sole example of a social message from the Scratch works is so meta in its message, and so directed at the individual viewer.

The closest equivalent in the Processing artworks might be My Little Piece of Privacy (Figure 11), which also implicates the directly-observing individual in its message, though in such a way as to still illuminate the wider issue of privacy. Art does not encompass this sort of expansion, and instead takes aim at the personal insecurities of the viewer. Once again, the Processing example maintains an outward focus, even as it points the figure at a single individual, while the Scratch work carries a universal message grounded firmly in the personal.

Figure 11. My Little Piece of Privacy . A still image from the video documentation of My Little Piece of Privacy, a work that incorporates Processing and explores the issue of privacy through a small curtain that moves alongside passersby outside a window at the artist’s workshop (http://www.niklasroy.com/project/88/my-little-piece-of-privacy/).

In terms of utilizing data the explanation for the difference between Processing and Scratch may be quite straightforward, with the younger Scratch audience not yet as exposed to the mathematics and statistical reasoning necessary to reckon with large sets of data. Or perhaps it is a further effect of considering solely works tagged as “art” on the Scratch website, which may be less likely to incorporate traditional datasets that other categories. Or once again it could be a reflection of the outward focus of many of the Processing artworks in contrast to the more inward facing Scratch ones, with Processing artists pulled towards engaging with data though the kinds of social issues they have chosen to speak to. Unfortunately, within the bounds of this study there is no real way to determine which answer might be the correct one, or if it is some combination of all of them, as intuition suggests may well be the case.

For the final Purpose research code, solves a problem, a clear trend emerged. While the 10 Processing works offered solutions for problems in a number of different ways, the 3 Scratch pieces all took the form of tutorials: Pixel Art Tutorial #1 demonstrated how to get started drawing pixel art, Vector Art Tutorial how to draw vector art, and Winter Nail Art Tutorial! (VOICE) how to paint your nails with winter-inspired imagery. Consistent with the tendencies discussed previously, the Scratch works focus directly on the viewer as their subject, teaching the viewer to solve a problem that they possess.

On the other hand, many (though not all) of the Processing works aim more broadly with their problem solving. In the Air visualizes issues with Madrid’s air quality with the goal of growing collective awareness and spurring political action. 3D Printed Record attempts to demonstrate and push the limits of 3D printing technology, and create accessible and recognizable 33rpm records. Terrapattern allows for the discovery of visual similarities across vast sets of satellite imagery, in the hope of fostering greater collective understanding of human activity. Each of these pieces focuses on what are essentially social issues: our treatment of the environment, the means of production, and collective understanding.

That is not to say that all of the Processing works encompass such grand challenges, since some of them do not, but it is another demonstration of a shifted perspective from that of the Scratch artists. Where the Scratch pieces confront a personal issue presumably faced by the viewer, the Processing works, at least at times, consider an issue in terms of its societal ramifications. This is a critical difference in perspective, and worth further exploration to determine its definitive roots.

Implications

From one perspective, creative coding offers a possible answer to the challenge of encouraging and supporting more diverse learners in computer science. From another, it is an avenue of new for new media, and represents a rapidly expanding sphere of artistic exploration between mediums linked through technology. Both perspectives offer us a glimpse at important and real change in the arts and the technology sector, driven by increased access and awareness of tools like Processing and Scratch.

Supporting more diverse learners

In Chachra’s (2015) explanation for The Atlantic on why she is not a maker, she pointed to the issues around the valuation of “making” and who and what it leaves out. Chachra wrote that she was “uncomfortable with any culture that encourages you take on an entire identity, rather than to express a facet of your own identity.” Buechley (2013) exposed this same issue when she discovered the lack of minority representation on Make magazine covers, and Resnick et al. (2009), the creators of Scratch, unearthed it when they spoke of making the “walls even wider” (p. 63), raising the obvious next question of who those walls have been keeping out.

This issue of cultural inclusivity as expressed through personal identity is an undercurrent linking all manner of problems in STEM fields. Processing and Scratch both exist to open these sectors to ignored and unsupported individuals; to be a “positive departure” (Reas & Fry, 2015) from the old ways of doing things. The question is of course, will they work?

From my observations of 100 works across the two platforms I believe there is reason to be hopeful that these kinds of tools can reach new learners. The common appropriation of music by the Scratch artists implies a connection to outside interests and passions, and the ability to incorporate them into the programming environment. The tendencies of Processing artists to tackle concepts with real world equivalents and broach social issues suggests an engagement with life outside the digital realm. While these may only be the loose suggestions of what a more inclusive technology education looks like, the hints for something grander are there.

Inclusivity, code, and community

Further supporting creative coding’s ability to encourage and support more diverse learners are active projects like Chelly Jin’s Diversity with Code+Art (Figure 12), which exists to “highlight and inspire diversity amongst the art and code community through valuing representation and visibility of various identities” (Jin, 2017). Began during the course of this study, Diversity with Code+Art is supported by the group behind P5.js, the JavaScript offshoot of Processing, which is itself directly supported by the Processing Foundation.

Figure 12. Diveristy with Code+Art . A screenshot of part of an interview with an artist in Chelly Jin's Diveristy with Code+Art project, which seeks to highlight and inspire diversity within the art and code community (https://diversity.p5js.org/).

This uninterrupted line from Processing to a project shining light on the work of Asian women and gender non-conforming artists exemplifies the purpose of the tool in the first place. It is also in keeping with one of the original goals of Processing: to allow artists to have “an easy way to share work with each other and understand each other’s ideas” (Maeda, 2009, p. 60). By sharing the stories and works of these artists online, Jin is adding their perspectives to the greater community narrative, and creating a more inclusive environment for future learners.

To “understand each other’s ideas” as Maeda (2009, p. 60) wrote, takes on particularly important meaning in this context, where the “other” in computer science and technology are the very people whose experiences Jin (2017) is attempting to speak to. Understanding the ideas of others is not all that far a leap from better understanding others more generally, and considering viewpoints other than our own.

The pursuit of Resnick et al. (2009) to make “the floor even lower and the walls even wider” (p. 63) for programming with Scratch is driven by the desire for greater inclusivity and ultimately understanding. The power of Scratch lies not in any technical innovation or clever hack, but in the bar to entry being lowered to the point where more than 18 million people can create with it, and even more importantly where more than 18 million people want to.

If creative coding tools like Scratch and Processing can attract diverse users and support their voices through sharing, remixing, and engaging with other people, then perhaps some of the wider issues of diversity in tech and the education pipeline feeding it can begin to mend. There is no silver bullet, but supporting the interests and passions of diverse learners is a vital step in the path to achieving true digital equity.

Building on the new in new media

Beyond the concrete issue of accessibility in technology lies the more formless question of how creative coding impacts the work and experiences of artists. Creative coding tools like Processing and Scratch are undeniably new additions to the artist’s toolkit, but whether they represent the equivalent of merely a new sort of pigment or rather something more fundamentally different is a question yet to be fully answered.

Burke & Kafai (2010) dipped into this issue when they considered Scratch as a means to educate children on narrative and storytelling. What they discovered was that Scratch both supported traditional language arts concepts like plot, character development, and resolution, and re-worked the process of generating a story into a more iterative one. This kind of mutual support and blending of subjects repeats in Dasgupta & Resnick’s (2014) research into crowd-sourced art projects, where both the canvas and the underlying structure of the canvas were subject to creative experimentation.

What Burke & Kafai (2010) and Dasgupta & Resnick (2014) uncovered was the gradually strengthening idea of creative coding as means to link traditionally distinct mediums. Programming with tools like Processing and Scratch allows for access to the structure of the digital medium itself, opening up links to all manner of other fields and concepts. Code can do things like tell stories, manipulate images, create music, interact with the physical world, and change endlessly over time; it is as much a medium as it is a language to link them.

Linking fields and remixing concepts

In the 100 Processing and Scratch artworks observed for this study, the links between concepts and mediums appeared in a number of ways, from the consistent attachment of music to generated visuals, to the half of pieces exhibiting some form of interactivity and connection to real life phenomena. By drawing connections through different kinds of media and providing new layers of interactivity between them, the observed artworks demonstrated the ability to link often artistically disparate concepts, while also ascending into the murky realm of new media, and gaining the accompanying resistance to categorization.

The prevalence of remixing, both in the observed artworks and the creative coding community as a whole, contributes to conceptual access between other fields. By providing an accurate means of copying and altering the work of others, either through an explicit remixing feature or through the sharing of code online, tools like Processing and Scratch allow for users to build off the knowledge of others in an incredibly direct fashion. Dasgupta, Hale, Monroy-Hernández, & Hill (2016), in their look at remixing as a path to computational thinking, wrote that “one of the most important arguments made in favor of remixing is that it allows users to engage with material created by others with different skills, knowledge, and experiences” (p. 1). When that material stretches beyond the confines of mathematics, computer science, and technology, that suggests an essential strength of creative coding, and the share-everything community behind it. Rather than be confined to a single subject area or medium, creative coding appears to encourage engagement across disciplines, and by extension interests.

Conclusion

The artworks being created and shared online with Processing and Scratch offer glimpses of a more inclusive future for both art and technology. By respecting a wider diversity of interests and economic circumstances, creative coding may avoid some of the cultural pitfalls of the maker movement, while supporting and encouraging greater participation by those traditionally disadvantaged and discriminated against in STEM education. At the same time, creative coding appears to foster new links between disciplines that are flexible and rapidly alterable in ways unique to the digital space. This suggests that not only might we be able to support a new generation of technologically adept youth, but a new generation of artists, with a more malleable conception of the boundaries between mediums.

Maloney et al. (2008) found that Scratch reminded youth of the arts more than any other subject. The enormity and variety of the Processing and Scratch artworks available online corroborate this point, while offering further evidence of the potential in creative coding to reshape not only art and technology education, but simply education.


[1] P5.js, an offshoot of the original Processing codebase, is much more shareable online but does not currently have a publically available and complete online editor or showcase.

[2] Processing requires an external library to work with sound, for example, and Scratch both lists Motion and Looks before Sound in the online editor and has more blocks for each of those categories.

[3] Processing’s support for Perlin noise (a technique for producing “natural” looking shapes and textures) through the noise() function comes to mind.

References

A History of Computer Art. (n.d.). Retrieved October 2016, from http://www.vam.ac.uk/content/articles/a/computer-art-history/

About openFrameworks. (n.d.). Retrieved December 18, 2016, from https://forum.openframeworks.cc/about

Bennedsen, J., & Caspersen, M. E. (2007). Failure rates in introductory programming. ACM SIGCSE Bulletin, 39(2), 32-36.

Buechley, L. (2013). Thinking about making. In Speech presented at the annual FabLearn conference, Palo Alto, CA.

Burke, Q., & Kafai, Y. B. (2010, June). Programming & storytelling: opportunities for learning about coding & composition. In Proceedings of the 9th International Conference on Interaction Design and Children (pp. 348-351). ACM.

Chachra, D. (2015, January 23). Why I am not a maker. The Atlantic. Retrieved from http://www.theatlantic.com/technology/archive/2015/01/why-i-am-not-a-maker/384767/

Dasgupta, S. (2013, June). From surveys to collaborative art: Enabling children to program with online data. In Proceedings of the 12th International Conference on Interaction Design and Children (pp. 28-35). ACM.

Dasgupta, S., Hale, W., Monroy-Hernández, A., & Hill, B. M. (2016, February). Remixing as a pathway to computational thinking. In Proceedings of the 19th ACM Conference on Computer-Supported Cooperative Work & Social Computing (pp. 1438-1449). ACM.

Dasgupta, S., & Resnick, M. (2014). Engaging novices in programming, experimenting, and learning with data. ACM Inroads, 5(4), 72-75.

Discuss Scratch. (n.d.). Retrieved December 18, 2016, from https://scratch.mit.edu/discuss/

Dohn, H., & Wagner, K. D. (1987). Learning problems—when arts students encounter computer science. Higher Education, 16(2), 231-235.

Exhibition. (n.d.) Retrieved December 18, 2016, from https://processing.org/exhibition/

Fields, D. A., Giang, M., & Kafai, Y. (2014, November). Programming in the wild: trends in youth computational participation in the online scratch community. In Proceedings of the 9th workshop in primary and secondary computing education (pp. 2-11). ACM.

Fields, D. A., Pantic, K., & Kafai, Y. B. (2015, June). “I have a tutorial for this”: the language of online peer support in the scratch programming community. In Proceedings of the 14th International Conference on Interaction Design and Children (pp. 229-238). ACM.

Greenberg, I. (2007). Processing: creative coding and computational art. Apress.

Grenzfurthner, J., & Schneider, F. A. (n.d.). Hacking the Spaces. Retrieved November 26, 2016, from http://www.monochrom.at/hacking-the-spaces/

Halverson, E. R., & Sheridan, K. (2014). The maker movement in education. Harvard Educational Review, 84(4), 495-504.

Heitin, L. (2014, January 10). No Girls, Blacks, or Hispanics Take AP Computer Science Exam in Some States. Education Week. Retrieved from http://blogs.edweek.org/edweek/curriculum/2014/01/girls_african_americans_and_hi.html

Jin, C. (2017). About. Retrieved April 15, 2017, from https://diversity.p5js.org/

Justice, S. P. (2015). Learning to teach in the digital age: Digital materiality and maker paradigms in schools (Unpublished doctoral dissertation). Teachers College, Columbia University, New York, NY.

Maeda, J. (2009). When a Good Idea Works. Retrieved November 26, 2016, from https://www.technologyreview.com/s/414828/when-a-good-idea-works/

Maker Faire: A Bit of History. (n.d.). Retrieved from http://makerfaire.com/makerfairehistory/

Malan, D. J., & Leitner, H. H. (2007, March). Scratch for budding computer scientists. In ACM SIGCSE Bulletin (Vol. 39, No. 1, pp. 223-227). ACM.

Maloney, J., Burd, L., Kafai, Y., Rusk, N., Silverman, B., & Resnick, M. (2004, January). Scratch: a sneak preview [education]. In Creating, connecting and collaborating through computing, 2004. Proceedings. Second International Conference on (pp. 104-109). IEEE.

Maloney, J. H., Peppler, K., Kafai, Y., Resnick, M., & Rusk, N. (2008). Programming by choice: urban youth learning programming with scratch (Vol. 40, No. 1, pp. 367-371). ACM.

Martin, L. (2015). The promise of the Maker Movement for education. Journal of Pre-College Engineering Education Research (J-PEER), 5(1), 4.

Matias, J. N., Dasgupta, S., & Hill, B. M. (2016, May). Skill Progression in Scratch Revisited. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems (pp. 1486-1490). ACM.

Meysenburg, M. M. (2011). Introductory Programming using Processing.

Miles, M. B., & Huberman, A. M. (1994). Qualitative data analysis: An expanded sourcebook. Sage.

More than just digital quilting. (2011, December 3). The Economist. Retrieved from http://www.economist.com/node/21540392

Overview. (n.d.). Retrieved from https://www.processing.org/overview/

Peppler, K. A. (2010). Media arts: Arts education for a digital age. Teachers College Record, 112 (8), 2118.

Peppler, K. A., & Kafai, Y. B. (2008, June). Youth as media art designers: workshops for creative coding. In Proceedings of the 7th international conference on Interaction design and children (pp. 137-140). ACM.

Reas, C., & Fry, B. (2015). Getting Started with Processing: A Hands-On Introduction to Making Interactive Graphics. Maker Media, Inc..

Recent Discussions. (n.d.). Retrieved December 18, 2016, from https://forum.processing.org/two/discussions

Remix. (n.d.). In Scratch Wiki. Retrieved December 18, 2016, from https://wiki.scratch.mit.edu/wiki/Remix

Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., ... & Kafai, Y. (2009). Scratch: programming for all. Communications of the ACM, 52(11), 60-67.

Ricker, T. (2015, August 20). How do tech’s biggest companies compare on diversity? The Verge. Retrieved from http://www.theverge.com/2015/8/20/9179853/tech-diversity-scorecard-apple-google-microsoft-facebook-intel-twitter-amazon

Robb, M. B., & Lauricella, A. R. (2014). Connecting Child Development and Technology: What We Know and What It Means. Technology and Digital Media in the Early Years: Tools for Teaching and Learning, 70.

Salter, A. (2010). Rhizomes: Issue 21: Anastasia Salter. Retrieved November 26, 2016, from http://www.rhizomes.net/issue21/salter/index.html

Scaffidi, C., & Chambers, C. (2012). Skill progression demonstrated by users in the Scratch animation environment. International Journal of Human-Computer Interaction, 28 (6), 383-398.

Scaffidi, C., Dahotre, A., & Zhang, Y. (2012, February). How well do online forums facilitate discussion and collaboration among novice animation programmers?. In Proceedings of the 43rd ACM technical symposium on Computer Science Education (pp. 191-196). ACM.

Scratch Statistics. (n.d.). Retrieved April 15, 2017, from https://scratch.mit.edu/statistics/

Tseng, T., & Resnick, M. (2014, June). Product versus process: representing and appropriating DIY projects online. In Proceedings of the 2014 conference on Designing interactive systems(pp. 425-428). ACM.

Tseng, T., & Resnick, M. (2016, June). Spin: Examining the Role of Engagement, Integration, and Modularity in Supporting Youth Creating Documentation. In Proceedings of the 2016 ACM Conference on Designing Interactive Systems (pp. 996-1007). ACM.

Voight, J. (2014, March 17). Which Big Brand Are Courting the Maker Movement, and Why. Adweek. Retrieved from http://www.adweek.com/news/advertising-branding/which-big-brands-are-courting-maker-movement-and-why-156315

Wagner, K. (2015). Former Twitter Manager Blasts Company Over Diversity Problem. Recode. Retrieved from http://recode.net/2015/11/03/former-twitter-manager-blasts-company-over-diversity-problem/

Watson, C., & Li, F. W. (2014, June). Failure rates in introductory programming revisited. In Proceedings of the 2014 conference on Innovation & technology in computer science education (pp. 39-44). ACM.