Computational thinking asks us to "think about a problem in a way it could be solved by a computer".
Our big questions (used with gratitude from wikipedia):
- How do we use abstractions and pattern recognition to represent the problem in new and different ways?
- How do we logically organize and analyze data?
- How can we break the problem down into smaller parts?
- How do we approach the problem using programmatic thinking techniques such as iteration, symbolic representation, and logical operations?
- What is the best way to reformulate the problem into a series of ordered steps (algorithmic thinking)?
- How do we identify, analyze, and implement possible solutions with the goal of achieving the most efficient and effective combination of steps and resources?
- How do we generalize this problem-solving process to a wide variety of problems?