プリンキピア

第2章計算論的思考と設計の再利用性

Review Questions確認問題

Exercises 1–5練習問題 1–5
1. What term is a problem-solving and cognitive process rooted in principles derived from computer science that involves breaking down complex problems into smaller, more manageable parts and devising systematic approaches to solve them? a. abstraction b. decomposition c. computational thinking d. recursion
1. コンピューターサイエンスに由来する原理に根ざし、複雑な問題をより小さく扱いやすい部分へ分け、それらを解決する体系的な方法を考案する、問題解決と認知の過程を表す用語はどれか。a. 抽象化b. 分解c. 計算論的思考d. 再帰
2. What shape in a flowchart represents a decision point? a. oval b. parallelogram c. rectangle d. diamond
英語のヒント
2. フローチャートで、判断を行う箇所を表す形はどれか。a. 楕円b. 平行四辺形c. 長方形d. ひし形
3. What does pseudocode spell out in natural language? a. an algorithm b. a test case to debug c. a flowchart d. the programming language of choice
英語のヒント
3. 疑似コードは、自然言語で何を具体的に記述するか。a. アルゴリズムb. デバッグするためのテストケースc. フローチャートd. 選んだプログラミング言語
4. After a test case fails, what is the next step to determine the cause of the failure?
4. テストケースが失敗した後、その原因を突き止めるために次に行うことは何か。
5. What are the key elements of CT that distinguish CT from other types of problem-solving strategies?
5. 計算論的思考(CT)を、ほかの問題解決の戦略と区別する重要な要素は何か。
Exercises 6–10練習問題 6–10
6. What is the primary difference between a heuristic and a pattern? a. A heuristic is a general rule used for quick problem-solving when an exact solution is not possible, while a pattern is a repeatable solution to a commonly occurring problem. b. A heuristic and a pattern are both specific guidelines used to achieve exact solutions in complex problems. c. A heuristic is used for creating new designs, whereas a pattern refers to repeating decorative motifs. d. There is no difference; both terms refer to specific scientific methods used in research.
英語のヒント
6. ヒューリスティクスとパターンの主な違いは何か。a. ヒューリスティクスは、厳密な解決ができないときに素早く問題を解くための一般的な規則であり、パターンは、よく起こる問題に繰り返し使える解決策である。b. どちらも、複雑な問題で厳密な解を得るための具体的な指針である。c. ヒューリスティクスは新しい設計を作るために使い、パターンは装飾模様の繰り返しを指す。d. 違いはなく、どちらも研究で使う具体的な科学的方法を指す。
7. What level of architecture is described as having a narrower scope, a detailed blueprint, and a lower level of abstraction? a. system architecture b. technical architecture c. enterprise architecture d. solution architecture
英語のヒント
7. 対象範囲が狭く、設計図が詳細で、抽象化水準が低いと説明されるアーキテクチャーはどれか。a. システムアーキテクチャーb. 技術アーキテクチャーc. エンタープライズアーキテクチャーd. ソリューションアーキテクチャー
8. What level of architecture is described as having a wider scope, a vague plan for the entire organization, and a higher level of abstraction? a. system architecture b. technical architecture c. enterprise architecture d. solution architecture
英語のヒント
8. 対象範囲が広く、組織全体についての大まかな計画を持ち、抽象化水準が高いと説明されるアーキテクチャーはどれか。a. システムアーキテクチャーb. 技術アーキテクチャーc. エンタープライズアーキテクチャーd. ソリューションアーキテクチャー
9. What component holds the business logic for the business solution or application? a. presentation layer b. data management layer c. business logic layer d. business process hierarchy
9. ビジネスソリューションやアプリケーションの業務上の論理を保持する構成要素はどれか。a. プレゼンテーション層b. データ管理層c. ビジネスロジック層d. 業務プロセス階層
10. What is the difference between data, information, knowledge, and wisdom?
10. データ、情報、知識、知恵の違いは何か。
Exercises 11–15練習問題 11–15
11. Explain why an information system architecture is considered an architecture view in TOGAF.
11. TOGAFで、情報システムのアーキテクチャーがアーキテクチャービューとみなされる理由を説明しなさい。
12. Once architectural similarities have been identified between the architecture of a new problem and existing architectural solutions, what is required to apply these patterns effectively? a. a comprehensive understanding of the new problem’s requirements and constraints b. the ability to modify existing patterns to fit the new problem’s unique context c. both a comprehensive understanding of the new problem’s requirements and the ability to modify existing patterns d. approval from a higher authority to use the identified patterns
英語のヒント
12. 新しい問題のアーキテクチャーと既存のアーキテクチャーによる解決策の類似点が見つかった後、そのパターンを効果的に適用するには何が必要か。a. 新しい問題の要件と制約を包括的に理解すること。b. 新しい問題に固有の状況へ合わせて、既存のパターンを修正する能力。c. 新しい問題の要件の包括的な理解と、既存のパターンを修正する能力の両方。d. 特定したパターンを使うための、上位の権限者の承認。
13. In the Model-View-Controller, what layer is responsible for acting as an intermediary between two layers? a. view b. model c. business logic d. controller
13. モデル・ビュー・コントローラーで、二つの層の仲介役を担うのはどれか。a. ビューb. モデルc. ビジネスロジックd. コントローラー
14. What does Web 3.0 provide that Web 2.0 did not? a. dynamic web pages as opposed to only static web pages b. represents a vision for the future of the Internet characterized by advanced technologies c. shifted from HTTP to HTTPS d. based on JSON as opposed to HTML
英語のヒント
14. Web 3.0が提供するもので、Web 2.0にはなかったものは何か。a. 静的なページだけでなく、動的なウェブページ。b. 先進技術を特徴とする、インターネットの未来像。c. HTTPからHTTPSへの移行。d. HTMLではなくJSONに基づくこと。
15. A smart home with a thermostat, a refrigerator, and lights that all can be controlled remotely is an example of devices that can be described with what terminology? a. Internet of Things (IoT) b. machine learning c. hybrid cloud application d. solutions continuum
英語のヒント
15. 温度調節器、冷蔵庫、照明をすべて遠隔操作できるスマートホームは、どの用語で説明される機器の例か。a. モノのインターネット(IoT)b. 機械学習c. ハイブリッドクラウドアプリケーションd. ソリューションコンティニュアム
Exercises 16–18練習問題 16–18
16. Why doesn’t TOGAF provide prescriptive methods to create and manage repositories of architectural patterns?
16. TOGAFは、アーキテクチャーパターンの保管場所を作成・管理する具体的な方法を、なぜ規定していないのか。
17. What is a responsive web application?
17. レスポンシブなウェブアプリケーションとは何か。
18. What is a cloud mashup?
18. クラウドマッシュアップとは何か。

