Supporting the Creative Side of Creative Coding:
Helping Students Wield Code in the Pursuit of Their Own Dreams


Gretchen Larsen
May 2024

Dissertation (introduction)

Ph.D. in Innovative Learning Technologies
University of Nebraska, Lincoln

ABSTRACT

Creative coding has become more common in art and new media schools, however research describing how teachers navigate the unique challenges of teaching code as a creative medium is limited. This paper presents the details of a creative coding course designed to support the ‘creative’ side of creative coding. As a result of this research, I present a framework for supporting the ‘creative’ side of creative coding, which connects to arts-based education theories, modified for the creative code context. This paper asks—what helps students use creative coding as an artistic medium in the pursuit of their own questions and meaning? In this study I use ethnographic methods to explore the experiences of students enrolled in an “Intro to Creative Coding” course at a media arts program in a large midwestern university. Analysis of students’ projects and reflections highlight the ways that the course design supported the ‘creative’ side of creative coding. In the course, students were given opportunities to: (1) make observations about themselves and the world of creative coding; (2) develop technical skills; (3) practice translating their ideas into projects; and (4) reflect on their projects and experiences. Through these opportunities, students were able to pursue their own lines of inquiry in a self-directed personal project. The paper describes the framework in detail and the implications for teaching code as an artistic medium.


INTRODUCTION

How do you support the creative side of creative coding? What helps students not just learn the technique, but learn to use creative coding in the pursuit of their own dreams? These questions arose out of a prior auto-ethnographic investigation of my creative code teaching practice. I recognized what felt like a core challenge of teaching creative coding: balancing the “creative” part of it with the “technical” code part. I saw how easy it was to focus my teaching on students’ technical skill development at the expense of scaffolding creative development. I found myself being what I meant not to be, a “trainer of skills,” when I actually meant to weave rich connection, to build students’ understandings by taking them beyond technical skill and using the “creative side” of coding to help students form and follow their own rich threads of understanding in the pursuit of their own dreams. 

This core challenge of “creative coding” is integral to what creative coding is. By its nature it involves using a technically demanding medium towards “creative” (expressive/poetic/non-functional/unknown) ends. Creative coding is what artists, designers, or individuals who use code as a medium for self-expression do (Levin & Brain, 2021). It is “programming with artistic purposes” and it emphasizes “trying to create work that touches people at an emotional level” (Verano Merino & Sáenz, 2023, n.p.; Lieberman, 2012, as cited in Levin & Brain, 2021, p. 4). Rather than creating things that are purely “pragmatic and functional,” creative coding is about creating things that ask or initiate questions rather than solve them (Verano Merino & Sáenz, 2023, n.p.). The creative coder uses her creativity, her “aesthetic or practical intuition” but she’s got to make it “function as lines of code in a program” (Filimowicz & Tzankova, 2017, p. 7). I like to think of creative coding as simply art, which is itself a term with as many interpretations as artists. My own preferred interpretations of art are Nansi Guevara’s (2018) “co-creating our world… for survival, for expression, and for cultural dignity and pride” (n.p.) and Gert Biesta’s (2017) “art… as the ongoing exploration of what it means to be in the world, the ongoing attempt at figuring out what it means to be here, now” (p. 17).

How do teachers actually, practically teach coding as art? How do you set students up to create things that “function as lines of code,” but that are at heart, not about functionality, whose goal is expression and connection and not “technology for technology’s sake” (Lieberman, 2012, as cited in Levin & Brain, 2021, p. 4)? What is a creative code class that “[teaches] skills and concepts while creating opportunities to investigate and represent one’s own experience” (Gude, 2007, p. 6)? In the creative code literature, there is a lack of research on teaching creative coding at the college level (Filimowicz and Tzankova, 2017). The focus of academic creative code practitioners/researchers tends to emphasize issues related to its practice and application, as opposed to how creative code is taught (Bergstrom & Lotto, 2015). Filimowicz and Tzankova (2017) explain “practice-based educators in the fields of interactive media and computational design are rarely challenged to reflect on their teaching pedagogies and student’s learning…” and consideration of teaching and learning are “considered marginal to the prevailing discourse” (p. 2). Brain and Levin (2021) note that “pedagogic traditions… were mostly absent from the programming primers on our bookshelves which dealt above all with how to write code, rather than what to make when learning to code and why” (p. 2).

