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.
Computational Thinking in This Module
• Describe the problem you want to solve.
• Logically organize and obtain data.
• Analyze the problem, think of different ways to solve it, and think of ways to use computers to help solve it—think outside the box.
• Use abstraction, estimates, and simplifying assumptions to formulate a model to help solve the problem.
• Use computer simulation, spreadsheets, or both as tools.
• Implement various solutions with the goal of achieving the most effective and (sometimes) most efficient solution.
• Construct ways to handle uncertainty in the solution to increase your confidence in the solution.
Introduction to the Module
The purpose of this module is to introduce students and teachers to the theory and practice of cryptography. As this is a vast subject with numerous applications, any introduction necessarily has to be brief and must concentrate on a few jewels of the subject; we have chosen to emphasize RSA because of the richness of the mathematics and the importance of its applications. More material and exercises are included than can be covered in one week in order to allow teachers flexibility in terms of topics and depths. In particular, the homework problems range from straightforward calculations to some very challenging exercises.