did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9781423901419

Invitation to Computer Science: C++ Version, Fourth Edition

by
  • ISBN13:

    9781423901419

  • ISBN10:

    142390141X

  • Edition: 4th
  • Format: Paperback
  • Copyright: 2006-02-03
  • Publisher: Cengage Learning Ptr
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $192.95

Summary

This new edition of Invitation to Computer Science follows the breadth-first guidelines recommended by CC2001 to teach computer science topics from the ground up. The authors begin by showing that computer science is the study of algorithms, the central theme of the book, then move up the next five levels of the hierarchy: hardware, virtual machine, software, applications, and ethics. Utilizing rich pedagogy and a consistently engaging writing style, Schneider and Gersting provide students with a solid grounding in theoretical concepts, as well as important applications of computing and information technology. A laboratory manual and accompanying software is available as an optional bundle with this text.

Author Biography

G. Michael Schneider is a Professor of Computer Science at Macalester College Judith Gersting is Professor of Computer Science at the University of Hawaii, Hilo

Table of Contents

An Introduction to Computer Sciencep. 1
Introductionp. 2
The Definition of Computer Sciencep. 4
Special Interest Box: Abu Ja' far Muhammad ibn Musa Al-Khowarizmi (a.d. 780-850?)p. 7
Special Interest Box: In the Beginning...p. 9
Algorithmsp. 10
The Formal Definition of an Algorithmp. 10
The Importance of Algorithmic Problem Solvingp. 15
Practice Problemsp. 16
A Brief History of Computingp. 16
The Early Period: Up to 1940p. 16
Special Interest Box: The Original "Technophobia"p. 19
Special Interest Box: Charles Babbage (1791-1871) Ada Augusta Byron, Countess of Lovelace (1815-1852)p. 20
The Birth of Computers: 1940-1950p. 21
Special Interest Box: And the Verdict Is...p. 23
Special Interest Box: John Von Neumann (1903-1957)p. 24
The Modem Era: 1950 to the Presentp. 25
Special Interest Box: Good Evening, This Is Walter Cronkitep. 26
Special Interest Box: The World's First Microcomputerp. 27
Organization of the Textp. 28
p. 33
Exercisesp. 34
Challenge Workp. 35
For Further Readingp. 35
The Algorithmic Foundations of Computer Sciencep. 36
Algorithm Discovery and Designp. 39
Introductionp. 40
Representing Algorithmsp. 40
Pseudocodep. 40
Sequential Operationsp. 43
Practice Problemsp. 45
Conditional and Iterative Operationsp. 46
Special Interest Box: From Little Primitives Mighty Algorithms Do Growp. 53
Practice Problemsp. 54
Examples of Algorithmic Problem Solvingp. 54
Example 1: Go Forth and Multiplyp. 54
Practice Problemsp. 57
Example 2: Looking, Looking, Lookingp. 57
p. 61
Example 3: Big, Bigger, Biggestp. 62
Practice Problemsp. 66
p. 67
Example 4: Meeting Your Matchp. 67
Practice Problemsp. 73
Conclusionp. 73
Exercisesp. 75
Challenge Workp. 77
For Further Readingp. 78
The Efficiency of Algorithmsp. 79
Introductionp. 80
Attributes of Algorithmsp. 80
Practice Problemsp. 84
Measuring Efficiencyp. 84
Sequential Searchp. 84
Order of Magnitude-Order np. 86
Practice Problemp. 88
Selection Sortp. 88
Practice Problemp. 94
Order of Magnitude-Order n[superscript 2]p. 94
Special Interest Box: The Tortoise and the Harep. 97
Practice Problemp. 98
p. 98
Analysis of Algorithmsp. 99
Data Cleanup Algorithmsp. 99
Practice Problemsp. 105
Binary Searchp. 106
Practice Problemp. 111
p. 111
Pattern Matchingp. 112
Summaryp. 113
Practice Problemp. 113
When Things Get Out of Handp. 113
Practice Problemsp. 117
p. 118
Summary of Level 1p. 118
Exercisesp. 120
Challenge Workp. 124
For Further Readingp. 125
The Hardware Worldp. 126
The Building Blocks: Binary Numbers, Boolean Logic, and Gatesp. 129
Introductionp. 130
The Binary Numbering Systemp. 130
Binary Representation of Numeric and Textual Informationp. 130
Practice Problemsp. 142
Binary Representation of Sound and Imagesp. 142
The Reliability of Binary Representationp. 149
Practice Problemsp. 150
Binary Storage Devicesp. 151
Boolean Logic and Gatesp. 156
Boolean Logicp. 156
Special Interest Box: Dr. William Shockley (1910-1989)p. 156
Special Interest Box: George Boole (1815-1864)p. 157
Practice Problemsp. 159
Gatesp. 160
Building Computer Circuitsp. 162
Introductionp. 162
A Circuit Construction Algorithmp. 165
Practice Problemsp. 169
p. 170
Examples of Circuit Design and Constructionp. 170
Practice Problemsp. 178
p. 178
Control Circuitsp. 179
Conclusionp. 182
Exercisesp. 184
Challenge Workp. 185
For Further Readingp. 186
Computer Systems Organizationp. 187
Introductionp. 188
The Components of a Computer Systemp. 190
Memory and Cachep. 192
Special Interest Box: Powers of 10p. 195
Practice Problemsp. 201
Input/Output and Mass Storagep. 202
Practice Problemsp. 207
The Arithmetic/Logic Unitp. 207
The Control Unitp. 211
Practice Problemsp. 215
Putting All the Pieces Togetherp. 219
Special Interest Box: An Alphabet Soup of Speed Measuresp. 224
p. 224
Nonp. 225
Special Interest Box: Speed to Burnp. 229
Summary of Level 2p. 231
Special Interest Box: Quantum Computingp. 231
Exercisesp. 233
Challenge Workp. 234
For Further Readingp. 235
The Virtual Machinep. 236
An Introduction to System Software and Virtual Machinesp. 239
Introductionp. 240
System Softwarep. 241
The Virtual Machinep. 241
Types of System Softwarep. 243
Assemblers and Assembly Languagep. 245
Assembly Languagep. 245
Practice Problemsp. 251
Examples of Assembly Language Codep. 252
Practice Problemsp. 256
p. 256
Translation and Loadingp. 257
Practice Problemsp. 261
Operating Systemsp. 263
Functions of an Operating Systemp. 264
Special Interest Box: A Machine for the Rest of Usp. 266
Special Interest Box: Hackersp. 269
Practice Problemp. 270
Special Interest Box: The Open Source Movementp. 273
Historical Overview of Operating Systems Developmentp. 273
Special Interest Box: Now That's Big!p. 274
The Futurep. 282
Exercisesp. 285
Challenge Workp. 287
For Further Readingp. 287
Computer Networks, the Internet, and the World Wide Webp. 289
Introductionp. 290
Basic Networking Conceptsp. 291
Communication Linksp. 291
Special Interest Box: Blogsp. 291
Practice Problemsp. 296
Special Interest Box: Ubiquitous Computingp. 297
Local Area Networksp. 297
Practice Problemsp. 300
Wide Area Networksp. 300
Overall Structure of the Internetp. 302
Communication Protocolsp. 304
Physical Layerp. 306
Data Link Layerp. 307
Practice Problemsp. 310
Network Layerp. 311
Practice Problemsp. 313
Transport Layerp. 314
Application Layerp. 317
p. 321
Network Services and Benefitsp. 321
Special Interest Box: Spamp. 322
A Brief History of the Internet and the World Wide Webp. 324
The Internetp. 324
The World Wide Webp. 328
Special Interest Box: Geography Lessonp. 328
Conclusionp. 330
Summary of Level 3p. 330
Exercisesp. 332
Challenge Workp. 333
For Further Readingp. 333
The Software Worldp. 334
Introduction to High-level Language Programmingp. 337
Where Do We Stand?p. 338
High-level Languagesp. 339
Introduction to C++p. 342
Special Interest Box: A Remarkable Historyp. 344
Virtual Data Storagep. 345
Practice Problemsp. 349
Statement Typesp. 349
Input/Output Statementsp. 350
Practice Problemsp. 354
The Assignment Statementp. 354
Practice Problemsp. 357
Control Statementsp. 357
Practice Problemsp. 369
Putting the Pieces Togetherp. 370
The Complete Programp. 370
Meeting Expectationsp. 370
Practice Problemsp. 374
p. 374
Managing Complexityp. 375
Divide and Conquerp. 375
Using Functionsp. 376
Writing Functionsp. 378
Special Interest Box: Whither Art Thou, C++?p. 379
Practice Problemsp. 388
p. 389
Object-Oriented Programmingp. 389
A C++ Examplep. 391
What Have We Gained?p. 396
Practice Problemsp. 397
Graphical Programmingp. 397
Graphics Primitivesp. 398
Practice Problemp. 405
p. 406
An Example of Graphics Programmingp. 406
The Big Picture: Software Engineeringp. 408
Scaling Upp. 409
pecial Interest Box: Vital Statistics for Real Codep. 411
The Software Life Cyclep. 412
Modern Environmentsp. 417
Conclusionp. 417
Exercisesp. 419
Challenge Workp. 421
For Further Readingp. 422
The Tower of Babelp. 425
Why Babel?p. 426
Procedural Languagesp. 427
Fortranp. 428
Special Interest Box: Old Dog, New Tricks #1p. 430
Practice Problemp. 430
Cobolp. 430
Practice Problemp. 432
Cp. 432
Practice Problemsp. 435
Adap. 435
Practice Problemp. 436
Javap. 436
Practice Problemp. 438
C# and .Netp. 438
Special Interest Box: Old Dog, New Tricks #2p. 439
Practice Problemp. 440
Special-purpose Languagesp. 440
SQLp. 440
HTMLp. 441
p. 443
Special Interest Box: Beyond HTMLp. 444
JavaScriptp. 444
Practice Problemp. 446
Special Interest Box: PHPp. 446
Alternative Programming Paradigmsp. 447
Functional Programmingp. 448
Special Interest Box: Simplicity Is in the Eye of the Beholderp. 452
Practice Problemsp. 453
p. 453
Logic Programmingp. 453
Practice Problemsp. 458
Parallel Programmingp. 458
Practice Problemp. 462
Conclusionp. 462
Special Interest Box: Parallel Computing with Titaniump. 462
Exercisesp. 465
Challenge Workp. 467
For Further Readingp. 468
Compilers and Language Translationp. 469
Introductionp. 470
The Compilation Processp. 473
Phase I: Lexical Analysisp. 474
Practice Problemp. 477
Phase II: Parsingp. 477
Practice Problemsp. 483
Practice Problemsp. 493
Phase III: Semantics and Code Generationp. 494
Practice Problemp. 503
Phase IV: Code Optimizationp. 503
p. 503
Special Interest Box: "I Do Not Understand," Said the Machinep. 508
Conclusionp. 509
Exercisesp. 510
Challenge Workp. 512
For Further Readingp. 513
Models of Computationp. 515
Introductionp. 516
What Is a Model?p. 516
Practice Problemsp. 518
A Model of a Computing Agentp. 518
Properties of a Computing Agentp. 518
The Turing Machinep. 519
Special Interest Box: Alan Turing, Brilliant Eccentricp. 520
Practice Problemsp. 526
A Model of an Algorithmp. 527
Turing Machine Examplesp. 530
A Bit Inverterp. 530
A Parity Bit Machinep. 532
Machines for Unary Incrementingp. 535
A Unary Addition Machinep. 538
Practice Problemsp. 540
p. 540
The Church-Turing Thesisp. 540
Special Interest Box: The Turing Awardp. 541
Unsolvable Problemsp. 543
Special Interest Box: Couldn't Do, Can't Do, Never Will Be Able to...p. 548
Practice Problemsp. 548
p. 548
Conclusionp. 549
Summary of Level 4p. 549
Exercisesp. 551
Challenge Workp. 553
For Further Readingp. 555
Applicationsp. 556
Simulation and Modelingp. 559
Introductionp. 560
Computational Modelingp. 560
Introduction to Systems and Modelsp. 560
Computational Models, Accuracy, and Errorsp. 562
An Example of Model Buildingp. 565
Practice Problemsp. 572
p. 573
Running the Model and Visualizing Resultsp. 573
Conclusionp. 580
Special Interest Box: The Mother of all Computations!p. 581
Exercisesp. 582
Challenge Workp. 583
For Further Readingp. 584
Electronic Commerce and Information Securityp. 585
Introductionp. 586
Special Interest Box: Shopping on the Webp. 587
E-commercep. 588
The Vision Thingp. 588
Decisions, Decisionsp. 589
Anatomy of a Transactionp. 590
Special Interest Box: A Rose by Any Other Name...p. 592
Special Interest Box: Gone Phishin'p. 595
Designing Your Web Sitep. 595
Behind the Scenesp. 597
Special Interest Box: The Price of Successp. 598
Practice Problemp. 598
Databasesp. 598
Data Organizationp. 599
Database Management Systemsp. 600
Other Considerationsp. 604
p. 605
Practice Problemsp. 606
Information Securityp. 606
Encryption Overviewp. 607
Simple Encryption Algorithmsp. 608
Practice Problemsp. 610
DESp. 610
p. 611
Special Interest Box: Cracking DESp. 612
Public-Key Systemsp. 614
Practice Problemp. 616
Conclusionp. 616
Exercisesp. 617
Challenge Workp. 617
For Further Readingp. 618
Artificial Intelligencep. 619
Introductionp. 620
Special Interest Box: To Whom Am I Speaking?p. 621
A Division of Laborp. 621
Knowledge Representationp. 624
Practice Problemp. 627
Recognition Tasksp. 627
Special Interest Box: Read Me a Storyp. 632
p. 632
Practice Problemp. 633
Reasoning Tasksp. 633
Intelligent Searchingp. 633
Swarm Intelligencep. 635
Special Interest Box: The Chess Challengep. 636
Intelligent Agentsp. 637
Special Interest Box: Ants in Space!p. 637
Expert Systemsp. 639
Practice Problemsp. 642
Roboticsp. 642
Conclusionp. 643
Summary of Level 5p. 644
Special Interest Box: Shall We Dance?p. 644
Exercisesp. 645
Challenge Workp. 646
For Further Readingp. 649
Social Issues in Computingp. 650
Making Decisions about Computers, Information, and Societyp. 653
Introductionp. 654
Case Studiesp. 654
Case 1: The Story of MP3-Compression Codes, Musicians, and Moneyp. 654
Practice Problemsp. 660
Special Interest Box: The Sound of Musicp. 661
Case 2: PGP: The U.S. Government vs. Phil Zimmermannp. 661
Case 3: Hackers: Public Enemies or Gadflies?p. 665
Practice Problemsp. 666
Special Interest Box: The Cyborgp. 667
Practice Problemsp. 670
Thinking Straight about Technology and Ethicsp. 670
Case 4: Genetic Information and Medical Researchp. 671
What We Covered and What We Did Notp. 675
Summary of Level 6p. 676
Exercisesp. 677
For Further Readingp. 678
Answers to Practice Problemsp. 681
Indexp. 709
Table of Contents provided by Ingram. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program