http://scratched.gse.harvard.edu/ct/defining.html

Over the past five years, we have developed a computational thinking framework based upon our studies of interactive media designers. The context of our research is Scratch — a programming environment that enables young people to create their own interactive stories, games, and simulations, and then share those creations in an online community with other young programmers from around the world. By studying activity in the Scratch online community and in Scratch workshops, we have developed a definition of computational thinking that involves three key dimensions: (1) computational concepts, (2) computational practices, and (3) computational perspectives. Observation and interviews have been instrumental in helping us understand the longitudinal development of creators, with participation and project portfolios spanning weeks to several years. Workshops have been an important context for understanding the practices of the creator-in-action.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/31001a10-5b2d-4072-ada0-919771998174/ct-concepts.jpg

As young people design interactive media with Scratch, they engage with a set of computational concepts that are common in many programming languages. We have identified seven concepts, which are highly useful in a wide range of Scratch projects, and which transfer to other programming (and non-programming) contexts:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8ce35d4f-43bf-48d6-9608-1002ea9ebac7/ct-practices.jpg

From our interviews with and observations of young designers, it was evident that framing computational thinking solely around concepts insufficiently represented other elements of designers' learning and participation. The next step in articulating our computational thinking framework was to describe the processes of construction, the design practices we saw kids engaging in while creating their projects. Although the young people we interviewed had adopted a variety of strategies and practices for developing interactive media, we observed four main sets of practices:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2d89fca0-7451-4696-ad3f-d5d798c978c8/ct-perspectives.jpg

In our conversations with Scratchers, we heard young designers describe evolving understandings of themselves, their relationships to others, and the technological world around them. This was a surprising and fascinating dimension of participation with Scratch — a dimension not captured by our framing of concepts and practices. As the final step in articulating our computational thinking framework, we added the dimension of perspectives to describe the shifts in perspective that we observed in young people working with Scratch, which included three elements:

Description and definitions of the concepts, practices, and perspectives are available in this one-page handout. For more information about the development of the CT framework, please explore this AERA 2012 conference paper or this series of webinars (concepts, practices, perspectives).

Other Definitions and Inspirations

Many people are contributing to the conversations about computational thinking — what it is and how to support its development in young learners. Here are a just few of the many resources that we have found helpful. If you have resources that you would like added to this list, please contact us.