Computing has the potential to provide users opportunities to extend their creative expression to solve problems, create computational artifacts, and develop new knowledge. The pervasive nature of computing and accessibility of digital tools is also transforming K-12 education as students move from being mere consumers of content to engaging in the subject matter by creating computational artifacts. Take Scratch, for example, which is one of the many tools designed to teach kids to code, and comes with varying levels of support for educators implementing them in both formal and informal learning settings. Scratch provides students with an opportunity to express their creativity through stories, games, and animations. While Scratch has the potential to be a powerful tool, it is often used as little more than a presentation tool in the classroom. Studies of Scratch users show that few projects use variables or control flow data structures. While the Scratch environment provides a 'low floor, high ceiling' that allows beginners to dive into the environment without frustration, many students do not advance to a higher level. Tools like Scratch can empower students to showcase their creativity like never before; however, the way these tools are taught by teachers and used by students significantly influences whether students move along the creativity continuum. While Scratch is widely used, we know little about how it influences students' creative thinking.
K-12 Computer Science Education and Creativity
In his widely viewed TED talk, Sir Ken Robinson severely criticized educational institutions, claiming that we are "educating people out of their creativity." Perhaps in response to this, or perhaps just due to the recognition of the importance of students developing creativity as they learn computer science, the College Board has identified creativity as one of the seven "big ideas" as part of the new Advanced Placement CS Principles (CSP) course. In fact, variations of the word creative appear 62 times within the AP CSP Course and Exam Description. The argument is that computing fosters creativity by allowing individuals to move from merely being consumers of technology to building tools that can have a significant impact on society. The CSP course outlines how computing can enable people to not only use computing for creative expression, but also "extend traditional forms of human expression and experience."1 An understanding and use of computing (such as software tools and services), deep knowledge of a discipline, and creative expression allows individuals to create computational artifacts and/or solve problems. The partnership an individual establishes with computing tools enhances not only his/her creative expression, but it can even lead to new forms of artifacts.3 For example, musician Iannis Xenakis used probability distribution in the early 1950s to compose music, which he called Stochastic Music. In order to accelerate the stochastic calculations, Xenakis started programming. His programs not only computed the composition of the orchestra (percentages of each section), but also the assignment of a note to particular instrument. The deep knowledge of the discipline (music) and an understanding of computer programming allowed Xenakis to combine the power of computing to compose stochastic music.
Creativity involves a set of thinking tools that overlap with fundamentals of computer science, which can in turn support the development of creative thinking.
The CS Principles framework high-lights this creative aspect of what Xenakis was able to accomplish with computingextending traditional forms of human expression and experience. However, it should be noted that in spite of the emphasis on creativity in the CS Principles framework, it is the only one of the seven big ideas not explicitly being tested as part of the new AP CSP exam. While we agree that creativity is a complex construct to understand and assess, we could learn from other domains such as psychology, where a number of creativity measures (for example, the Torrance Test of Creative Thinking, Guilford's Alternate Uses Test, Wallace and Kogan's test, and others) exist. Perhaps the College Board is developing a clear rubric for grading creativity in the CSP exam, as a means to measure creativity of students' submitted portfolios.
The question still remains how to expose students to these two prominent forces of creativity and computing within the context of particular disciplines, which can lead to solving ill-structured problems in the 21st century. How do we use computing across the various subject areas students encounter in their elementary and secondary spectrum of schooling? In the remainder of this column, we focus on how computing can be taught in a manner to enhance students' creative thinking. It is important to note that we are not new in proposing how to develop creativity in students. Nearly a century ago, Jacques Hadamard explored invention in mathematics (as an example of invention in general) to understand the processes great mathematicians use to invent.2 The Cambridge Handbook of Creativity provides a comprehensive overview of creativity research from its relation to cognition to its domain specificity to assessing creativity. While there has been a great deal of work in trying to understand and grow the creative process, we are particularly intrigued by the work of creativity researchers like Robert and Michele Root-Bernstein, and in this column discuss how their work on creative thinking can inform computer science education.
Creative Thinking through Computer Science
Creativity involves a set of thinking tools that overlap with fundamentals of computer science, which can in turn support the development of creative thinking. Here, we outline some of the creative thinking tools, their overlap with computer science, and argue how computing can be used to support creative human endeavors.
Observing is one of the critical creative thinking tools that goes beyond sight to include hearing, smell, and taste, all of which allow us to acquire knowledge.4 Another related thinking tool for creativity is imaging, which allows individuals to visualizeto imagine the look of things that do not physically exist. For example, physicist Richard Feynman used visual images as the solutions to a problem before ever jumping into mathematical equations for the answers. This ability to perceive by observing and imaging is critical to think creatively and innovate. Within computer science, perception plays a significant role for researchers working in visual computing areas, such as computer graphics and vision. For example, the Graphics Vision Visualization group at Trinity College (http://gv2.cs.tcd.ie) draws extensively on how humans perceive when developing visualizations, such as virtual agents. Access to such tools allows students to think in powerful ways and help awaken their creative thinking skills related to perceiving. We could enhance students' perceiving skills and extend this notion of imaging by having them imagine how algorithms and code are structured and how they execute, that is leap back and forth between describing an algorithm and writing the code itself.
The ability to abstractreducing information and detail in order to focus on concepts relevant to solve problemsis another essential creative thinking tool and its importance in computer science is highlighted by the fact that it is also one of the big ideas for the CS principles course. For computer scientists, abstraction is a fundamental concept. In our Alice workshops with teachers, we motivate the need for decomposition and the use of methods (as a form of abstraction) by developing a solution to a problem without the use of abstraction. In our case, we teach a dragon to fly through the use of the primitive move, turn, and roll methods on each of the appropriate parts of the dragon's body. The code that has not been decomposed into smaller parts is very difficult to reason about, or to later modify. Decomposition through the use of methods allows the programmer to think about the method at a higher level of abstraction. Once the programmer has gotten the details of a method to work, it is no longer (generally) necessary to think about the detailed instructions that make up the method. The method simply works as it is supposed to work. We note that our approach is quite similar to the method taken by Mehran Sahami in his iTunes University Programming Methodology course, with a Karel the Robot task. Parameters can be taught in a similar manner. In our Alice example, rather than creating one method for the dragon to fly to the knight, and a second method for the dragon to fly to the king, it is possible to parameterize the target of the dragon's flight.
Finally, patterning is another thinking tool central to creativity and includes both the ability to recognize patterns as well as being able to form patterns.4 Recognizing patterns plays a significant role for computer scientists working in the area of machine learning, especially when it comes to the extracting the right information based upon identifying specific patterns in large datasets. Similarly, forming patterns is key to putting all the pieces of information together in a scientific visualization. Students could, for example, use computing tools to learn about identifying and forming patterns in data first beginning with spreadsheets in elementary grades to using mathematical/statistical functions in Python in secondary school.
In this column, we have argued that computing provides students with a powerful mechanism to support their creative thinking. However, we need to carefully consider how we use the affordances of computing tools rather than merely putting them in front of teachers and their students. We need to address how teachers and their students use digital tools to engage in creative thinking skills as discussed in this column. We also need to develop measures that allow us to evaluate whether and how computing supports processes that aid students' creativity. We end with a hope. We hope that well-planned use of these computing tools will lead to more creative results than the results obtained by giving an elephant a paintbrush and a palette, as shown in the accompanying photo. While elephant art is unique, it does not illustrate, at least in our view, any degree of creativity by the elephant.
1. AP computer science principles draft curriculum framework: 2014; https://advancesinap.collegeboard.org/stem/computer-science-principles.
The Digital Library is published by the Association for Computing Machinery. Copyright © 2017 ACM, Inc.