Sandy Dibble
Curriculum Development Specialist
Katie Baird
Content Marketing Specialist
Creativity isn’t just for artists; it’s for anyone. Let’s dive into the definition of creativity then explore examples and benefits of creative thinking in computer science.
First, let’s define creativity. Creativity is the ability to develop new ideas to solve problems and communicate with others. Those who are creative can turn imagination into reality; they are doers, not just thinkers. They can come up with ideas and implement them in their everyday life. Many times, people conflate being “creative” and being “artistic”. In reality, musicians, thespians, and artists are not the only ones who benefit from creativity. With our definition of creativity above, you can apply creativity in ANY career, hobby, or practice in your life.
According to Arne Dietrich, professor of cognitive neuroscience, there are four types of creativity. In the Psychonomic Bulletin & Review (2004), Dietrich established a quadrant system based on where creativity resides in the brain. Each square in the matrix reveals the different ways humans can be creative and gives an example.
Now that we’ve defined creativity, you may ask, why is creativity important? First, being creative helps us deal with uncertainty. It gives us confidence going into new situations, knowing you can solve problems. Next, it helps us see the big picture. When we are creative, we are not getting bogged down in details; we can take a step back and assess the larger situation. Finally, creativity encourages us to learn and interact with others.The more knowledge we share with one another, the more we can draw upon to develop new ideas.
To continue the discussion of ideas with your students, download a free lesson for K-2 called Idea Generation. In this unplugged activity, students learn different ways to communicate an idea and will practice generating ideas with a visualization activity.
While most people do not immediately associate creativity with computer science, creativity skills are not only beneficial to developers, but oftentimes critical during the development process. When developers begin coding a program, they define the problem and imagine potential solutions. Unlike in math class where there may only be one correct answer to a problem, computer scientists benefit from endless possibilities and solution paths, where any solution is valid. This is where creative problem solving and originality come into play.
At first, developers may not know the path they will take to solve a problem. They experiment and put their thoughts and ideas into action using code as their medium just as writers begin by putting pen to paper to create something new. Then, they iterate and debug until they discover a solution that works. Once they have a workable program, they iterate some more to refine their creation, such as making the code more concise or improving readability. Hear about how a software engineer that develops the Halo video game series uses this process in her job.
Similar to how a painter might continuously fine-tune a piece of art or a writer might revise an article many times, a developer is always reworking their code and developing their own style. Learning to code requires developers to be creative, especially because they may be solving problems that have not been solved before.
As an educator, you already know the importance of giving students ownership of their work. This opens the door to endless creative possibilities, especially in computer science. Students are more proud of their work and feel a greater sense of accomplishment when they plan, design, and create a program themselves.
This, however, does not come without challenges. The definition of creativity in education is deeply intertwined with failure. That is not a bad thing, though! As students are learning coding languages or computing concepts and applying them to new, creative ideas, things are bound to go wrong. Computer science opens the door for students to get creative with their problem solving skills. Teachers act as guides and advocates through this process, offering help and insights when appropriate. Here are three common challenges students may face when tackling a creative idea and strategies for how to help them overcome the obstacle:
Regardless of the career students choose to pursue later in life, all students can benefit from understanding how technology works and how to harness it to create something original. A recent study performed by Dr. Shalini Kesar of Southern Utah University found that 91 percent of young girls in grades 5-12 identify as creative. Despite this, many young girls do not connect their career aspirations or interests to computer science.
By repositioning computer science as a tool for students to express themselves, more students will be able to see themselves as computer scientists and align coding with creating. Giving students the freedom and support to develop projects that fit their diverse passions, while incorporating CS fundamentals, can lead to increased self-confidence, independence, problem-solving, and other 21st century skills. Students are also more engaged when they can incorporate their unique interests and make choices about how to apply computer science concepts.You can help by integrating student-driven coding projects into your classroom and encouraging students to showcase their creativity. When we reframe coding as a creative process, we can reach more students who may not have connected with computer science.
“More students will
be able to see
themselves as
computer scientists
and align coding
with creating.”
Now that we’ve explored some different aspects of creativity in computer science, let’s dive into some examples of creative thinking activities. Ellipsis Education computer science curriculum provides open-ended projects for teachers that include many opportunities for self-expression.
Students have the opportunity to demonstrate their creativity in the lesson, “It’s a Goal” from Computer Science Fundamentals 3rd grade. In this lesson, students are challenged to program a character to move across the screen to score a goal. They are given the freedom to decide which sport and visuals to include in their project and how they will accomplish this task. While students may use similar methods and programming constructs, the end result is different for every student. An example project is pictured below. Download another free coding lesson for the grade band 3-5.
Let’s take a look at another lesson from Computer Science Applications JavaScript 7th Grade. This coding lesson is called, “Daily Schedule Maker.” In it, students explore and analyze possible solutions for a website that creates a daily schedule, and then develop their own solution. Afterwards, they compare websites to determine the best solution paths. There are endless possibilities for coding this project. While their end results (pictured below and shown here) look more or less the same, based on their experience and expertise, students may take very different paths to fulfill the project objectives. This lesson depicts another, more nuanced way that computer science requires creativity. Download a free JavaScript lesson from Ellipsis Education.
If you are interested in introducing computer science in your classroom, download a free lesson below. In Treasure Map Coordinates, students will code Scratchy to move across the stage using the coordinate plane. Create a foundation for students to use their creativity to build full games and stories using Scratch!