Practice Exercises
Think of a complex problem—one that can be broken into many layers of smaller problems. Explain how computational thinking could help you develop a solution to your complex problem. Look at the following pseudocode that describes an algorithm to make…
Summary
2.1 Computational Thinking 2.2 Architecting Solutions with Adaptive Design Reuse in Mind 2.3 Evolving Architectures into Useable Products
Evolving Architectures into Useable Products
Learning Objectives By the end of this section, you will be able to: The combination of top-down, adaptive design reuse, and bottom-up, computational thinking, optimizes modern software development. This blend allows software developers to find a middle ground by adapting and…
Architecting Solutions with Adaptive Design Reuse in Mind
Learning Objectives By the end of this section, you will be able to: While computational thinking commonly employs a bottom-up strategy for crafting well-structured components, adaptive design reuse adopts a top-down methodology, emphasizing the creation and assembly of business solutions by combining…
Computational Thinking
Learning Objectives By the end of this section, you will be able to: This chapter presents key aspects of computational thinking, including logical thinking, assessment, decomposition, pattern recognition, abstraction, generalization, componentization, and automation. These elements guide how computer scientists approach…
Introduction
Figure 2.1 A work environment, such as this modifiable “sp.ace” at Johnson Space Center where furniture can move and any surfaces can be written on, can encourage computational thinking and lead to innovation. (credit: modification of “The sp.ace in Building 29 at…
Thought Provokers
Practice Exercises
Summary
1.1 Computer Science 1.2 Computer Science across the Disciplines 1.3 Computer Science and the Future of Society