Page 19 - Getting the Picture Modeling and Simulation in Secondary Computer Science Education
P. 19
CT brings together the subject matter from a particular scientific discipline 1 — or even from everyday life — seeking to solve a particular problem or find
an answer to a question, and computing which helps solve that problem or find
the answer. This CT problem-solving process involves three steps (Barendsen &
Bruggink, 2019). First, that problem or question is expressed in computational
terms such as data or processes, thus allowing for use of computing to solve
it. Second, a computational solution is constructed, either by using existing
applications or by devising new algorithms and writing new programs. Essential to
the nature of CT is that this solution should be executable (Martin, 2012). Finally,
that computational solution is interpreted in terms of the original subject matter,
thus providing the solution to the original problem or answering the question.
Wing’s perceived need to teach CT struck a chord with educators and researchers who sought to formulate a precise description of this concept and devise ways to teach it.
1.1.1 Definitions of Computational Thinking
There have been numerous efforts to obtain a clear-cut definition of computational thinking.
In 2010 in the USA, the National Research Council held a workshop on the nature and scope of Computational Thinking (CT). While there was a broad consensus on the importance of (teaching) CT, the workshop did not result in an exclusive definition of this concept (Thinking & Council, 2010). The Computational Thinking Task Force of the Computer Science Teachers Association (CSTA) in the USA did, however, suggest an operational definition of CT tailored to the needs of K-12 education. In their framework, they describe CT as follows:
CT is a problem-solving process that includes (but is not limited to) the following characteristics:
• Formulating problems in a way that enables us to use a computer and
other tools to help solve them
• Logically organizing and analyzing data
• Representing data through abstractions, such as models and
simulations
• Automating solutions through algorithmic thinking (a series of ordered
steps)
• Identifying, analyzing, and implementing possible solutions with the
goal of achieving the most efficient and effective combination of steps and resources
Introduction
17