Conceptual Questions概念を考える問題

1. Suppose you plan to meet with your friends at a location you are unfamiliar with. In what ways could you employ computational thinking to efficiently navigate and locate the meeting spot?
英語のヒント
1. 知らない場所で友人と会う予定があるとする。効率よく道を進み、待ち合わせ場所を見つけるために、計算論的思考をどのように使えるか。
2. Explain how the pyramid of knowledge concept helps describe the learning progress you make when reading a textbook.
2. 教科書を読んで学習が進む様子を説明するうえで、知識のピラミッドという概念がどう役立つかを説明しなさい。
3. What are specific examples of business architecture similarities between two banks?
3. 二つの銀行のビジネスアーキテクチャーには、具体的にどのような類似点があるか。
4. What are specific examples of technology architecture similarities between two banks?
4. 二つの銀行の技術アーキテクチャーには、具体的にどのような類似点があるか。

Practice Exercises練習問題

Exercises 1–5練習問題 1–5
1. 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.
1. 何層もの小さな問題へ分解できる、複雑な問題を考えなさい。その問題の解決策を作るうえで、計算論的思考がどう役立つか説明しなさい。
2. Look at the following pseudocode that describes an algorithm to make a peanut butter and jelly sandwich: a. Get the peanut butter. b. Get the jelly. c. Get the bread. d. Open the peanut butter jar. e. Open the jelly jar. f. Open the bread. g. Take out slice of bread. h. Take out another slice of bread. i. Dip the knife into the peanut butter. j. Spread the peanut butter on one slice of bread. k. Dip the knife into the jelly. l. Spread the jelly on the other slice of bread. m. Put the two slices of bread together.
英語のヒント
2. ピーナツバターとジャムのサンドイッチを作るアルゴリズムを記述した、次の疑似コードを見なさい。a. ピーナツバターを用意する。b. ジャムを用意する。c. パンを用意する。d. ピーナツバターの瓶を開ける。e. ジャムの瓶を開ける。f. パンの袋を開ける。g. パンを1枚取り出す。h. もう1枚取り出す。i. ナイフをピーナツバターに入れる。j. 1枚のパンにピーナツバターを塗る。k. ナイフをジャムに入れる。l. もう1枚のパンにジャムを塗る。m. 2枚のパンを合わせる。
Write a new algorithm that utilizes abstraction to simplify the number of steps of the original algorithm and can be used as a pattern to make any sandwich.
抽象化を使って元のアルゴリズムの手順数を簡素化し、どんなサンドイッチを作るときにも使えるパターンとなる、新しいアルゴリズムを書きなさい。
3. Research what the Fibonacci number sequence is. Write the pseudocode to compute the nth number in the Fibonacci number sequence. Utilize recursion to model a pattern of computation.
英語のヒント
3. フィボナッチ数列とは何かを調べなさい。フィボナッチ数列のn番目の数を計算する疑似コードを書きなさい。再帰を使って、計算のパターンをモデル化すること。
4. Create a model that describes the business of running your daily life. Please note that this is not suggesting that you should run your life as a business. Hint: To answer this question, think about the various players, locations, and processes involved in your daily activities and create simple models that mimic the structure provided for the trading business model in the current chapter section.
英語のヒント
4. 自分の日々の暮らしを運営する活動を記述するモデルを作りなさい。人生をビジネスとして運営するよう勧めているわけではない。ヒント:日常の活動に関わるさまざまな登場人物、場所、プロセスを考え、この章の該当する節で紹介した取引業務モデルの構造を模した、簡単なモデルを作る。
5. Draw an application architecture diagram for a business solution that uses smart contracts for payment and transactions logging purposes. Feel free to leverage some of the figures from this chapter, rather than create something new.
英語のヒント
5. 支払いと取引記録にスマートコントラクトを使うビジネスソリューションについて、アプリケーションアーキテクチャー図を描きなさい。新しく作る代わりに、この章の図を活用してもよい。