Blog Post

How Might We…. Strengthen Computer Science Education with Design Thinking?

I wanted to start this blog post by thanking you for the thoughtful contributions to our recent Twitter Chat on design thinking in the Computer Science classroom. I’ve been on a journey for the past several years to infuse my computer science programs with the design-thinking methodology, and I thought I would share a bit about what I’ve learned along the way. All students can benefit from the application of computer science to solve authentic and relevant problems.


Image Source:


If you are not familiar with design thinking, it’s a methodology for solving problems. The term has been widely used—and often misused or confused—with the engineering design process, though there is a great deal of overlap between the two. I like the Stanford point of view and approach to design thinking:

“We believe everyone has the capacity to be creative.”
Image Source:


Design thinking can help students find relevance in their computer science courses, applying their skills to find and solve problems that matter to them. The problems don’t need to be technology-related. Students may want to tackle issues about the environment, natural disasters, social justice, health care, or education. Below is an overview of the design thinking process.

EMPATHY: Design thinking begins with empathy. UnSelfie, a book that has become very popular lately, talks about the critical importance of helping our students develop empathy as a way of succeeding in an increasingly self-centered world. The initial phase of design thinking is grounded in research, observation, interviews, and questioning. Before you can design a solution for someone, you must first understand their challenges, their needs, their hopes and wishes. As a simple example, we recently asked our eighth-grade students to design Ozobot obstacle courses for first-graders to use when they were learning to write Ozoblockly programs. During our first run of the project, the eighth-graders designed the courses that they wanted. The first-graders found some of the courses too challenging. The second time we tried the project, we asked each eighth-grader to draw a portrait of her first grade self. We used guiding questions such as, “What scared you? What did you like to do for fun? What was your favorite food?” These courses were much more appropriate and exciting for a first-grade audience because the eighth-graders grounded their designs in empathy.

DEFINE: Once students develop a human-centered and research-based understanding of the context, they can begin to define more clearly and more narrowly the problem they are going to solve. One of my favorite TED talks is Ewan McIntosh’s “The Problem Finders.” He describes how schools can help students move beyond problem solving to more powerful problem finding, and why this is critical preparation for tackling global problems that have not yet been identified.

IDEATE: The ideation phase helps students move beyond the traditional brainstorm as they generate multiple ideas for solutions. I’ve found that often students spend a few minutes brainstorming, then they want to dive right in and begin developing one of the few ideas they generated. Ideation techniques and activities gave me the tools as an educator to help my students push far beyond those initial ideas.

PROTOTYPE: This phase is where students begin to develop solutions. In computer science, this might be a blueprint for a digital game, mobile app, program, 3D design, or even a robot that can help solve the problem they’ve identified. With design thinking, students build to learn. This can be a highly motivating opportunity for students to absorb new information and apply new skills. Students can connect with experts in computer science and other fields as they seek additional research to develop their prototypes. It’s important to help students develop low-resolution prototypes so they don’t get too emotionally attached to their solution. Often, testing will reveal fundamental flaws, and students need flexibility to dismiss their original ideas and try a different approach.

TEST: During this phase, students interact with potential users to test their prototypes. This phase offers a unique opportunity to connect with other students or community members. This makes your students’ computer science learning visible for others and demonstrates the important work you are doing. It’s also motivating for students to demonstrate their learning for an authentic audience and receive feedback from diverse perspectives. That way, students learn to continuously reflect on and refine their work.


I’ve only scratched the surface in this post. Below are some additional resources if you are interested in exploring design thinking in your computer science classroom:

  • The Stanford offers wonderful programs for teachers, including a three-day introductory workshop. They have four tiers of tuition, making it an affordable option for those with tight budgets.
  • The also offers a free virtual crash course in design thinking. Note that the course is currently being redesigned and is anticipated to launch in fall 2019.
  • I was also incredibly fortunate to visit the Nueva School and attend their summer institute several years ago. Nueva claims “the first pre-collegiate design thinking program in the country.” If funds are available, I would highly recommend attending their Design Thinking Institute held in California in June.
  • Here is a full Design Thinking Toolkit for K-12 educators developed by IDEO.
  • Tom VanderArk has compiled a great set of resources on design thinking.
  • One of my colleagues recommended the book Design Thinking in the Classroom by David Lee for our faculty summer reading. It offers a thoughtful introduction to design thinking and an overview of why it matters in both education and business. The book provides information about how to develop design thinking projects and strategies for implementing each phase of design thinking with your students.

Have you used design thinking in your computer science classrooms?

Are you considering using design thinking next year? Please share your thoughts with us!


Jenn Vermillion is the Director of Innovative Learning at St. Catherine’s School, an independent school for girls age 3 through grade 12 in Richmond, VA. She teaches an introduction to computer science course for students in grades 9-12 and an 8th grade Creative Technologies course. She also coaches a 4th grade Robotics team and coordinates school-wide professional development. Jenn welcomes your comments and questions at