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.
Introduction to the Module
The purpose of this module is to study situations in which a group of people must decide on whom to select from a group of eligible candidates. For example:
• Given all the people eligible for a heart transplant, how do you decide who gets one? Who should have input into this decision?
• Given all the people eligible for an administrative or executive position in a company, how do you decide whom to hire?
• Almost all major league athletic teams hold entry drafts to distribute the available talent. How does a team choose the best player for its program? How does a player maximize his position in such a draft? How does the NFL create a semblance of fairness and balance among teams?
Unit 1 focuses on valuation procedures for decision making in the awarding of heart transplants and the possible uses of technology in this decision making.