I am very fond of the clear definition given by Weintrop et al. on computational thinking since I find the definitions that we have read in other papers very general and insufficient to build a curriculum off of them. According to Weintrop et al., computational thinking for mathematics and science consists of four main categories:
1. Data Practices, and that involves using computational tools to collect data, create data, manipulate data, analyze data and visualize data.
2. Modeling and Simulation Practices, and it includes using computational models to understand concepts, using computational models to find and test solutions, assessing computational models, designing computational models that could be run in computational devices, and finally creating or extending existing computational models by encoding the model features in a way that a computer can interpret.
3. Computational Model Solving Practices, and that comprises reframing problems for computational solutions, computer programming, choosing effective computational tools, assessing different approaches/solutions to a problem, developing modular computational solutions, creating computational abstractions, and troubleshooting and debugging.
4. Systems Thinking Practices, and it encompasses investigating a complex system as a whole, understanding the relationships within a system, thinking in levels and communicating information about a system.
2. Modeling and Simulation Practices, and it includes using computational models to understand concepts, using computational models to find and test solutions, assessing computational models, designing computational models that could be run in computational devices, and finally creating or extending existing computational models by encoding the model features in a way that a computer can interpret.
3. Computational Model Solving Practices, and that comprises reframing problems for computational solutions, computer programming, choosing effective computational tools, assessing different approaches/solutions to a problem, developing modular computational solutions, creating computational abstractions, and troubleshooting and debugging.
4. Systems Thinking Practices, and it encompasses investigating a complex system as a whole, understanding the relationships within a system, thinking in levels and communicating information about a system.
This definition illustrates how broad computational thinking is and makes me wonder about the best way to actually learn these practices. Should each practice be a curriculum on its own? Or should these practices be embedded within other disciplines and taught accordingly?
As a matter of fact, I believe it will not make much sense to dissociate “thinking in levels” or “collecting data” from the actual problems under investigation. And I think this applies to all practices except for Computational Model Solving Practices (number 3), which could serve as base-skills for many of the other mentioned practices.
Apart from this, I think it would be very interesting to think of a way in which these practices could be taught at different ages. What would be a good way to achieve syntonic learning? How much do current approaches in teaching support the inclusion of these practices? Do all students need to be proficient at all of these practices?
There are so many questions that need to be answered. Without such a clear definition of computational thinking, however, I believe it would be very hard to do so. I wonder what other practices may emerge if the same approach was applied to study disciplines such as arts and humanities. What computational practices do people in these domains utilize? I believe a comprehensive understanding of how computational thinking unfolds within different domains is necessary before taking major curricular decisions.
No comments:
Post a Comment