Programming was born from the field of computer science, which involves “the systematic study of algorithmic processes that describe and transform information,” or more simply put, “what can be computed and how to compute it” (Lodi & Martini, 2021, p. 886; Wing, 2006, p. 34). Programming, which falls within computer science (CS), generally refers to the practice of writing instructions for computers to carry out (Guzdial, 2015). “Coding” is a term used to refer to a “more playful and non-intimidating description of programming for beginners” (Prottsman, 2015). The term computational thinking (CT), which became popular in the early 2000s, describes the wider practices of computer scientists, who do not just program computers, but rather are involved in “formulating problems and their solutions so that the solutions are represented in a form that can effectively be carried out” by a computer (Wing, 2011, n.p.). CT popularized the idea of “coding for everyone,” not just computer scientists, and the movement contributed to the visibility of artists working with code (Artut, 2017). New tools and languages for programming in the arts were established, including Scratch, Processing, and p5.js (Knochel & Patton, 2015; Peppler & Kafai, 2005).

Although coding is just one part of a fuller practice of solving problems with computers, much of the educational research on CT is still situated within the domain of CS as a discipline. CT studies that do incorporate art tend to emphasize the ways that culturally-relevant activities broaden “equitable participation in CS” (Kafai et al., 2019; Ryoo et al., 2020). Research describing pedagogies and curricula of code as an artistic practice have begun to appear, but more work is still needed. Linda Ettinger (1988) raised four pedagogical issues for incorporating coding in art education. Knochel and Patton (2015) proposed three guiding principles for a creative code curriculum that fosters critical thinking. Filimowicz and Tzankova (2017) put together a collection of different creative code educators’ and researchers’ approaches to the subject. Levin and Brain’s (2021) book, Code as a Creative Medium, offers a variety of different projects and exercises. More recent research includes the work of Tomi Dufva (2018, 2018b, 2021) which explores code as an empowering tool for the post-digital world, and Hoebeke et al. (2021) who describe the unique potential of coding in Arts and crafts schools in Norway. This study contributes to these lines of research by exploring the unique challenges of teaching coding as art in an undergraduate emerging media art program.

There are also frameworks and approaches for teaching creative coding that are founded on the ideas of constructionism. The historical lineage of creative coding has been significantly shaped by Papert’s theory of constructionism, a “socially-situated learning-by-making” learning theory. Constructionism was developed in tandem with learning technologies whose “Low Threshold, High Ceiling, and Wide Walls” design meant to “enable people to express themselves creatively and to develop as creative thinkers” (Resnick et al., 2005, pp. 1, 3). Mitch Resnick's Four P's of Creative Learning are both a pedagogical philosophy and a framework for designing learning experiences, based on the creative programming language Scratch (Resnick, 2018). Brain and Levin’s Code as creative medium (2021) offers a series of project prompts that tether various computational topics to rich conceptual domains (i.e. loops and ancient mosaic design). Project-based learning is a key approach to teaching creative coding, giving students “open-ended prompts, encouraging curiosity-driven and improvisational approaches to the use of code” (Levin & Brain, 2021, p. 6).

These various approaches to teaching within the creative code literature— which emphasize peers, play and passion, project-based learning, culturally responsive teaching, socially situated learning (connecting code concepts to diverse conceptual territories), and “actively orchestrating the emotional dimensions of a classroom” (Levin & Brain, 2021, p. 9)— are inspiration to inform the learning design of the creative code classroom. But as Knochel and Patton (2015) explain,

“The fields of the learning sciences and instructional technology have focused on what students learn by manipulating and creating digital objects (Kafai, 1995; Kafai, Peppler, & Chapman, 2009; Peppler, 2010; Resnick & Rusk, 1996). However, these fields do not give enough attention to developing instructional guidance to foster students’ critical thinking through the making of programmable objects by developing the capacity for youth to attend to the nuances of meaning-making within frameworks of social and cultural value, something art education practices support (Gude, 2004).” (p. 25)

How do art teachers develop the capacity of students to attend to the nuances of meaning-making? How do you help students engage in the “ongoing exploration of what it means to be in the world” (with code) (Biesta, 2017, p. 17)? The challenge of how to actually do it, how to support students’ development as artists using coding as a creative medium, remains elusive. How do teachers practically navigate the “creative versus technical” hurdle? 

In prior research (Larsen, in preparation), I found that I support creativity by throwing students into a project, the “constructionist playground,” where I mean for them to use what they've got to develop a unique response to an open-ended, yet boundaried prompt. Is it enough to give students a project, and trust that they will do their [creative] thing? I sometimes found myself reviewing student work that was technically sound but conceptually dull, work that felt like the student meant to prove that they had used the proper tool for meeting the requirement. I also had students say to me that they felt like technicians and not artists, expressed in a way that didn’t feel like they were blaming me, but that there was something wrong with them— perhaps they weren’t artists after all. Even in the case of exceptional student work, what would it mean to truly attend to students’ creative or artistic development as much as their technical skill development?

