An edition of Invitation to Computer Science (1995)

Invitation to computer science

Java version

3rd ed.
  • 5.0 (1 rating)
  • 88 Want to read
  • 3 Currently reading

My Reading Lists:

Create a new list

  • 5.0 (1 rating)
  • 88 Want to read
  • 3 Currently reading

Buy this book

Last edited by Tom Morris
January 16, 2026 | History
An edition of Invitation to Computer Science (1995)

Invitation to computer science

Java version

3rd ed.
  • 5.0 (1 rating)
  • 88 Want to read
  • 3 Currently reading

This work doesn't have a description yet. Can you add one?

Publish Date
Language
English
Pages
720

Buy this book

Previews available in: English

Edition Availability
Cover of: Invitation to computer science
Invitation to computer science
2013, Cengage Learning
in English - 6th ed.
Cover of: Invitation to computer science
Invitation to computer science: Java version
2007, Thomson Course Technology
in English - 3rd ed.
Cover of: Invitation to Computer Science
Invitation to Computer Science
February 3, 2006, Course Technology
Paperback in English - C++ version, 4th edition
Cover of: Invitation to Computer Science
Invitation to Computer Science
February 6, 2004, Course Technology
Paperback in English - Java version, 2nd edition
Cover of: Invitation to computer science
Invitation to computer science: C++ version
2004, Thomsom/Course Technology, Course Technology, Brand: Course Technology
in English
Cover of: An invitation to computer science
An invitation to computer science
1999, PWS Pub.
in English - 2nd ed.
Cover of: An invitation to computer science
An invitation to computer science
1995, West Pub. Co.
in English

Add another edition?

Book Details


Table of Contents

