まえがき
Coverage and Scope扱う内容と範囲
The authors and contributors consulted with other educators and industry professionals from a range of institutions and organizations in order to ensure that Introduction to Computer Science meets the diverse needs of both computer science majors and non-majors. The book is structured into five main parts, each focusing on critical areas of the discipline:
英語のヒント
著者と執筆協力者は、本書がコンピューターサイエンス専攻・専攻外の双方の学生の多様な必要に応えられるよう、さまざまな教育機関や組織の教員、産業界の専門家と相談を重ねた。本書は五つの主要な部で構成され、それぞれがこの学問の重要な領域を扱う。
• Part 1: Problem Solving and Algorithms This section introduces students to the foundations of computer science, focusing on computational thinking, problem-solving techniques, and algorithm design. Topics include data structures, formal properties of algorithms, and algorithmic paradigms. Through practical examples and exercises, students will develop the skills needed to construct and analyze algorithms and understand their applications across various domains.
英語のヒント
• 第1部:問題解決とアルゴリズム計算論的思考、問題解決の技法、アルゴリズム設計を中心として、コンピューターサイエンスの基礎を学ぶ。扱うテーマには、データ構造、アルゴリズムの形式的性質、アルゴリズムの代表的な考え方が含まれる。実践的な例や演習を通じて、アルゴリズムを構築・分析するための技能を身につけ、さまざまな領域での応用を理解する。
• Part 2: Realizations of Algorithms In this part, students explore how algorithms are realized in hardware and software, starting with low-level programming languages and moving into hardware design and computer systems organization. Students will learn about models of computation, machine-level representation, processor architectures, and memory hierarchy. This foundational understanding enables students to see the connections between abstract algorithms and their physical implementations.
英語のヒント
• 第2部:アルゴリズムの実現アルゴリズムがハードウェアとソフトウェアでどのように実現されるかを、低水準プログラミング言語から始め、ハードウェア設計、コンピューターシステムの構成へと進みながら学ぶ。計算モデル、機械レベルの表現、プロセッサーのアーキテクチャー、メモリ階層について学習する。この基礎を理解することで、抽象的なアルゴリズムと、その物理的な実装とのつながりが見えてくる。
• Part 3: Designing and Developing Software Solutions This section covers the principles of software development, high-level programming languages, and data management. Students will learn the fundamentals of software engineering and gain hands-on experience with both relational and non-relational database systems. Emphasis is placed on designing robust software solutions and managing complex data structures, ensuring students are well-prepared for future roles in software development and engineering.
英語のヒント
• 第3部:ソフトウェアソリューションの設計と開発ソフトウェア開発の原理、高水準プログラミング言語、データ管理を扱う。ソフトウェア工学の基礎を学び、リレーショナル型と非リレーショナル型の両方のデータベースシステムを実際に扱う。堅牢なソフトウェアソリューションの設計と複雑なデータ構造の管理に重点を置き、将来、ソフトウェア開発やエンジニアリングに携わるための準備を整える。
• Part 4: Building Modern End-to-End Solutions to Business and Social Problems Students apply their knowledge to design and build web and cloud-native applications. This part includes examples of modern web architectures, responsive design techniques, and cloud-based solutions using PaaS and FaaS technologies. Additionally, students will explore the development of hybrid multi-cloud digital solutions, providing them with experience in addressing complex business and social challenges using modern computing technologies.
英語のヒント
• 第4部:ビジネスと社会の問題に対する現代的なエンドツーエンドソリューションの構築それまでの知識を使い、Webアプリケーションとクラウドネイティブアプリケーションを設計・構築する。現代的なWebアーキテクチャー、レスポンシブデザインの技法、PaaSやFaaSを利用するクラウドベースのソリューションの例を取り上げる。さらに、ハイブリッドマルチクラウドのデジタルソリューション開発を学び、現代のコンピューティング技術で複雑なビジネス上・社会的課題に取り組む経験を積む。
• Part 5: Human-Centered Responsible Computing The final section delves into the ethical and societal implications of computing. Topics include cybersecurity, governance of cyber resources, and responsible computing practices. Students will learn to navigate the complexities of cybersecurity and governance while considering the broader impacts of technology on society.
英語のヒント
• 第5部:人間中心の責任あるコンピューティング最後の部では、コンピューティングが倫理と社会に及ぼす影響を掘り下げる。サイバーセキュリティー、サイバー資源のガバナンス、責任あるコンピューティングの実践などを扱う。技術が社会に与える幅広い影響を考慮しながら、サイバーセキュリティーとガバナンスの複雑な問題に対処する方法を学ぶ。
Each core concept is designed to build on the previous one, ensuring a coherent learning experience that provides students with a clear view of the field. The book’s approach enables students to not only understand the principles of computer science but also see how they can be applied to address practical, real-world problems.
英語のヒント
中心となる概念は、先に学んだ概念を土台として積み上げられるように構成されている。それにより、一貫した学習を通じて、この分野の明確な見通しが得られる。本書の方法では、コンピューターサイエンスの原理を理解するだけでなく、実際の問題にその原理をどう応用できるかも学べる。
Pedagogical Foundation and Features教育上の基本方針と本書の特長
The Introduction to Computer Science textbook is designed to engage students through a combination of practical, real-world applications and thought-provoking scenarios that promote critical thinking and a deeper understanding of core concepts. The pedagogical approach is centered on making computer science relevant and accessible for students from diverse backgrounds, whether they are pursuing a degree in computer science or exploring how computational thinking can be applied to their respective fields. To support this vision, the textbook incorporates several key features:
英語のヒント
本書は、現実の実践的な応用と、考えさせられるシナリオを組み合わせることで、学生の関心を引き、批判的思考と中心概念への深い理解を促すように設計されている。コンピューターサイエンスの学位を目指す学生にも、計算論的思考を自分の分野でどう使えるか探りたい学生にも、身近で学びやすい内容にすることが教育上の中心方針である。この方針を支えるため、次の特長を設けている。
• Concepts in Practice features present how computer science concepts are applied in real-world contexts by both professionals and non-professionals. Each box profiles personas and practical applications that demonstrate how core topics, such as algorithms, data management, and software engineering, are utilized across various industries. The purpose is to inspire students—particularly non-majors—by showing them the value of computer science in solving everyday challenges and to foster a greater appreciation for the discipline.
英語のヒント
• 「概念を実践する」では、専門家と専門家以外の人々が、現実の状況でコンピューターサイエンスの概念をどのように使うかを示す。各囲み記事では、人物像と実際の応用を紹介し、アルゴリズム、データ管理、ソフトウェア工学などの中心的なテーマが、さまざまな産業でどう活用されるかを説明する。日常の課題を解決するうえでの価値を示し、とりわけ専攻外の学生の関心を引き、この学問への理解と評価を深めることが目的である。
• Global Issues in Technology features help students think globally about the societal impact of technology. These boxes highlight how technology affects communities and economies around the world and may introduce topics such as digital equity, environmental sustainability, and global data security. Students are encouraged to consider the broader implications of technological advancements and to think critically about their potential to drive positive change or create new challenges in global contexts.
英語のヒント
• 「技術をめぐる世界的な課題」では、技術の社会的影響を世界的な視野から考える。世界各地の地域社会や経済への影響を取り上げ、デジタル分野の公平性、環境の持続可能性、世界規模のデータセキュリティーなどのテーマを紹介する。技術の進歩がもたらす幅広い影響に目を向け、世界のさまざまな状況で、望ましい変化を促す可能性と新たな課題を生む可能性を批判的に考えるよう促す。
• Industry Spotlight boxes focus on specific industry challenges and how technology progress or application can help solve them. Industry Spotlight features introduce students to various sectors—such as healthcare, finance, education, and law—providing a glimpse into how computer science can drive innovation and efficiency. By connecting theoretical concepts to industry-specific problems, these features encourage students to explore the wide-ranging applications of computer science and understand its value across different fields.
英語のヒント
• 「産業の現場から」は、特定の産業が抱える課題と、その解決に技術の進歩や応用がどう役立つかに焦点を当てる。医療、金融、教育、法律など、さまざまな分野を紹介し、コンピューターサイエンスが革新や効率向上を促す様子を垣間見られるようにする。理論的な概念と産業特有の問題を結びつけることで、幅広い応用を探り、それぞれの分野での価値を理解するよう学生を促す。
• Link to Learning features provide a very brief introduction to online resources—videos, interactives, collections, maps, and other engaging resources that are pertinent to students’ exploration of the topic at hand.
英語のヒント
• 「学習リンク」では、取り上げているテーマの探究に関係するオンライン資料を、ごく簡単に紹介する。動画、操作できる教材、資料集、地図、その他の興味深い資料などが含まれる。
• Technology in Everyday Life features connect computer science principles to students’ personal experiences and the world around them. These boxes explore how technology intersects with daily life or current events, making computer science concepts more relatable and relevant. Some features may prompt students to think creatively and propose their own ideas for applying computer science solutions to familiar scenarios.
英語のヒント
• 「日常生活の中の技術」では、コンピューターサイエンスの原理を、学生自身の経験や身の回りの世界に結びつける。技術と日常生活、時事問題がどのように関わるかを探り、概念をより身近で意味のあるものにする。記事によっては、創造的に考え、身近な状況にコンピューターサイエンスの解決策を適用する独自の案を提案するよう促す。
• Think It Through scenarios present students with thought-provoking dilemmas or complex problems related to the use of technology. Students are asked to reflect on ethical questions, problem-solving strategies, and real-world decision-making processes. These features emphasize that not all problems have straightforward answers and encourage students to weigh the pros and cons of different approaches. By navigating these scenarios, students learn to develop judgment skills that are crucial in business and technology environments.
英語のヒント
• 「考えてみよう」では、技術の利用に関する、考えさせられるジレンマや複雑な問題を示す。倫理上の問い、問題解決の方略、現実の意思決定の過程について振り返って考えるよう求める。すべての問題に単純明快な答えがあるわけではないことを強調し、異なる方法の利点と欠点を比較検討するよう促す。こうした状況を考えることで、ビジネスや技術の現場で欠かせない判断力を育てる。
Overall, these features are integrated throughout the material to foster active learning, critical thinking, and an appreciation for the practical applications of computer science. By connecting theory to practice and encouraging students to explore real-world issues, Introduction to Computer Science provides a meaningful and supportive learning experience that equips students with the knowledge and skills necessary for success in their academic and professional journeys.
英語のヒント
これらの特長は教材全体に組み込まれ、能動的な学習、批判的思考、コンピューターサイエンスの実践的な応用への理解を促す。理論を実践に結びつけ、現実の問題の探究を勧めることで、学問と職業の両面で成果を上げるために必要な知識と技能を身につけられる、有意義で支えとなる学習経験を提供する。
Answers to Questions in the Book
本書の問題の解答
The end-of-chapter Review, Conceptual Questions, Practice Exercises, Problem Sets, Thought Provokers, and Labs are intended for homework assignments or classroom discussion; thus, student-facing answers are not provided in the book. Answers and sample answers are provided in the Instructor Answer Guide, for instructors to share with students at their discretion, as is standard for such resources.
英語のヒント
章末の復習、概念に関する問題、練習問題、問題集、「考えてみよう」、実習は、宿題や授業での討論に用いることを意図しているため、本書には学生向けの解答を掲載していない。解答と解答例は教員用解答ガイドに収録されている。この種の教材で一般的な扱いと同じく、教員の裁量で学生に共有できる。