I am not alone in longing to understand this. Dufva (2018a) writes about teachers in a creative coding school in Finland who also rubbed up against this issue. He explained, “one of the most common problems among the teachers was the dichotomy between open-ended discovery and a strict top-down style of teaching” (p. 132). He goes on, “teachers wished for more guidance on where to draw the line between helpful, practical advice and creative discovery.” He also notes that teachers wanted to find ways “to support the students so they would have the courage to explore and try independently” (pp. 132, 133). Dufva here frames the same tension that this research seeks to address: how does a creative code course, which is inherently demanding of technical information, also and importantly make space for “the creative”— for discovery and meaningful exploration? How do you facilitate a creative code class where students, who are relatively new to computational thinking and/or programming, are supported in using coding techniques towards creative ends?

Research papers about college-level creative code courses that purport to offer an “approach”  sometimes frame creative coding as developing a “portfolio of digital animations” and don’t describe in critical detail their own curricular approach and the students' response. Creative coding isn’t about making computer animations, or video games, or even digital art, which at the worst of times, the literature makes it out to be. This is not to denigrate computer animations or video games or digital art— in fact these are the most common types of projects that my students make. However creative code isn’t about making video games or animations.  Those forms are secondary to what is at the heart of creative coding, which, if it is understood as art, is moreso a sort of soul-engagement, more digestibly framed as “the ongoing and never-ending exploration of what it might mean to exist in and with the world” (Biesta, 2017, p. 17). In the creative code classroom, students use code to ask and pursue their own questions via the medium of code. But how does a creative code course support students in recognizing and pursuing their own dreams?

In my pursuit of this question, I found that rich theories and frameworks about nourishing “creativity” have been happening in art education for a long time. This research draws from Art Practice as Research (APR), a postmodern theory of art education that was developed in the early 2000s that is in use today (Marshall, 2014; Marshall & D’Adamo, 2011). Art Practice as Research is grounded in the notion that artists do what researchers do: “ask questions, make hypotheses, experiment, theorize, and draw inferences” (Sullivan, 2010; Marshall, 2015). This theory highlights the fact that artists construct new knowledge via their work. This has implications for education generally, if accepted. If art is no longer seen as limited to a sort of cultural, aesthetic, art-world domain, but is instead recognized as a rich practice of building (literally and conceptually) understanding, then “art” may well belong everywhere, across the curriculum. This is in fact what APR theorist Julia Marshall proposes, a model of curriculum integration where discipline-based epistemologies are overturned (Marshall, 2005).

The Art Practice as Research model offers the Creative Code educational project practices based on extensive educational research on studio art practice. Together with the unique complexities of the medium of coding, and other art education theories, the Creative Code classroom has the potential to move onto a new plane, where Papert’s “soap-sculpture math” or Gude’s education that “[teaches] skills and concepts while creating opportunities to investigate and represent one’s own experience” (Gude, 2007, p. 6; Papert & Harel, 1991), or Resnick’s endless, life-giving cycle where you are “creating things in the world, which enables you to create new ideas, which then pushes you to create new things in the world,” (Resnick, 2020) become real. Across these different framings of creative coding in constructionist and art education literature, one central goal becomes clear: helping students engage in “the ongoing exploration of what it means to be in the world” (Biesta, 2017, p. 17). It isn’t about math, or CT, or art framed in expressivist terms of creating “quality” works of art (Biesta, 2017). It is about doing art, about encountering the world and creating forms that bring you into dialogue with the world. I dream a creative code class that is foremost about the students' own soul-questions and pursuing them with code.