Chapter 1. An Introduction to Computer Science
Page 1
1.1. Introduction
Page 2
1.2. The Definition of Computer Science
Page 4
Special Interest Box: Abu Ja'far Muhammad ibn Musa Al-Khwarizmi (a.d. 780–850?)
Page 7
Special Interest Box: In the Beginning...
Page 9
1.3. Algorithms
Page 10
1.3.1. The Formal Definition of an Algorithm
Page 10
1.3.2. The Importance of Algorithmic Problem Solving
Page 15
Practice Problems
Page 16
1.4. A Brief History of Computing
Page 16
1.4.1. The Early Period: Up to 1940
Page 16
Special Interest Box: The Original "Technophobia"
Page 19
Special Interest Box: Charles Babbage (1791–1871); Ada Augusta Byron, Countess of Lovelace (1815–1852)
Page 20
1.4.2. The Birth of Computers: 1940–1950
Page 21
Special Interest Box: And the Verdict Is...
Page 23
Special Interest Box: John von Neumann (1903–1957)
Page 24
1.4.3. The Modern Era: 1950 to the Present
Page 25
Special Interest Box: Good Evening, This Is Walter Cronkite
Page 26
Special Interest Box: The World's First Microcomputer
Page 27
1.5. Organization of the Text
Page 28
Laboratory Experience 1
Page 33
Exercises
Page 34
Challenge Work
Page 35
For Further Reading
Page 35
Level 1. The Algorithmic Foundations of Computer Science
Page 36
Chapter 2. Algorithm Discovery and Design
Page 39
2.1. Introduction
Page 40
2.2. Representing Algorithms
Page 40
2.2.1. Pseudocode
Page 40
2.2.2. Sequential Operations
Page 43
Practice Problems
Page 45
2.2.3. Conditional and Iterative Operations
Page 46
Special Interest Box: From Little Primitives Mighty Algorithms Do Grow
Page 53
Practice Problems
Page 54
2.3. Examples of Algorithmic Problem Solving
Page 54
2.3.1. Example 1: Go Forth and Multiply
Page 54
Practice Problems
Page 57
2.3.2. Example 2: Looking, Looking, Looking
Page 57
Laboratory Experience 2
Page 61
2.3.3. Example 3: Big, Bigger, Biggest
Page 62
Practice Problems
Page 66
Laboratory Experience 3
Page 67
2.3.4. Example 4: Meeting Your Match
Page 67
Practice Problems
Page 73
2.4. Conclusion
Page 73
Exercises
Page 75
Challenge Work
Page 77
For Further Reading
Page 78
Chapter 3. The Efficiency of Algorithms
Page 79
3.1. Introduction
Page 80
3.2. Attributes of Algorithms
Page 80
Practice Problems
Page 84
3.3. Measuring Efficiency
Page 84
3.3.1. Sequential Search
Page 84
3.3.2. Order of Magnitude — Order n
Page 86
Practice Problem
Page 88
3.3.3. Selection Sort
Page 88
Practice Problem
Page 94
3.3.4. Order of Magnitude — Order n^2
Page 94
Special Interest Box: The Tortoise and the Hare
Page 97
Practice Problem
Page 98
Laboratory Experience 4
Page 98
3.4. Analysis of Algorithms
Page 99
3.4.1. Data Cleanup Algorithms
Page 99
Practice Problems
Page 105
3.4.2. Binary Search
Page 106
Practice Problem
Page 111
Laboratory Experience 5
Page 111
3.4.3. Pattern Matching
Page 112
3.4.4. Summary
Page 113
Practice Problem
Page 113
3.5. When Things Get Out of Hand
Page 113
Practice Problems
Page 117
Laboratory Experience 6
Page 118
3.6. Summary of Level 1
Page 118
Exercises
Page 120
Challenge Work
Page 124
For Further Reading
Page 125
Level 2. The Hardware World
Page 126
Chapter 4. The Building Blocks: Binary Numbers, Boolean Logic, and Gates
Page 129
4.1. Introduction
Page 130
4.2. The Binary Numbering System
Page 130
4.2.1. Binary Representation of Numeric and Textual Information
Page 130
Practice Problems
Page 142
4.2.2. Binary Representation of Sound and Images
Page 142
4.2.3. The Reliability of Binary Representation
Page 149
Practice Problems
Page 150
4.2.4. Binary Storage Devices
Page 151
4.3. Boolean Logic and Gates
Page 156
4.3.1. Boolean Logic
Page 156
Special Interest Box: Dr. William Shockley (1910–1989)
Page 156
Special Interest Box: George Boole (1815–1864)
Page 157
Practice Problems
Page 159
4.3.2. Gates
Page 160
4.4. Building Computer Circuits
Page 162
4.4.1. Introduction
Page 162
4.4.2. A Circuit Construction Algorithm
Page 165
Practice Problems
Page 169
Laboratory Experience 7
Page 170
4.4.3. Examples of Circuit Design and Construction
Page 170
Practice Problems
Page 178
Laboratory Experience 8
Page 178
4.5. Control Circuits
Page 179
4.6. Conclusion
Page 182
Exercises
Page 184
Challenge Work
Page 185
For Further Reading
Page 186
Chapter 5. Computer Systems Organization
Page 187
5.1. Introduction
Page 188
5.2. The Components of a Computer System
Page 190
5.2.1. Memory and Cache
Page 192
Special Interest Box: Powers of 10
Page 195
Practice Problems
Page 201
5.2.2. Input/Output and Mass Storage
Page 202
Practice Problems
Page 207
5.2.3. The Arithmetic/Logic Unit
Page 207
5.2.4. The Control Unit
Page 211
Practice Problems
Page 215
5.3. Putting All the Pieces Together — the Von Neumann Architecture
Page 219
Special Interest Box: An Alphabet Soup of Speed Measures — MIPS, MFLOPS, MHz, and GHz
Page 224
Laboratory Experience 9
Page 224
5.4. Non–Von Neumann Architectures
Page 225
Special Interest Box: Speed to Burn
Page 229
5.5. Summary of Level 2
Page 231
Special Interest Box: Quantum Computing
Page 231
Exercises
Page 233
Challenge Work
Page 234
For Further Reading
Page 235
Level 3. The Virtual Machine
Page 236
Chapter 6. An Introduction to System Software and Virtual Machines
Page 239
6.1. Introduction
Page 240
6.2. System Software
Page 241
6.2.1. The Virtual Machine
Page 241
6.2.2. Types of System Software
Page 243
6.3. Assemblers and Assembly Language
Page 245
6.3.1. Assembly Language
Page 245
Practice Problems
Page 251
6.3.2. Examples of Assembly Language Code
Page 252
Practice Problems
Page 256
Laboratory Experience 10
Page 256
6.3.3. Translation and Loading
Page 257
Practice Problems
Page 261
6.4. Operating Systems
Page 263
6.4.1. Functions of an Operating System
Page 264
Special Interest Box: A Machine for the Rest of Us
Page 266
Special Interest Box: Hackers
Page 269
Practice Problem
Page 270
Special Interest Box: The Open Source Movement
Page 273
6.4.2. Historical Overview of Operating Systems Development
Page 273
Special Interest Box: Now That's Big!
Page 274
6.4.3. The Future
Page 282
Exercises
Page 285
Challenge Work
Page 287
For Further Reading
Page 287
Chapter 7. Computer Networks, the Internet, and the World Wide Web
Page 289
7.1. Introduction
Page 290
7.2. Basic Networking Concepts
Page 291
7.2.1. Communication Links
Page 291
Special Interest Box: Blogs
Page 291
Practice Problems
Page 296
Special Interest Box: Ubiquitous Computing
Page 297
7.2.2. Local Area Networks
Page 297
Practice Problems
Page 300
7.2.3. Wide Area Networks
Page 300
7.2.4. Overall Structure of the Internet
Page 302
7.3. Communication Protocols
Page 304
7.3.1. Physical Layer
Page 306
7.3.2. Data Link Layer
Page 307
Practice Problems
Page 310
7.3.3. Network Layer
Page 311
Practice Problems
Page 313
7.3.4. Transport Layer
Page 314
7.3.5. Application Layer
Page 317
Laboratory Experience 11
Page 321
7.4. Network Services and Benefits
Page 321
Special Interest Box: Spam
Page 322
7.5. A Brief History of the Internet and the World Wide Web
Page 324
7.5.1. The Internet
Page 324
7.5.2. The World Wide Web
Page 328
Special Interest Box: Geography Lesson
Page 328
7.6. Conclusion
Page 330
7.7. Summary of Level 3
Page 330
Exercises
Page 332
Challenge Work
Page 333
For Further Reading
Page 333
Level 4. The Software World
Page 334
Chapter 8. Introduction to High-level Language Programming
Page 337
8.1. Where Do We Stand?
Page 338
8.2. High-level Languages
Page 339
8.3. Introduction to Java
Page 341
8.3.1. A Simple Java Program
Page 342
Special Interest Box: Java Is Born
Page 343
8.3.2. Running a Java Program
Page 345
8.4. Virtual Data Storage
Page 345
Practice Problems
Page 347
8.5. Statement Types
Page 348
8.5.1. Input Statements
Page 349
Special Interest Box: The Console Class
Page 349
Practice Problem
Page 351
8.5.2. Output Statements
Page 351
Practice Problems
Page 352
8.5.3. The Assignment Statement
Page 353
Practice Problems
Page 356
8.5.4. Control Statements
Page 356
Practice Problems
Page 366
8.5.5. Another Example
Page 368
Practice Problems
Page 370
Laboratory Experience 12
Page 371
8.6. Meeting Expectations
Page 371
8.7. Managing Complexity
Page 375
8.7.1. Divide and Conquer
Page 375
Special Interest Box: Which Java?
Page 375
8.7.2. Using Methods
Page 377
8.7.3. Writing Methods
Page 380
Practice Problems
Page 384
Laboratory Experience 13
Page 386
8.8. Object-Oriented Programming
Page 386
8.8.1. What Is It?
Page 386
8.8.2. Java and OOP
Page 388
8.8.3. One More Example
Page 393
8.8.4. What Have We Gained?
Page 397
Practice Problems
Page 399
8.9. Graphical Programming
Page 399
8.9.1. Graphics Hardware
Page 400
8.9.2. Graphics Software
Page 402
Practice Problem
Page 411
Laboratory Experience 14
Page 411
8.10. The Big Picture: Software Engineering
Page 412
8.10.1. Scaling Up
Page 412
8.10.2. The Software Life Cycle
Page 414
Special Interest Box: Vital Statistics for Real Code
Page 414
8.10.3. Modern Environments
Page 418
8.11. Conclusion
Page 419
Exercises
Page 420
Challenge Work
Page 423
For Further Reading
Page 424
Chapter 9. The Tower of Babel
Page 425
9.1. Why Babel?
Page 426
9.2. Procedural Languages
Page 427
9.2.1. FORTRAN
Page 428
Special Interest Box: Old Dog, New Tricks #1
Page 430
Practice Problem
Page 430
9.2.2. COBOL
Page 430
Practice Problem
Page 432
9.2.3. C/C++
Page 432
Practice Problems
Page 435
9.2.4. Ada
Page 436
Practice Problem
Page 437
9.2.5. C# and .NET
Page 437
Practice Problem
Page 438
Special Interest Box: Old Dog, New Tricks #2
Page 439
9.3. Special-purpose Languages
Page 439
9.3.1. SQL
Page 439
9.3.2. HTML
Page 440
Laboratory Experience 15
Page 442
Special Interest Box: Beyond HTML
Page 442
9.3.3. JavaScript
Page 443
Practice Problems
Page 445
Special Interest Box: PHP
Page 445
9.4. Alternative Programming Paradigms
Page 446
9.4.1. Functional Programming
Page 446
Practice Problems
Page 451
Special Interest Box: Simplicity Is in the Eye of the Beholder
Page 451
Laboratory Experience 16
Page 452
9.4.2. Logic Programming
Page 452
Practice Problems
Page 457
9.4.3. Parallel Programming
Page 458
Practice Problem
Page 461
9.5. Conclusion
Page 461
Special Interest Box: Parallel Computing with Titanium
Page 461
Exercises
Page 464
Challenge Work
Page 466
For Further Reading
Page 467
Chapter 10. Compilers and Language Translation
Page 469
10.1. Introduction
Page 470
10.2. The Compilation Process
Page 473
10.2.1. Phase I: Lexical Analysis
Page 474
Practice Problems
Page 477
10.2.2. Phase II: Parsing
Page 477
Practice Problems
Page 483
Practice Problems
Page 493
10.2.3. Phase III: Semantics and Code Generation
Page 494
10.2.4. Phase IV: Code Optimization
Page 503
Laboratory Experience 17
Page 503
Practice Problems
Page 503
Special Interest Box: "I Do Not Understand," Said the Machine
Page 508
10.3. Conclusion
Page 509
Exercises
Page 518
Challenge Work
Page 512
For Further Reading
Page 513
Chapter 11. Models of Computation
Page 515
11.1. Introduction
Page 516
11.2. What Is a Model?
Page 516
Practice Problems
Page 518
11.3. A Model of a Computing Agent
Page 518
11.3.1. Properties of a Computing Agent
Page 518
11.3.2. The Turing Machine
Page 519
Special Interest Box: Alan Turing, Brilliant Eccentric
Page 520
Practice Problems
Page 526
11.4. A Model of an Algorithm
Page 527
11.5. Turing Machine Examples
Page 530
11.5.1. A Bit Inverter
Page 530
11.5.2. A Parity Bit Machine
Page 532
11.5.3. Machines for Unary Incrementing
Page 535
11.5.4. A Unary Addition Machine
Page 538
Practice Problems
Page 540
Laboratory Experience 18
Page 540
11.6. The Church–Turing Thesis
Page 540
Special Interest Box: The Turing Award
Page 541
11.7. Unsolvable Problems
Page 543
Special Interest Box: Couldn't Do, Can't Do, Never Will Be Able To...
Page 548
Practice Problems
Page 548
Laboratory Experience 19
Page 548
11.8. Conclusion
Page 549
11.9. Summary of Level 4
Page 549
Exercises
Page 551
Challenge Work
Page 553
For Further Reading
Page 555
Level 5. Applications
Page 556
Chapter 12. Simulation and Modeling
Page 559
12.1. Introduction
Page 560
12.2. Computational Modeling
Page 560
12.2.1. Introduction to Systems and Models
Page 560
12.2.2. Computational Models, Accuracy, and Errors
Page 562
12.2.3. An Example of Model Building
Page 565
Practice Problems
Page 572
Laboratory Experience 20
Page 573
12.3. Running the Model and Visualizing Results
Page 573
12.4. Conclusion
Page 580
Special Interest Box: The Mother of all Computations!
Page 581
Exercises
Page 582
Challenge Work
Page 583
For Further Reading
Page 584
Chapter 13. Electronic Commerce and Information Security
Page 585
13.1. Introduction
Page 586
Special Interest Box: Shopping on the Web
Page 587
13.2. E-commerce
Page 588
13.2.1. The Vision Thing
Page 588
13.2.2. Decisions, Decisions
Page 589
13.2.3. Anatomy of a Transaction
Page 590
Special Interest Box: A Rose by Any Other Name
Page 592
Special Interest Box: Gone Phishin'
Page 595
13.2.4. Designing Your Web Site
Page 595
13.2.5. Behind the Scenes
Page 597
Special Interest Box: The Price of Success
Page 598
Practice Problem
Page 598
13.3. Databases
Page 598
13.3.1. Data Organization
Page 599
13.3.2. Database Management Systems
Page 600
13.3.3. Other Considerations
Page 604
Laboratory Experience 21
Page 605
Practice Problems
Page 606
13.4. Information Security
Page 606
13.4.1. Encryption Overview
Page 607
13.4.2. Simple Encryption Algorithms
Page 608
Practice Problems
Page 610
13.4.3. DES
Page 610
Laboratory Experience 22
Page 611
Special Interest Box: Cracking DES
Page 612
13.4.4. Public-Key Systems
Page 614
Practice Problem
Page 616
13.5. Conclusion
Page 616
Exercises
Page 617
Challenge Work
Page 617
For Further Reading
Page 618
Chapter 14. Artificial Intelligence
Page 619
14.1. Introduction
Page 620
Special Interest Box: To Whom Am I Speaking?
Page 621
14.2. A Division of Labor
Page 621
14.3. Knowledge Representation
Page 624
Practice Problem
Page 627
14.4. Recognition Tasks
Page 627
Special Interest Box: Read Me a Story
Page 632
Laboratory Experience 23
Page 632
Practice Problem
Page 633
14.5. Reasoning Tasks
Page 633
14.5.1. Intelligent Searching
Page 633
14.5.2. Swarm Intelligence
Page 635
Special Interest Box: The Chess Challenge
Page 636
14.5.3. Intelligent Agents
Page 637
Special Interest Box: ANTS in Space!
Page 637
14.5.4. Expert Systems
Page 639
Practice Problems
Page 642
14.6. Robotics
Page 642
14.7. Conclusion
Page 643
14.8. Summary of Level 5
Page 644
Special Interest Box: Shall We Dance?
Page 644
Exercises
Page 645
Challenge Work
Page 646
For Further Reading
Page 649
Level 6. Social Issues in Computing
Page 650
Chapter 15. Making Decisions about Computers, Information, and Society
Page 653
15.1. Introduction
Page 654
15.2. Case Studies
Page 654
15.2.1. Case 1: The Story of MP3 — Compression Codes, Musicians, and Money
Page 654
Practice Problems
Page 660
Special Interest Box: The Sound of Music
Page 661
15.2.2. Case 2: PGP — The U.S. Government vs. Phil Zimmermann
Page 661
15.2.3. Case 3: Hackers — Public Enemies or Gadflies?
Page 665
Practice Problems
Page 666
Special Interest Box: The Cyborg
Page 667
Practice Problems
Page 670
15.2.4. Thinking Straight about Technology and Ethics
Page 670
15.2.5. Case 4: Genetic Information and Medical Research
Page 671
15.3. What We Covered and What We Did Not
Page 675
15.4. Summary of Level 6
Page 676
Exercises
Page 677
For Further Reading
Page 678
Appendix
Page 681
Answers to Practice Problems
Page 683
Index
Page 711

Edition Notes

Includes bibliographical references and index.

Published in
Boston

Classifications

Library of Congress
QA76 .S3596 2007, QA76 .S3596 2007, QA76.73.J38 S36 2007

The Physical Object

Pagination
xxiii, 720 p. :
Number of pages
720

Edition Identifiers

Open Library
OL18288983M
ISBN 10
1418836540
ISBN 13
9781418836542
LCCN
2006285746
OCLC/WorldCat
63818827
LibraryThing
1349519
Goodreads
1786678

Work Identifiers

Work ID
OL1926026W

Community Reviews (0)

No community reviews have been submitted for this work.

Lists

History

Download catalog record: RDF / JSON
January 16, 2026 Edited by Tom Morris Merge works
December 18, 2022 Edited by MARC Bot import existing book
August 16, 2021 Edited by MARC Bot import existing book
May 8, 2021 Edited by ImportBot import existing book
December 9, 2009 Created by WorkBot add works page