Find The Original Textbook (PDF) in The Link Below
CLICK HERE CONTENT
Chapter 1 An Introduction to Computer Science 2
1.1 Introduction 2 Special Interest Box: In the Beginning ... 5 1.2 The Definition of Computer Science 6 Special Interest Box: Abu Ja’far Muhammad ibn Musa Al-Khwarizmi (AD 780–850?) 10 1.3 Algorithms 12 1.3.1 The Formal Definition of an Algorithm 12 1.3.2 The Importance of Algorithmic Problem Solving 17 Practice Problems 18 1.4 A Brief History of Computing 18 1.4.1 The Early Period: Up to 1940 18 Special Interest Box: The Original “Technophobia” 22 Special Interest Box: Charles Babbage (1791–1871) Ada Augusta Byron, Countess of Lovelace (1815– 1852) 24 1.4.2 The Birth of Computers: 1940–1950 24 Special Interest Box: John Von Neumann (1903–1957) 28 1.4.3 The Modern Era: 1950 to the Present 28 Special Interest Box: And the Verdict Is ... 29 Special Interest Box: The World’s First Microcomputer 31 1.5 Organization of the Text 34 Laboratory Experience 1 38 EXERCISES 39 CHALLENGE WORK 41 LEVEL 1 The Algorithmic Foundations of Computer Science 42 Chapter 2 Algorithm Discovery and Design 44 2.1 Introduction 44 2.2 Representing Algorithms 44 2.2.1 Pseudocode 44 2.2.2 Sequential Operations 48 2.2.3 Conditional and Iterative Operations 50 Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s). Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-202 viii Contents Practice Problems 51 Special Interest Box: From Little Primitives Mighty Algorithms Grow 60 2.3 Examples of Algorithmic Problem Solving 60 2.3.1 Example 1: Go Forth and Multiply 60 Practice Problems 61 Practice Problems 64 2.3.2 Example 2: Looking, Looking, Looking 65 Laboratory Experience 2 70 2.3.3 Example 3: Big, Bigger, Biggest 70 Practice Problems 76 Laboratory Experience 3 76 2.3.4 Example 4: Meeting Your Match 77 Special Interest Box: Hidden Figures 84 2.4 Conclusion 84 Practice Problems 85 EXERCISES 86 CHALLENGE WORK 89 Chapter 3 The Efficiency of Algorithms 92 3.1 Introduction 92 3.2 Attributes of Algorithms 92 Practice Problems 97 3.3 Measuring Efficiency 97 3.3.1 Sequential Search 97 3.3.2 Order of Magnitude—Order n 100 Special Interest Box: Flipping Pancakes 102 3.3.3 Selection Sort 102 Practice Problem 103 Practice Problems 109 3.3.4 Order of Magnitude—Order n2 109 Special Interest Box: The Tortoise and the Hare 113 Laboratory Experience 4 114 Practice Problem 115 3.4 Analysis of Algorithms 115 3.4.1 Data Cleanup Algorithms 115 3.4.2 Binary Search 123 Practice Problems 123 Practice Problems 129 Laboratory Experience 5 130 3.4.3 Pattern Matching 130 3.4.4 Summary 131 Practice Problem 132 3.5 When Things Get Out of Hand 132 Practice Problems 137 3.6 Summary of Level 1 137 Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s). Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-202 Contents ix Laboratory Experience 6 138 EXERCISES 139 CHALLENGE WORK 149 LEVEL 2 The Hardware World 150 Chapter 4 The Building Blocks: Binary Numbers, Boolean Logic, and Gates 152 4.1 Introduction 152 4.2 The Binary Numbering System 153 4.2.1 Binary Representation of Numeric and Textual Information 153 Special Interest Box: A Not So Basic Base 158 Practice Problems 166 4.2.2 Binary Representation of Sound and Images 167 Practice Problems 175 4.2.3 The Reliability of Binary Representation 176 4.2.4 Binary Storage Devices 177 Special Interest Box: Moore’s Law and the Limits of Chip Design 182 4.3 Boolean Logic and Gates 183 4.3.1 Boolean Logic 183 Practice Problems 187 4.3.2 Gates 188 Special Interest Box: George Boole (1815–1864) 192 4.4 Building Computer Circuits 193 4.4.1 Introduction 193 4.4.2 A Circuit Construction Algorithm 195 Practice Problems 199 4.4.3 Examples of Circuit Design and Construction 200 Laboratory Experience 7 200 Laboratory Experience 8 208 Practice Problems 209 Special Interest Box: Dr. William Shockley (1910–1989) 209 4.5 Control Circuits 211 4.6 Conclusion 215 EXERCISES 217 CHALLENGE WORK 220 Chapter 5 Computer Systems Organization 222 5.1 Introduction 222 5.2 The Components of a Computer System 225 5.2.1 Memory and Cache 227 Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s). Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-202 x Contents Special Interest Box: Powers of 10 230 5.2.2 Input/Output and Mass Storage 238 Practice Problems 239 Practice Problems 244 5.2.3 The Arithmetic/Logic Unit 245 5.2.4 The Control Unit 249 Practice Problems 256 5.3 Putting the Pieces Together—the Von Neumann Architecture 258 Special Interest Box: An Alphabet Soup of Speed Measures: MHz, GHz, MIPS, and GFLOPS 264 Laboratory Experience 9 265 5.4 Non–Von Neumann Architectures 265 Special Interest Box: Speed to Burn 269 5.5 Summary of Level 2 271 Special Interest Box: Quantum Computing 272 EXERCISES 273 CHALLENGE WORK 276 LEVEL 3 The Virtual Machine 278 Chapter 6 An Introduction to System Software and Virtual Machines 280 6.1 Introduction 280 6.2 System Software 282 6.2.1 The Virtual Machine 282 6.2.2 Types of System Software 284 6.3 Assemblers and Assembly Language 286 6.3.1 Assembly Language 286 Practice Problems 294 6.3.2 Examples of Assembly Language Code 295 Practice Problems 299 Laboratory Experience 10 300 6.3.3 Translation and Loading 300 Practice Problems 307 6.4 Operating Systems 308 6.4.1 Functions of an Operating System 308 Special Interest Box: A Machine for the Rest of Us 311 Practice Problems 315 6.4.2 Historical Overview of Operating Systems Development 318 Special Interest Box: Now That’s Big! 320 6.4.3 The Future 327 Special Interest Box: Gesture-Based Computing 330 EXERCISES 331 Challenge Work 334 Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s). Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-202 Contents xi Chapter 7 Computer Networks and Cloud Computing 336 7.1 Introduction 336 7.2 Basic Networking Concepts 338 7.2.1 Communication Links 338 Special Interest Box: The Internet of Things 345 Practice Problems 346 7.2.2 Local Area Networks 346 Practice Problems 349 7.2.3 Wide Area Networks 349 7.2.4 Overall Structure of the Internet 351 Special Interest Box: Firewalls 354 7.3 Communication Protocols 356 7.3.1 Physical Layer 357 7.3.2 Data Link Layer 358 Practice Problems 362 7.3.3 Network Layer 363 Special Interest Box: I Can’t Believe We’ve Run Out 364 7.3.4 Transport Layer 366 Practice Problems 367 7.3.5 Application Layer 371 7.4 Network Services and Benefits 374 Laboratory Experience 11 375 7.4.1 Interpersonal Communications 375 7.4.2 Social Networking 376 7.4.3 Resource Sharing 376 7.4.4 Electronic Commerce 378 7.5 Cloud Computing 379 7.6 A History of the Internet and the World Wide Web 382 7.6.1 The Internet 382 7.6.2 The World Wide Web 387 Special Interest Box: Geography Lesson 388 Special Interest Box: Net Neutrality 389 7.7 Conclusion 390 EXERCISES 390 CHALLENGE WORK 393 Chapter 8 Information Security 394 8.1 Introduction 394 8.2 Threats and Defenses 395 8.2.1 Authentication and Authorization 396 Special Interest Box: The Metamorphosis of Hacking 397 Practice Problems 401 8.2.2 Threats from the Network 402 Special Interest Box: Beware the Trojan Horse 403 Special Interest Box: Your Money or Your Files 404 Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s). Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-202 xii Contents Special Interest Box: Defense against the Dark Arts 406 Practice Problem 407 8.2.3 White Hats vs. Black Hats 407 8.3 Encryption 407 Special Interest Box: You’ve Been Hacked 408 8.3.1 Encryption Overview 409 8.3.2 Simple Encryption Algorithms 410 Practice Problems 412 Laboratory Experience 12 413 8.3.3 DES 413 Special Interest Box: Hiding in Plain Sight 413 8.3.4 Public-Key Systems 417 Special Interest Box: Quantum Computing vs. RSA 419 Practice Problem 419 8.4 Web Transmission Security 420 8.5 Embedded Computing 422 Special Interest Box: Mischief-Makers in the Internet of Things 425 8.6 Conclusion 425 8.7 Summary of Level 3 426 EXERCISES 427 CHALLENGE WORK 429 LEVEL 4 The Software World 432 Chapter 9 Introduction to High-Level Language Programming 434 9.1 The Language Progression 434 9.1.1 Where Do We Stand and What Do We Want? 435 9.1.2 Getting Back to Binary 438 9.2 A Family of Languages 439 Special Interest Box: Ada, C11, C#, Java, and Python Online Chapters 439 9.3 Two Examples in Five-Part Harmony 440 9.3.1 Favorite Number 440 9.3.2 Data Cleanup (Again) 444 9.4 Feature Analysis 454 9.5 Meeting Expectations 454 9.6 The Big Picture: Software Engineering 463 9.6.1 Scaling Up 464 9.6.2 The Software Development Life Cycle 464 Special Interest Box: Vital Statistics for Real Code 466 9.6.3 Modern Environments 472 9.6.4 Agile Software Development 474 Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s). Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-202 Contents xiii Special Interest Box: Software Engineering Failures 475 9.7 Conclusion 476 EXERCISES 477 CHALLENGE WORK 477 Online Chapters This text includes five language-specific online-only downloadable chapters on Ada, C++, C#, Java, and Python, available on the com- panion site for this text (www.cengage.com) and in MindTap. Chapter 10 The Tower of Babel: Programming Languages 480 10.1 Why Babel? 480 10.2 Procedural Languages 482 10.2.1 Plankalkül 482 10.2.2 Fortran 483 10.2.3 COBOL 484 Special Interest Box: Old Dog, New Tricks #1 485 Practice Problems 486 Practice Problem 487 Special Interest Box: Uncle Sam Wants Who? 487 10.2.4 C/C11 488 Practice Problems 492 10.2.5 Ada 492 Practice Problem 493 10.2.6 Java 494 Practice Problem 496 10.2.7 Python 496 10.2.8 C# and .NET 497 Practice Problem 497 Special Interest Box: The “Popularity” Contest 498 Special Interest Box: Old Dog, New Tricks #2 500 Practice Problem 501 10.3 Special-Purpose Languages 501 10.3.1 SQL 501 10.3.2 HTML 502 Laboratory Experience 13 505 10.3.3 JavaScript 505 Special Interest Box: Beyond HTML 506 Special Interest Box: PHP 509 Practice Problems 509 10.3.4 R 510 Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s). Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-202 xiv Contents 10.4 Alternative Programming Paradigms 513 10.4.1 Functional Programming 513 Special Interest Box: It’s All in How You Look, Look, Look, . . . at It 518 Practice Problems 519 Laboratory Experience 14 520 10.4.2 Logic Programming 520 Practice Problems 525 10.4.3 Parallel Programming 526 Special Interest Box: New Dogs, New Tricks 531 Practice Problems 532 10.5 New Languages Keep Coming 532 10.5.1 Go 532 Special Interest Box: Go is Going Places 533 10.5.2 Swift 534 10.5.3 Milk 535 10.6 Conclusion 535 EXERCISES 537 Challenge Work 540 Chapter 11 Compilers and Language Translation 542 11.1 Introduction 542 11.2 The Compilation Process 545 11.2.1 Phase I: Lexical Analysis 546 11.2.2 Phase II: Parsing 550 Practice Problems 550 Practice Problems 556 Practice Problems 567 11.2.3 Phase III: Semantics and Code Generation 568 Practice Problem 577 11.2.4 Phase IV: Code Optimization 577 Laboratory Experience 15 577 Special Interest Box: “Now I Understand,” Said the Machine 582 11.3 Conclusion 583 EXERCISES 584 CHALLENGE WORK 587 Chapter 12 Models of Computation 588 12.1 Introduction 588 12.2 What Is a Model? 589 12.3 A Model of a Computing Agent 591 12.3.1 Properties of a Computing Agent 591 Practice Problems 592 12.3.2 The Turing Machine 593 Special Interest Box: Alan Turing, Brilliant Eccentric 593 Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s). Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-202 Contents xv Practice Problems 600 12.4 A Model of an Algorithm 602 12.5 Turing Machine Examples 604 12.5.1 A Bit Inverter 605 Practice Problems 607 12.5.2 A Parity Bit Machine 607 12.5.3 Machines for Unary Incrementing 610 Practice Problem 610 12.5.4 A Unary Addition Machine 614 Practice Problems 616 Laboratory Experience 16 616 12.6 The Church–Turing Thesis 617 Special Interest Box: The Turing Award 618 12.7 Unsolvable Problems 621 Special Interest Box: Couldn’t Do, Can’t Do, Never Will Be Able to . . . 626 Practice Problems 626 Laboratory Experience 17 627 12.8 Conclusion 627 12.9 Summary of Level 4 628 EXERCISES 629 CHALLENGE WORK 633 LEVEL 5 Applications 636 Chapter 13 Simulation and Modeling 638 13.1 Introduction 638 13.2 Computational Modeling 639 13.2.1 Introduction to Systems and Models 639 13.2.2 Computational Models, Accuracy, and Errors 642 13.2.3 An Example of Model Building 644 Practice Problems 653 Laboratory Experience 18 654 13.3 Running the Model and Visualizing Results 654 13.4 Conclusion 664 Special Interest Box: The Mother of All Computations! 664 EXERCISES 665 CHALLENGE WORK 667 Chapter 14 Ecommerce, Databases, and Data Science 670 14.1 Introduction 670 14.2 Ecommerce 671 Special Interest Box: Shopping on the Web 672 Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s). Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-202 xvi Contents 14.2.1 Decisions, Decisions 673 14.2.2 Anatomy of a Transaction 675 Special Interest Box: A Rose by Any Other Name. . . 677 14.2.3 Designing Your Website 680 Special Interest Box: Less Is More 682 14.2.4 Behind the Scenes 682 Practice Problems 683 14.2.5 Other Ecommerce Models 683 14.2.6 Electronic Payment Systems 685 Special Interest Box: Blockchain: A New Revolution? 687 14.3 Databases 688 14.3.1 Data Organization 688 14.3.2 Database Management Systems 690 14.3.3 Other Considerations 696 Special Interest Box: SQL, NoSQL, NewSQL 697 Practice Problems 698 Laboratory Experience 19 699 14.4 Data Science 699 14.4.1 Tools 700 Special Interest Box: Algorithm Bias 703 Practice Problem 704 14.4.2 Personal Privacy 704 Special Interest Box: What Your Smartphone Photo Knows 705 14.4.3 For the Greater Good 706 14.5 Conclusion 707 EXERCISES 708 CHALLENGE WORK 711 Chapter 15 Artificial Intelligence 712 15.1 Introduction 712 Special Interest Box: Victory in the Turing Test? 714 15.2 A Division of Labor 715 Special Interest Box: Predicted AI Milestones 718 15.3 Knowledge Representation 718 Practice Problems 722 15.4 Recognition Tasks 723 Special Interest Box: Brain on a Chip 728 Laboratory Experience 20 729 Practice Problems 730 15.5 Reasoning Tasks 730 15.5.1 Intelligent Searching 730 15.5.2 Swarm Intelligence 733 Special Interest Box: Robot Swarms 734 15.5.3 Intelligent Agents 734 15.5.4 Expert Systems 736 Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s). Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-202 Contents xvii Practice Problems 739 15.5.5 The Games We Play 739 15.6 Robots and Drones 744 15.6.1 Robots 744 Special Interest Box: Wait—Where Am I? 746 15.6.2 Drones 749 15.7 Conclusion 751 EXERCISES 752 CHALLENGE WORK 754 Chapter 16 Computer Graphics and Entertainment: Movies, Games, and Virtual Communities 758 16.1 Introduction 758 16.2 Computer-Generated Imagery (CGI) 761 16.2.1 Introduction to CGI 761 Special Interest Box: Computer Horsepower 763 16.2.2 How It’s Done: The Graphics Pipeline 763 16.2.3 Object Modeling 764 16.2.4 Object Motion 767 Practice Problem 768 Practice Problem 772 16.2.5 Rendering and Display 772 16.2.6 The Future of CGI 775 16.3 Video Gaming 776 Special Interest Box: The Good, the Bad, and the Ugly 780 16.4 Multiplayer Games and Virtual Communities 781 16.5 Conclusion 783 Special Interest Box: The Computer Will See You Now 784 16.6 Summary of Level 5 785 Exercises 786 Challenge Work 788 LEVEL 6 Social Issues in Computing 790 Chapter 17 Making Decisions about Computers, Information, and Society 792 17.1 Introduction 792 17.2 Case Studies 793 17.2.1 Case 1: Is It Sharing or Stealing? 793 Special Interest Box: Death of a Dinosaur 797 Practice Problems 800 Special Interest Box: The Sound of Music 801 Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s). Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Copyright 2019 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. WCN 02-200-202 xviii Contents 17.2.2 Case 2: Legalized Snooping—Privacy vs. Security 801 Special Interest Box: Hero or Traitor? 803 Practice Problems 809 17.2.3 Case 3: Hackers—Public Enemies or Gadflies? 809 Practice Problems 815 17.2.4 Case 4: Genetic Information and Medical Research 815 Special Interest Box: Professional Codes of Conduct 821 17.3 Personal Privacy and Social Media 822 Practice Problems 826 17.4 Fake News, Politics, and Social Media 827 17.5 Conclusion 830 17.6 Summary of Level 6 830 EXERCISES 831 Answers to Practice Problems 833 Index 877
Find The Original Textbook (PDF) in The Link Below
3D Game Engine Design A Practical Approach to Real Time Computer Graphics 2nd Edition David H. Eberly - Get instant access to the full ebook with detailed content