Why bother coding as an artistic medium? Why not stick with traditional media or various digital tools? Firstly, coding offers a level of creative agency and customization that surpasses what pre-existing digital tools and software provide (Peppler, 2010; Meeken, 2012). By learning to code, artists can construct their own systems and tools more closely tailored to their artistic visions, enabling them to shape “the mediascape in which they live” through “liberation” from the “limiting design decisions” behind digital “tools and platforms” (Meeken, 2012, p. #). Rather than being limited by the affordances of the digital art tools created (with code) for artists, artists engage with the raw capacities of code themselves, as a material to construct their own forms with.

Secondly, code, as a creative medium, has unique affordances which are distinct from traditional media, including interactivity, variability, simulation, multi-modality, modularity, and generativity (Manovich, 2002; Reas & Fry, 2006; Meeken, 2012; Patton & Meeken, 2017; Paul, 2011). These aspects of coding grant artists the ability to create works that are dynamic, responsive, immersive, and participatory. Hoebeke et al. (2021) describe the “uniqueness of programming as a material” for artists, which includes its ability to help us “do something more,” including “audio-visual expressions… e.g. games and animation” (p. 237). Code as a creative medium also lends itself to explorations of function, including “interaction, mobility, sensors” (p. 237). Coding, as a result of its inherent qualities, gives students the ability to imagine and develop forms that, as a result of interactivity and variability, can sense and respond to environments and stimulation in a way that traditional media do not afford. Code as a creative medium allows artists to do things, to wield the magic of the medium for their own purposes.

Finally, using code as a creative medium helps artists to engage with the digital systems which surround us, and over which a small number of individuals and organizations wield significant control. As Douglas Rushkoff (2010) argues in "Program or Be Programmed," those who do not understand the underlying logic of digital technologies risk being controlled by them. By learning to code, artists gain a deeper understanding of the digital environments in which they operate, empowering them to not only navigate but also shape these spaces (Dufva & Dufva, 2019). Coding skills are essential for artists seeking to assert agency and create alternatives to the digital status quo. Coding also resonates with students' interests. As Hoebeke et al. (2021) explain, students “feel more met at their level because we are working on something that is related to what they are doing. If we create a computer game, they will automatically think 'Oh! I do this at home’” (p. 237). Code is the basis of many of the technologies that are part of shaping our everyday lives. Artists need the opportunities to explore code as a material in order to participate not just in “co-creating the world” via traditional materials, but in co-creating the world via the unique capabilities of code.

In this research, I put into practice art education theorists’ ideas for a creative code classroom, one where the “creative side” is as thoroughly nourished as the technical side. If coding is a creative medium and creative coders are artists, then how do the ideas from art educators about how to teach it apply?  Through frameworks and theories from art education, as well as ideas from creative code educators and contemporary constructionists, this course was designed to weave a richer fabric, where technical proficiency was tempered by equal attention paid to processes and activities that support creative thinking and the development of artists. This study describes a framework for supporting the creative side of creative code, based on grounded theory—pulled from students' experiences via their projects and reflections. The framework is my response to the question, how do you help students wield creative coding in the pursuit of their own dreams? How do you ensure that coding technique is used in the service of the students' understanding and pursuit of their own ideas?
The framework consists of four types of opportunities that are crucial pieces of a curriculum that supports students’ ability to pursue personally meaningful projects in the medium of code. The four elements of the framework are giving students opportunities to: (1) make observations about themselves and the world of creative coding; (2) develop technical skills; (3) practice translating their ideas into projects; and (4) reflect on their projects and experiences. Creating these opportunities prepares students to pursue their own lines of inquiry in a self-directed personal project. This framework provides a way to think about designing curriculum, as well as an important checklist for developing creative coding curriculum. These four different opportunities are all important pieces of a ‘balanced creative code system’ that supports students using code in personally meaningful, creative ways. Focusing entirely on one element of the framework—for example, developing technical skill—will not sufficiently support creative coders (Bryant, 2010; Levin & Brain, 2021). Opportunities to develop technical skills need to be balanced by other facets like opportunities to make observations and translate ideas, which ensure that technique is “tied to its purpose, which is making an idea visible” (Sheridan et al., 2022, p. 33). That said, this is not a campaign against the teaching of coding concepts. Without opportunities to develop technique, students will not have any rich ability to translate their ideas into projects (Sheridan et al., 2022). It is partially through technical practice that students begin to uncover and wield the unique capabilities for code for themselves.


Figure 1. Visualization of the framework for supporting the creative side of creative code. The black text denotes the framework developed via this study, where the red and blue overlay the elements of the Studio Habits of Mind and Creative Research Stages.

Nothing about my framework is particularly new. Although it was developed via grounded theory, it reflects ideas from Studio Habits of Mind (Project Zero), The Creative Research Stages (D’Adamo & Marshal), and The Principles of Possibility (Gude). Pieces of these different frameworks are visible, and in fact help elucidate the data, but this research clarifies specific pieces that are essential to supporting creative coding in particular, which is a unique creative medium that poses specific challenges and opportunities. Through this research, I found that students discovered the unique possibilities of the code medium through the various opportunities that the projects created, via the framework: (1) make observations about themselves and the world of creative coding; (2) develop technical skills; (3) practice translating their ideas into projects; and (4) reflect. Students were able to, as a result of the opportunities (framework), create personally meaningful projects in which they were able to use code in the pursuit of their own interests, questions, and ideas.


Please contact me to read the full manuscript.
g retchenk athleenl arsen@g mail.com



June 2024
GRETCHEN LARSEN
artist & educator

— Sculpture and Installation
— Creative Code Research