Programming at this level is called low-level programming and uses assem- bly language. This textbook uses the Java programming language. Java is a high- level programming language. A high-level programming language is much easier for a human to read and write. Actions of Computational Thinking Mastering computational thinking is a key part of learning to be a great computer programmer. Computational thinking is expressing problems and solutions in a way that a computer can execute. There are four elementary ac- tions in computational thinking: • decompose • recognize patterns • generalize patterns • write an algorithm Each concept stands on its own as a life skill. Considered together, they lay the cornerstone of computer programming. These actions are subtasks needed to solve a problem. Decompose Any problem that requires a solution likely consists of several smaller prob- lems. Decompose means to take apart. To decompose a large problem means to break it into smaller, doable steps. This is a skill that can be used for writing a computer program or solving a life problem. Decomposing also helps analyze the problem statement to be certain the programmer understands the problem that is being solved. Suppose the problem is getting to school in the morning. Many people fol- low the same pattern every day. There are several smaller parts to the larger problem: 1. Wake up. 2. Clean up. 3. Get dressed. 4. Eat breakfast. 5. Go to school. You can imagine that each of these smaller steps can be decomposed into even smaller parts. Wake up can be decomposed into: 1. Wake up to alarm. 2. Turn alarm off. 3. Stretch. 4. Get out of bed. In terms of a large-scale computational problem, decomposing can be thought of as finding separate jobs that can be handed off to different people. Goodheart-Willcox Publisher Figure 1-3. These are some of the instructions from the instruction set for an 8086 microprocessor. Instruction Instruction Action Action MOV EAX, 100 Load the number 100 into the EAX register SUB EAX, 5 Subtract 5 from the number in the EAX register INC EAX Add 1 to the number in the EAX register Copyright Goodheart-Willcox Co., Inc. Chapter 1 Computational Thinking 7