— jkurleto (@jkurleto) December 8, 2014
Forty years ago, Donald Knuth argued that computer programming is both an art and a science, with the two aspects not at odds but complementary to each other. Writing a program “can be like composing poetry or music…programming can give us both intellectual and emotional satisfaction” (Knuth, 1974, p. 670). He perceived that it is not only the result of an algorithm that can demonstrate creativity, but the act of creating the algorithm as well. This is akin to recognizing that the techniques of a painter can be as creative as the painting itself, as the process and product are intrinsically linked. Creativity in programming has long been accepted in the computer science community, but not necessarily with the general public. One contributing factor is that the algorithms and code that implements them have often been obscured from the end user, or to borrow an art term, viewer.
A new museum exhibit, The Art of Algorithms, will pull back the curtain to reveal the spectrum of creativity used in creating and implementing algorithms and demonstrate applications of computational thinking in the arts. By participating in this interactive museum exhibit, visitors will not only be able to experience examples of digital art, but also create works to be displayed within the gallery. Museums play an important role in communities by not only elucidating difficult concepts but nurturing passions in different fields of study and showing connections across disciplines.
Past exhibits and programs at the Cranbrook Institute of Science have emphasized passive acquisition of content knowledge with little focus on the thinking skills needed to apply that knowledge in novel ways. The Art of Algorithms will address this imbalance by guiding visitors in the act of creation with the use of a transdisciplinary toolset. Becoming familiar with these tools of creativity will be of benefit not just in the creation of art, but in understanding and developing new scientific knowledge as well (Root-Bernstein & Root-Bernstein, 1999). By creating a meaningful product, visitors will demonstrate an active understanding of the use of algorithms.
The Art of Algorithms will come at a critical time to show the role of creativity in programming and in technology in general. In 2009, the White House launched the Educate to Innovate initiative, intended to provide students with the skills needed to continue the strength of the United States in innovation. In a report to the President, the President’s Council of Advisors on Science and Technology recommended preparing and inspiring students to enter STEM fields (2010), but neglected to include fostering creativity and innovation in the proposal. While deep content knowledge is needed for innovation, learners of all ages need to also practice developing and applying new ideas.
The Root-Bernsteins argue that art should exist as the “fourth-R” of education (1999), yet school districts have cut art programs as budgets are slashed and standardized test performance emphasized. Transforming STEM into a transdisciplinary STEAM provides the ideal way to reintroduce the relevance of the arts in fostering innovation. Of course, it should not be limited to those fields, but be open to any synthesis of the arts and sciences.
To instruct a computer, a programmer will engage in algorithmic thinking. These step-by-step procedures to solve problems are often used as reusable solutions in mathematics and computer science, recipes in cooking, even instructions on the back of shampoo bottles. Algorithms can be encountered in surprising places in daily life, something I discovered during the course of this project: in learning new skills, composing music, or getting ready for work or school in the morning. Participants will realize this relatable nature of algorithms as they experience The Art of Algorithms.
Algorithms may appear to be the antithesis of creativity, that if they played too much of a role in teaching, learning in classrooms would become color-by-number. Our everyday word for it, that we follow a routine, is to be stuck in a predictable but hollow loop of behavior, day-in, day-out. Algorithms can also be viewed as rigid methods of problem solving, applicable in only limited situations, while heuristics or even chance happenings are more applicable to real world situations. Yet as computing has played an increasing role in society, sciences, and even the arts, the perception of algorithmic thinking has morphed into a broader approach of computational thinking, including recognizing creativity is needed to create effective algorithms and they can be applied towards creative means.
A set of installations, a stage show, and an outreach program will compose The Art of Algorithms. Each installation will focus on the use of a creative or computational thinking skill that visitors can use in their lives in a variety of ways, and there is a great deal of overlap between these sets of cognitive skills, another key idea to be communicated by this exhibit. While each installation may apply only one skill explicitly, many other related skills will be needed as well. It is necessary to use a common vocabulary when considering these skills so connections across the arts and sciences can begin to be recognized (Root-Bernstein & Root-Bernstein, 1999). As visitors become more comfortable using creative and computational thinking skills, these transdisciplinary links will become intuitive, allowing a synthesis of understanding of not only algorithms, but the need for creativity as well.
A fundamental skill to aid in any creative endeavor is not only close observation, but perceiving, where a mental model is created to be recalled, understood, and manipulated. This allows the idea to be internalized, understood logically but also with senses and feelings, so that it can be transformed into something original. To observe an algorithm can be difficult, as the task it carries out is often invisible, seen only in the implementation and end result. The execution of the algorithm is carried out so quickly and digitally that it renders itself invisible.
The first instillation, The Music of Sorting, will allow visitors to perceive the execution of a sorting algorithm through auditory means. Notes can be assigned to different values, and a particular sorting algorithm can be chosen, such as a pancake sort, bubble sort, and quicksort. As the algorithm iterates through the data to perform the sort, the data will be played as notes on a scale so that harmony or disorder can be heard as well as seen. Listeners can observe which algorithm not only completed the sort the fastest, but created a pleasing sound.
Discovering patterns in information is key to developing beautiful algorithms but also in any act of creation. Computer science and art share the role of finding order from chaos and taking advantage of these discovered patterns to create something that is understandable to the viewer and is useful or resonates with their life experiences. Although the materials to work with can be basic and accessible to all, “the value of the creation lies in the innovativeness and cleverness of the combination of these simple elements” (Mishra & MAET Team, 2011).
Painter Gene Davis exemplified this notion by using simple stripes of color to achieve striking effects. A theme that ran through his works was motion expressed in these patterns. Visitors will gain an appreciation of the complexity of the combination of colors he chose through the Striking Stripes exhibit. Using simple programming environments such as PencilCode, visitors will attempt to recreate works such as Yoyo and Triple Jump. The Root-Bernsteins note that learners should move beyond analyzing works of art, but also create reproductions (1999), but mimicking also allows for effective analysis as well, as I found when replicating Jack-in-the-Box. When visitors find patterns in their abstraction, shortcuts for dealing with patterns such as loops will be explained and offered for use. Once their re-creation is finished, visitors will be challenged to abstract motion of their own choosing and create a digital work inspired by Davis’ work to be displayed alongside them.
Abstraction itself is a vital creative and computational thinking skill and essential when communicating the nature of algorithms, which are themselves abstractions. By stripping away details to reach the core idea, abstraction is closely linked to other skills as it allows for the creation of mental models, ready recognition of patterns, and transformation into other forms. To better understand the nature of algorithms, a path will be set up throughout the exhibit for visitors to follow. At points in the path, visitors can choose a direction to follow, much like an if/else statement, loop back on itself like a for/while loop, and finally arrive at a destination. By following the path, visitors will be able see how following a path is much like following an algorithm, and decision points along the way determine how they experience the exhibit.
Involving the motion of the body is not often considered in teaching computer science, although CS Unplugged and Hungarian Folk Dance Data Sorting have explored embodied thinking as a way to model algorithms. Yet students I have visited use kinesthetic movement to demonstrate simple concepts that are difficult to verbalize, such as what a loop does. In a stage show developed for this exhibit, visitors will be able to participate in a play that allows them to both embody the role of a fairy tale character that uses algorithmic thinking and use their body motion to build an algorithm. A related installation will allow them to practice Algorithmic Aerobics, where they will follow a routine to build a program through their motions. Any mistakes will be reflected in the algorithm, which they will then have to debug by correcting their motions.
Modelling is closely linked to abstraction and perceiving, as it provides a way to better understand a concept with essential information presented in a clearly understandable way. Algorithms are themselves models for others to follow, but creativity can be found in tweaking the algorithm, just like changing a recipe, and in the implementation. By modelling the relationship between the algorithm and levels of abstraction in the resulting program, I was able to better understand the distinctions between them. Visitors to the Layers of Logic installation will be able to reach the same understanding by interacting with a model of these layers of abstraction. As they move closer to the display, lower levels of logic are revealed, which once again makes the invisible able to be seen.
Play allows for learning by exploring and tinkering simply for the pleasure of it, with no definite outcome expected, yet surprising revelations can be found while playing. To participate in deep play, some pathways or limitations must be in place from the start (Emanuel, 2014). Implementing an algorithm can make use of play since a programming language is not just an empowering tool but also a set of rules to follow. Knuth points out that the satisfaction from an aesthetic view “is significantly enhanced when we accomplish something with limited tools” (1974, p. 671). To allow visitors to play, stations will be setup with the Scratch programming environment to see what patterns can be created through algorithms. By structuring the challenges in a way where goals become more open ended, the need for play when dealing with increasingly complex tasks will be stressed.
Visitors will use their experiences in the exhibit to achieve a deep understanding through the melding of “sensory synthesis with … abstract knowledge” (Root-Bernstein & Root-Bernstein, 1999, p.297). The multiple modes of experiencing algorithms combined with active knowledge on how they are used in problem solving will allow visitors to consider them as both artists and scientists. To reinforce this synthesis, an outreach program will be offered to school groups who attend the exhibit. Students will be guided on applying their newfound knowledge to creating algorithmic art, using tools such as Scratch and Processing and the same creative and computational thinking tools explored in the exhibit. Their work will join others from established new media artists in creating The Gallery of Code, the final portion of the exhibit that shows viewers what can be achieved at the intersection of feeling and knowing.
The Art of Algorithms will ultimately communicate how programmers, artists, and scientists have harnessed the power of algorithms to play and important role in an endless cycle of creation. It requires considerable creativity to create an algorithm; the results of an algorithm can be similarly creative; and an algorithm can be the starting point for modification and transformation in inspiring others to create.
Emmanuel, G. (2014). Among Dartmouth’s Lathes And Saws, Lessons In Creativity. National Public Radio, 50 Great Teachers. Retrieved from http://www.npr.org/blogs/ed/2014/12/01/353286773/among-dartmouths-lathes-and-saws-lessons-in-creativity
Knuth, D. E. (2007, January). Computer Programming as an A1`t. In ACM Turing award lectures (p. 1974). ACM.
Mishra, P. & the MAET Team. (2011). Sparks of Creativity. Retrieved from http://sparks.wiki.educ.msu.edu/.
President’s Council of Advisors on Science and Technology. (2010, September). Prepare and Inspire: K-12 education in science, technology, engineering, and math (STEM) for America’s future. Retrieved from http://www.whitehouse.gov/sites/default/files/microsites/ostp/pcast-stemed-report.pdf
Root-Bernstein, R. S., & Root-Bernstein, M. M. (1999). Sparks of genius: The thirteen thinking tools of the world’s most creative people. Houghton Mifflin Harcourt.