What Is Computational Thinking?
Computational thinking is a high-level thought process that considers the world in computational terms. It begins with learning to see opportunities to compute something, and it develops to include such considerations as computational complexity; utility of approximate solutions; computational resource implications of different algorithms; selection of appropriate data structures; and ease of coding, maintaining, and using the resulting program. Computational thinking is applicable across disciplinary domains because it takes place at a level of abstraction where similarities and differences can be seen in terms of the computational strategies available. A person skilled in computational thinking is able to harness the power of computing to gain insights. At its best, computational thinking is multidisciplinary and cross-disciplinary thinking with an emphasis on the benefits of computational strategies to augment human insights. Computational thinking is a way of looking at the world in terms of how information can be generated, related, analyzed, represented, and shared.
Connect Four is a popular sequential game played on a 6x7 grid. Players take turns dropping red or black checkers into the tops of columns, where they fall to the lowest unoccupied space in the column. The first player to get four of their colored checkers to line up vertically, horizontally, or diagonally wins. A draw occurs when all 42 spaces are filled without a winner. It is a game with simple rules and can be demonstrated easily in a classroom. With multiple sets of Connect Four and groups of four, students can experiment with winning strategies. For instance, is possible to find an algorithm to produce perfect play from any configuration (even if mistakes have already been made)? This is always possible with a powerful enough computer, by checking all the positions. However, students are encouraged to find efficient algorithms that will work on computers readily available. Students consider what an algorithm is, what it means to be efficient, and they develop strategies to solve connect four from different vantage points.