Tuesday, October 28, 2014

Computational Thinking

The articles define computational thinking as solving problems, designing systems, and understanding human behavior by drawing on concepts that are fundamental to computer science. They define it as thinking like a computer scientist.

The College Board and NSF identify 7 practices of computational thinking:
1) computing is a creative human activity; 2) abstraction puts focus on concepts rather than details;
3) Data and info facilitate creation of knowledge; 4) Algorithms are tools for finding solutions to computational problems; 5) Programming produces computational artifacts; 6) Digital devices, systems, and networks that interconnect enable computational approaches to solving problems;
7) Computing enables innovation in other field

They define the following as components of CT:
Abstractions and pattern generalizations (models and simulations); systematic processing of info; symbol systems and representations; algorithms; problem decomposition; iterative, recursive and parallel thinking; conditional logic; efficiency constraints; debugging (error detection)

They believe that computational thinking should be integrated into the pedagogical framework of K-12 classrooms because Computer Science and Engineering are becoming evermore popular. Technology is growing more important and understanding how to use it to conduct investigations is essential to furthering learning. More exposure at an earlier age will help to alleviate problems students have as they take intro to computer science. The tools and skills that students become equipped with throughout their K-12 education should be "low floor, high ceiling" meaning that they should be able to be used by a novice but also by an expert. We are trying to make this area more accessible to girls because currently there is a disproportionate amount of males that are involved with computer science and engineering. Studies have found that students with difficulty in math and science are due to 1) challenging concepts and 2) difficulties pertaining to conducting inquiry or problem solving. It is believed that computational thinking will lead to advances in student ability to conduct inquiries and problem solve, which in turn will help to clarify challenging concepts.

The importance of computational thinking is that it is very similar to the process of modeling. Computational thinking makes you a true problem solver, you are designing a program or representation that allows you to evaluate many different variables at once within a problem to arrive at a sound conclusion. The process of both computational thinking and scientific inquiry are similar; they put an emphasis on design-based learning, in which they focus on the design and use of representations in order to model and reasoning. They are both teaching science as practice rather than science as knowledge. Computational thinking is beneficial because, like modeling, analogous situations that represent phenomena are created in order to be analyzed and revised until they support or refute a hypothesis. This process of investigation design, collection of data, analysis of data and conclusion are inherent to both computational modeling and scientific inquiry. Both processes activate the the student, encouraging them to hypothesize and design experiments like real scientists to discover phenomena, rather than passively learning what others' have discovered. This process is important because it stresses the discovery and interpretation of scientific phenomena and gives students' the tools to explore science outside of the classroom and evaluate their own hypotheses about scientific phenomena that they may encounter throughout the rest of their lives.

1 comment:

  1. The computational thinking process seems to be also very similar to the engineering practices. You find a problem, you design a way to solve the problem, you use the modeling and/or representations to analyze your possible answer, and then you refine to find the best possible solution to the problem. As A Framework says that engineering practices should be taught within science curricula, and Sengupta and Grove and Pea say that computational thinking should be taught within the curricula as well, could the two processes build on each other in a class? Programming and designing programs is just other types of engineering (at least to me). As a teacher has limited time, even if A Framework is adapted, could the two practices be taught using the same activity?


Note: Only a member of this blog may post a comment.