Frontloading Computational Thinking in the Long-View CS Block
For those who have limited experience in the modern Computer Science domain, it is easy to make the assumption that it is all about learning the syntax and semantics of specific programming languages. However, over a century before the first computer was successfully built, mathematicians Ada Lovelace and Charles Babbage worked to tackle complex problems crucial to Computer Science. At Long-View we like to think of coding as just one tool we use to study the science of computing and instead of planning our learning around programming-specific skills, we ensure the learners are getting the most out of their two hour weekly instruction by focusing on a problem-solving process known as “computational thinking.”
Jeanette Wing first brought this process to the forefront of computer science pedagogy in her 2006 article in Communications of the ACM. Since then, many CS programs in both the k-12 and higher education spaces have adapted their curriculum to frontload concepts and practices promoted under the umbrella of computational thinking. While the term itself is somewhat abstract, we believe that Jeanette Wing has been able to synthesize what we like about the phrase in this summary:
“Computational thinking is the thought processes involved in formulating a problem and expressing its solution(s) in such a way that a computer—human or machine—can effectively carry out.”
“Informally, computational thinking describes the mental activity in formulating a problem to admit a computational solution. The solution can be carried out by a human or machine. This latter point is important. First, humans compute. Second, people can learn computational thinking without a machine. Also, computational thinking is not just about problem solving, but also about problem formulation.” (Wing, 2014)
There have been a few influential articles breaking down computational thinking into its key components, including the “working definition” by the International Society for Technology in Education, the British Computing at School initiative, and the relatively new AP Computer Science Principles course and exam. Below is a figure from the chapter on computational thinking in the book Computer Science Education: Perspectives on Learning and Teaching at School showing an attempt to express the main components of computational thinking in terms of concepts and practices.
These crucial and transferable skills aid our learners when they encounter complex problems in any aspect of life. We push our learners to integrate their knowledge from Literacy, Math, and Science into our Computer Science Block. In this way, we are able to explicitly show our learners how different concepts can be transferred from one domain to another. We hope that our learners will continue to use computational thinking on a variety of systems in their futures.
References:
Grover, Shuchi, and Roy Pea. "Computational thinking: A competency whose time has come." Computer science education: Perspectives on teaching and learning in school 19 (2018).
Wing, Jeannette M. "Computational thinking." Communications of the ACM 49, no. 3 (2006): 33-35.
Wing, Jeannette M. "Computational thinking benefits society." 40th Anniversary Blog of Social Issues in Computing 2014 (2014): 26.