Module 3: Abstractions
Computer scientists invent computational processes (e.g., search engines, GPS software, and operating systems), that are then packaged as functional abstractions for others to use.
They also harness abstraction to correctly and efficiently solve real-world problems. These problems are usually complicated enough that they must be decomposed into smaller problems that human beings can understand and solve. Once solved, each of these smaller pieces becomes a functional abstraction that can be used in the solution to the original problem.
The ability to think in abstract terms also enables us to see similarities in problems from different domains. For example, the following are similarities in different domains:
techniques based on the behaviors of crowds and insect swarms
the operations of cellular membranes
how networks of neurons make decisions
Functional abstraction can be applied in computation by following the sequence of steps:
1. Identify the problem, defining the input and output.2. Design an algorithm to solve it ~ an algorithm is a sequence of statements that transform an input into a correct output.3. Implement the algorithm by writing it in a high-level program.4. Run/execute the program on a computer to initiate the computation that gives the output.
1. Complete the exercise in the worksheet attached.
2. Test out your algorithm.
3. Refine and tweak as needed.
4. Reflect on the activity.
5. Submit your algorithm, answer key, and reflections.