0%

Book Description

Fully revised aDesigned for the introductory computing and computer science course, the student-friendly Computer Science Illuminated, Seventh Edition provides students with a solid foundation for further study, and offers non-majors a complete introduction to computing. Fully revised and updated, the Seventh Edition of this best-selling text retains the accessibility and in-depth coverage of previous editions, while incorporating all-new material on cutting-edge issues in computer science. Authored by the award-winning team Nell Dale and John nd updated, the Seventh Edition of the best-selling text Computer Science Illuminated retains the accessibility and in-depth coverage of previous editions, while incorporating all-new material on cutting-edge issues in computer science. Authored by the award-winning Nell Dale and John Lewis, Computer Science Illuminated's unique and innovative layered approach moves through the levels of computing from an organized, language-neutral perspective.

Table of Contents

  1. Cover
  2. Title Page
  3. Copyright Page
  4. Dedication Page
  5. Preface
  6. Brief Contents
  7. Contents
  8. Preface
  9. Acknowledgement
  10. Special Features
  11. Chapter 1 The Big Picture
    1. 1.1 Computing Systems
      1. Layers of a Computing System
      2. Abstraction
    2. 1.2 The History of Computing
      1. A Brief History of Computing Hardware
      2. A Brief History of Computing Software
      3. Predictions
    3. 1.3 Computing as a Tool and a Discipline
      1. The Big Ideas of Computing
      2. Summary
      3. Ethical Issues: Digital Divide
      4. Key Terms
      5. Exercises
      6. Thought Questions
  12. Chapter 2 Binary Values and Number Systems
    1. 2.1 Numbers and Computing
    2. 2.2 Positional Notation
      1. Binary, Octal, and Hexadecimal
      2. Arithmetic in Other Bases
      3. Power-of-2 Number Systems
      4. Converting from Base 10 to Other Bases
      5. Binary Values and Computers
      6. Summary
      7. Ethical Issues: The FISA Court
      8. Key Terms
      9. Exercises
      10. Thought Questions
  13. Chapter 3 Data Representation
    1. 3.1 Data and Computers
      1. Analog and Digital Data
      2. Binary Representations
    2. 3.2 Representing Numeric Data
      1. Representing Negative Values
      2. Representing Real Numbers
    3. 3.3 Representing Text
      1. The ASCII Character Set
      2. The Unicode Character Set
      3. Text Compression
    4. 3.4 Representing Audio Data
      1. Audio Formats
      2. The MP3 Audio Format
    5. 3.5 Representing Images and Graphics
      1. Representing Color
      2. Digitized Images and Graphics
      3. Vector Representation of Graphics
    6. 3.6 Representing Video
      1. Video Codecs
      2. Summary
      3. Ethical Issues: The Fallout from Snowden’s Revelations
      4. Key Terms
      5. Exercises
      6. Thought Questions
  14. Chapter 4 Gates and Circuits
    1. 4.1 Computers and Electricity
    2. 4.2 Gates
      1. NOT Gate
      2. AND Gate
      3. OR Gate
      4. XOR Gate
      5. NAND and NOR Gates
      6. Review of Gate Processing
      7. Gates with More Inputs
    3. 4.3 Constructing Gates
      1. Transistors
    4. 4.4 Circuits
      1. Combinational Circuits
      2. Adders
      3. Multiplexers
    5. 4.5 Circuits as Memory
    6. 4.6 Integrated Circuits
    7. 4.7 CPU Chips
      1. Summary
      2. Ethical Issues: Codes of Ethics
      3. Key Terms
      4. Exercises
      5. Thought Questions
  15. Chapter 5 Computing Components
    1. 5.1 Individual Computer Components
    2. 5.2 The Stored-Program Concept
      1. von Neumann Architecture
      2. The Fetch–Execute Cycle
      3. RAM and ROM
      4. Secondary Storage Devices
      5. Touch Screens
    3. 5.3 Embedded Systems
    4. 5.4 Parallel Architectures
      1. Parallel Computing
      2. Classes of Parallel Hardware
      3. Summary
      4. Ethical Issues: Is Privacy a Thing of the Past?
      5. Key Terms
      6. Exercises
      7. Thought Questions
  16. Chapter 6 Low-Level Programming Languages and Pseudocode
    1. 6.1 Computer Operations
    2. 6.2 Machine Language
      1. Pep/9: A Virtual Computer
      2. Input and Output in Pep/9
    3. 6.3 A Program Example
      1. Pep/9 Simulator
      2. Another Machine-Language Example
    4. 6.4 Assembly Language
      1. Pep/9 Assembly Language
      2. Numeric Data, Branches, and Labels
      3. Loops in Assembly Language
    5. 6.5 Expressing Algorithms
      1. Pseudocode Functionality
      2. Following a Pseudocode Algorithm
      3. Writing a Pseudocode Algorithm
      4. Translating a Pseudocode Algorithm
    6. 6.6 Testing
      1. Summary
      2. Ethical Issues: Software Piracy
      3. Key Terms
      4. Exercises
      5. Thought Questions
  17. Chapter 7 Problem Solving and Algorithms
    1. 7.1 How to Solve Problems
      1. Ask Questions
      2. Look for Familiar Things
      3. Divide and Conquer
      4. Algorithms
      5. Computer Problem-Solving Process
      6. Summary of Methodology
      7. Testing the Algorithm
    2. 7.2 Algorithms with Simple Variables
      1. An Algorithm with Selection
      2. Algorithms with Repetition
    3. 7.3 Composite Variables
      1. Arrays
      2. Records
    4. 7.4 Searching Algorithms
      1. Sequential Search
      2. Sequential Search in a Sorted Array
      3. Binary Search
    5. 7.5 Sorting
      1. Selection Sort
      2. Bubble Sort
      3. Insertion Sort
    6. 7.6 Recursive Algorithms
      1. Subprogram Statements
      2. Recursive Factorial
      3. Recursive Binary Search
      4. Quicksort
    7. 7.7 Important Threads
      1. Information Hiding
      2. Abstraction
      3. Naming Things
      4. Testing
      5. Summary
      6. Ethical Issues: Open-Source Software
      7. Key Terms
      8. Exercises
      9. Thought Questions
  18. Chapter 8 Abstract Data Types and Subprograms
    1. 8.1 What Is an Abstract Data Type?
    2. 8.2 Stacks
    3. 8.3 Queues
    4. 8.4 Lists
    5. 8.5 Trees
      1. Binary Trees
      2. Binary Search Trees
      3. Other Operations
    6. 8.6 Graphs
      1. Creating a Graph
      2. Graph Algorithms
    7. 8.7 Subprograms
      1. Parameter Passing
      2. Value and Reference Parameters
      3. Summary
      4. Ethical Issues: Workplace Monitoring
      5. Key Terms
      6. Exercises
      7. Thought Questions
  19. Chapter 9 Object-Oriented Design and High-Level Programming Languages
    1. 9.1 Object-Oriented Methodology
      1. Object Orientation
      2. Design Methodology
      3. Example
    2. 9.2 Translation Process
      1. Compilers
      2. Interpreters
    3. 9.3 Programming Language Paradigms
      1. Imperative Paradigm
      2. Declarative Paradigm
    4. 9.4 Functionality in High-Level Languages
      1. Boolean Expressions
      2. Data Typing
      3. Input/Output Structures
      4. Control Structures
    5. 9.5 Functionality of Object-Oriented Languages
      1. Encapsulation
      2. Classes
      3. Inheritance
      4. Polymorphism
    6. 9.6 Comparison of Procedural and Object-Oriented Designs
      1. Summary
      2. Ethical Issues: Hoaxes and Scams
      3. Key Terms
      4. Exercises
      5. Thought Questions
  20. Chapter 10 Operating Systems
    1. 10.1 Roles of an Operating System
      1. Memory, Process, and CPU Management
      2. Batch Processing
      3. Timesharing
      4. Other OS Factors
    2. 10.2 Memory Management
      1. Single Contiguous Memory Management
      2. Partition Memory Management
      3. Paged Memory Management
    3. 10.3 Process Management
      1. The Process States
      2. The Process Control Block
    4. 10.4 CPU Scheduling
      1. First Come, First Served
      2. Shortest Job Next
      3. Round Robin
      4. Summary
      5. Ethical Issues: Medical Privacy: HIPAA
      6. Key Terms
      7. Exercises
      8. Thought Questions
  21. Chapter 11 File Systems and Directories
    1. 11.1 File Systems
      1. Text and Binary Files
      2. File Types
      3. File Operations
      4. File Access
      5. File Protection
    2. 11.2 Directories
      1. Directory Trees
      2. Path Names
    3. 11.3 Disk Scheduling
      1. First-Come, First-Served Disk Scheduling
      2. Shortest-Seek-Time-First Disk Scheduling
      3. SCAN Disk Scheduling
      4. Summary
      5. Ethical Issues: Privacy: Opt-In or Opt-Out?
      6. Key Terms
      7. Exercises
      8. Thought Questions
  22. Chapter 12 Information Systems
    1. 12.1 Managing Information
    2. 12.2 Spreadsheets
      1. Spreadsheet Formulas
      2. Circular References
      3. Spreadsheet Analysis
    3. 12.3 Database Management Systems
      1. The Relational Model
      2. Relationships
      3. Structured Query Language
      4. Database Design
    4. 12.4 E-Commerce
    5. 12.5 Big Data
      1. Summary
      2. Ethical Issues: Politics and the Internet
      3. Key Terms
      4. Exercises
      5. Thought Questions
  23. Chapter 13 Artificial Intelligence
    1. 13.1 Thinking Machines
      1. The Turing Test
      2. Aspects of AI
    2. 13.2 Knowledge Representation
      1. Semantic Networks
      2. Search Trees
    3. 13.3 Expert Systems
    4. 13.4 Neural Networks
      1. Biological Neural Networks
      2. Artificial Neural Networks
    5. 13.5 Natural-Language Processing
      1. Voice Synthesis
      2. Voice Recognition
      3. Natural-Language Comprehension
    6. 13.6 Robotics
      1. The Sense–Plan–Act Paradigm
      2. Subsumption Architecture
      3. Physical Components
      4. Summary
      5. Ethical Issues: Initial Public Offerings
      6. Key Terms
      7. Exercises
      8. Thought Questions
  24. Chapter 14 Simulation, Graphics, Gaming, and Other Applications
    1. 14.1 What Is Simulation?
      1. Complex Systems
      2. Models
      3. Constructing Models
    2. 14.2 Specific Models
      1. Queuing Systems
      2. Meteorological Models
      3. Computational Biology
      4. Other Models
      5. Computing Power Necessary
    3. 14.3 Computer Graphics
      1. How Light Works
      2. Object Shape Matters
      3. Simulating Light
      4. Modeling Complex Objects
      5. Getting Things to Move
    4. 14.4 Gaming
      1. History of Gaming
      2. Creating the Virtual World
      3. Game Design and Development
      4. Game Programming
      5. Summary
      6. Ethical Issues: Gaming as an Addiction
      7. Key Terms
      8. Exercises
      9. Thought Questions
  25. Chapter 15 Networks
    1. 15.1 Networking
      1. Types of Networks
      2. Internet Connections
      3. Packet Switching
    2. 15.2 Open Systems and Protocols
      1. Open Systems
      2. Network Protocols
      3. TCP/IP
      4. High-Level Protocols
      5. MIME Types
      6. Firewalls
    3. 15.3 Network Addresses
      1. Domain Name System
      2. Who Controls the Internet?
    4. 15.4 Cloud Computing
    5. 15.5 Blockchain
      1. Summary
      2. Ethical Issues: The Effects of Social Networking
      3. Key Terms
      4. Exercises
      5. Thought Questions
  26. Chapter 16 The World Wide Web
    1. 16.1 Spinning the Web
      1. Search Engines
      2. Instant Messaging
      3. Weblogs
      4. Cookies
      5. Web Analytics
    2. 16.2 HTML and CSS
      1. Basic HTML Elements
      2. Tag Attributes
      3. More About CSS
      4. More HTML5 Elements
    3. 16.3 Interactive Web Pages
      1. Java Applets
      2. Java Server Pages
    4. 16.4 XML
    5. 16.5 Social Network Evolution
      1. Summary
      2. Ethical Issues: Gambling and the Internet
      3. Key Terms
      4. Exercises
      5. Thought Questions
  27. Chapter 17 Computer Security
    1. 17.1 Security at All Levels
      1. Information Security
    2. 17.2 Preventing Unauthorized Access
      1. Passwords
      2. CAPTCHA
      3. Fingerprint Analysis
    3. 17.3 Malicious Code
      1. Antivirus Software
      2. Security Attacks
    4. 17.4 Cryptography
    5. 17.5 Protecting Your Information Online
      1. Corporate Responsibility
      2. Security and Portable Devices
      3. WikiLeaks
      4. Summary
      5. Ethical Issues: Blogging and Journalism
      6. Key Terms
      7. Exercises
      8. Thought Questions
  28. Chapter 18 Limitations of Computing
    1. 18.1 Hardware
      1. Limits on Arithmetic
      2. Limits on Components
      3. Limits on Communications
    2. 18.2 Software
      1. Complexity of Software
      2. Current Approaches to Software Quality
      3. Notorious Software Errors
    3. 18.3 Problems
      1. Comparing Algorithms
      2. Turing Machines
      3. Halting Problem
      4. Classification of Algorithms
      5. Summary
      6. Ethical Issues: Therac-25: Anatomy of a Disaster
      7. Key Terms
      8. Exercises
      9. Thought Questions
  29. Glossary
  30. Endnotes
  31. Index
54.205.116.187