Published by Pearson (February 13, 2019) © 2019
J. Brookshear | Dennis BrylowDevelop a core understanding of the concepts of modern computer science
Computer Science: An Overview, 13th edition, Global Edition, by J. Glenn Brookshear, and Dennis Brylow, is written for students from all backgrounds, giving you a bottom-up, concrete-to-abstract foundation in the subject. Its broad coverage encourages a practical and realistic understanding of computer science, covering all the major concepts. The book's broad background exposes beginning computer science students to the breadth of the subject they plan to major in and teaches students from other backgrounds how to relate to the technical society in which they live.
Learn in a flexible way with independent chapters you can study in any order with full-colour design to help you engage with the information. The text also uses Python to provide programming tools for exploration and experimentation in your learning.
This 13th edition has been corrected and updated in each chapter to refine your learning experience. With more than 1,000 questions and exercises, the book trains your thinking skills with useful chapter review problems and contains questions surrounding social issues to reinforce core concepts.
This text is comprehensive and highly accessible, making it ideal for undergraduate studies in computer science.
This title has a Companion Website.
* Asterisks indicate suggestions for optional sections.
- Introduction
- 0.1 The Role of Algorithms
- 0.2 The History of Computing
- 0.3 An Outline of Our Study
- 0.4 The Overarching Themes of Computer Science
- Data Storage
- 1.1 Bits and Their Storage
- 1.2 Main Memory
- 1.3 Mass Storage
- 1.4 Representing Information as Bit Patterns
- *1.5 The Binary System
- *1.6 Storing Integers
- *1.7 Storing Fractions
- *1.8 Data and Programming
- *1.9 Data Compression
- *1.10 Communication Errors
- Data Manipulation
- 2.1 Computer Architecture
- 2.2 Machine Language
- 2.3 Program Execution
- *2.4 Arithmetic/Logic Instructions
- *2.5 Communicating with Other Devices
- *2.6 Programming Data Manipulation
- *2.7 Other Architectures
- Operating Systems
- 3.1 The History of Operating Systems
- 3.2 Operating System Architecture
- 3.3 Coordinating the Machine's Activities
- *3.4 Handling Competition Among Processes
- 3.5 Security
- Networking and the Internet
- 4.1 Network Fundamentals
- 4.2 The Internet
- 4.3 The World Wide Web
- *4.4 Internet Protocols
- *4.5 Simple Client Server
- 4.6 Cybersecurity
- Algorithms
- 5.1 The Concept of an Algorithm
- 5.2 Algorithm Representation
- 5.3 Algorithm Discovery
- 5.4 Iterative Structures
- 5.5 Recursive Structures
- 5.6 Efficiency and Correctness
- Programming Languages
- 6.1 Historical Perspective
- 6.2 Traditional Programming Concepts
- 6.3 Procedural Units
- 6.4 Language Implementation
- 6.5 Object-Oriented Programming
- *6.6 Programming Concurrent Activities
- *6.7 Declarative Programming
- Software Engineering
- 7.1 The Software Engineering Discipline
- 7.2 The Software Life Cycle
- 7.3 Software Engineering Methodologies
- 7.4 Modularity
- 7.5 Tools of the Trade
- 7.6 Quality Assurance
- 7.7 Documentation
- 7.8 The Human-Machine Interface
- 7.9 Software Ownership and Liability
- Data Abstractions
- 8.1 Basic Data Structures
- 8.2 Related Concepts
- 8.3 Implementing Data Structures
- 8.4 A Short Case Study
- 8.5 Customized Data Types
- 8.6 Classes and Objects
- *8.7 Pointers in Machine Language
- Database Systems
- 9.1 Database Fundamentals
- 9.2 The Relational Model
- *9.3 Object-Oriented Databases
- *9.4 Maintaining Database Integrity
- *9.5 Traditional File Structures
- 9.6 Data Mining
- 9.7 Social Impact of Database Technology
- Computer Graphics
- 10.1 The Scope of Computer Graphics
- 10.2 Overview of 3D Graphics
- 10.3 Modeling
- 10.4 Rendering
- *10.5 Dealing with Global Lighting
- 10.6 Animation
- Artificial Intelligence
- 11.1 Intelligence and Machines
- 11.2 Perception
- 11.3 Reasoning
- 11.4 Additional Areas of Research
- 11.5 Artificial Neural Networks
- 11.6 Robotics
- 11.7 Considering the Consequences
- Theory of Computation
- 12.1 Functions and Their Computation
- 12.2 Turing Machines
- 12.3 Universal Programming Languages
- 12.4 A Noncomputable Function
- 12.5 Complexity of Problems
- *12.6 Public-Key Cryptography
- A. ASCII
- B. Circuits to Manipulate Two's Complement Representations
- C. Vole: A Simple Machine Language
- D. High-Level Programming Languages
- E. The Equivalence of Iterative and Recursive Structures
- F. Answers to Questions & Exercises
Index