Book Cover
Book
Author Dale, Nell (Nell B.)

Title Computer science illuminated / Nell Dale, John Lewis
Edition Second edition
Published Sudbury, Mass. : Jones and Bartlett Publishers, [2004]
©2004

Copies

Location Call no. Vol. Availability
 W'PONDS  004 Dal/Csi 2004  AVAILABLE
 W'PONDS  004 Dal/Csi 2004  Student  AVAILABLE
Description xxvii, 699 pages : color illustrations ; 24 cm + 1 note-taking guide (xxix, 213 pages : illustrations ; 28 cm.)
Series Jones and Bartlett illuminated series
Jones and Bartlett illuminated series.
Contents Machine derived contents note: Laying the Groundwork -- Chapter 1 The Big Picture 3 -- 1.1 Computing Systems 4 -- Layers of a Computing System 4 -- Abstraction 7 -- 1.2 The History of Computing 9 -- A Brief History of Computing Hardware 9 -- A Brief History of Computing Software 17 -- Predictions 23 -- 1.3 Computing as a Tool and a Discipline 24 -- Summary 26 -- Ethical Issues: Microsoft Anti-Trust Case 27 -- Key Terms 28 -- Exercises 28 -- Thought Questions 31 -- The Information Layer -- Chapter 2 Binary Values and Number Systems 33 -- 2.1 Number Categories 34 -- 2.2 Natural Numbers 35 -- Positional Notation 35 -- Binary, Octal, and Hexadecimal 38 -- Arithmetic in Other Bases 39 -- Power of Two Number Systems 40 -- Converting From Base 10 to Other Bases 42 -- Binary Values and Computers 43 -- Summary 45 -- Ethical Issues: The Digital Divide 45 -- Key Terms 46 -- Exercises 46 -- Thought Questions 49 -- The Information Layer -- Chapter 3 Data Representation 51 -- 3.1 Data and Computers 52 -- Analog and Digital Information 53 -- Binary Representations 55 -- 3.2 Representing Numeric Data 57 -- Representing Negative Values 57 -- Representing Real Numbers 61 -- 3.3 Representing Text 63 -- The ASCII Character Set 64 -- The Unicode Character Set 65 -- Text Compression 66 -- 3.4 Representing Audio Information 70 -- Audio Formats 72 -- The MP3 Audio Format 73 -- 3.5 Representing Images and Graphics 73 -- Representing Color 73 -- Digitized Images and Graphics 76 -- Vector Representation of Graphics 77 -- 3.6 Representing Video 78 -- Video Codecs 78 -- Summary 79 -- Ethical Issues: Napster 79 -- Key Terms 80 -- Exercises 81 -- Thought Questions 85 -- The Hardware Layer -- Chapter 4 Gates and Circuits 87 -- 4.1 Computers and Electricity 88 -- 4.2 Gates 90 -- NOT Gate 90 -- AND Gate 92 -- OR Gate 92 -- XOR Gate 93 -- NAND and NOR Gates 94 -- Review of Gate Processing 95 -- Gates with More Inputs 95 -- 4.3 Constructing Gates 96 -- Transistors 96 -- 4.4 Circuits 99 -- Combinational Circuits 99 -- Adders 102 -- Multiplexers 104 -- 4.5 Circuits as Memory 106 -- 4.6 Integrated Circuits 107 -- 4.7 CPU Chips 108 -- Summary 108 -- Ethical Issues: E-mail Privacy 109 -- Key Terms 110 -- Exercises 110 -- Thought Questions 113 -- The Hardware Layer -- Chapter 5 Computing Components 115 -- 5.1 Individual Computer Components 116 -- 5.2 Stored-Program Concept 119 -- von Neumann Architecture 119 -- The Fetch-Execute Cycle 124 -- RAM and ROM 126 -- Secondary Storage Devices 127 -- 5.3 Non-von Neumann Architectures 131 -- 5.4 Interpreting Ads 133 -- Summary 134 -- Ethical Issues: Facial Recognition/Privacy 135 -- Key Terms 136 -- Exercises 136 -- Thought Questions 139 -- The Programming Layer -- Chapter 6 Problem Solving and Algorithm Design 141 -- 6.1 Problem Solving 142 -- How to Solve Problems 143 -- Computer Problem-Solving 148 -- Following an Algorithm 149 -- Developing an Algorithm 151 -- 6.2 Top-Down Design 151 -- A General Example 153 -- A Computer Example 155 -- Summary of Methodology 160 -- Testing the Algorithm 160 -- 6.3 Object-Oriented Design 162 -- Object Orientation 163 -- Relationships between Classes 163 -- Object-Oriented Design Methodology 164 -- General Example 169 -- Computer Example 171 -- 6.4 Important Threads 176 -- Information Hiding 176 -- Abstraction 177 -- Naming Things 178 -- Programming Languages 179 -- Testing 179 -- Summary 179 -- Ethical Issues: Plagiarism 180 -- Key Terms 181 -- Exercises 182 -- Thought Questions 185 -- The Programming Layer -- Chapter 7 Low-Level Programming Languages 187 -- 7.1 Computer Operations 188 -- 7.2 Levels of Abstraction 189 -- 7.3 Machine Language 189 -- Pep/7: A Virtual Computer 190 -- 7.4 A Program Example 198 -- Problem and Algorithm 198 -- A Program 199 -- An Alternate Program for the Same Algorithm 203 -- An Enhanced Version of "Hello" 204 -- 7.5 Assembly Language 207 -- Pep/7 Assembly Language 207 -- 7.6 Other Important Threads 215 -- Testing 216 -- Summary 218 -- Ethical Issues: Software Piracy, Copyrighting 219 -- Key Terms 220 -- Exercises 220 -- Thought Questions 223 -- The Programming Layer -- Chapter 8 High-Level Programming Languages 225 -- 8.1 Translation Process 226 -- Compilers 226 -- Interpreters 227 -- 8.2 Programming Language Paradigms 228 -- 8.3 Functionality of Imperative Languages 231 -- Boolean Expressions 232 -- Strong Typing 234 -- Input/Output Structures 239 -- Control Structures 240 -- Composite Data Types 257 -- 8.4 Functionality of Object-Oriented Languages 261 -- Encapsulation 261 -- Inheritance 262 -- Polymorphism 262 -- Summary 264 -- Ethical Issues: Hacking 265 -- Key Terms 266 -- Exercises 266 -- Thought Questions 272 -- The Programming Layer -- Chapter 9 Abstract Data Types and Algorithms 275 -- 9.1 Abstract Data Types 276 -- 9.2 Implementation 277 -- Array-Based Implementations 277 -- Linked Implementation 279 -- 9.3 Lists 282 -- Basic List Operations 282 -- Additional List Operations 287 -- 9.4 Sorting 287 -- Selection Sort 288 -- Bubble Sort 290 -- Quicksort 291 -- 9.5 Binary Search 295 -- 9.6 Stacks and Queues 298 -- Stacks 298 -- Queues 300 -- Implementation 300 -- 9.7 Trees 300 -- Binary Trees 302 -- Binary Search Trees 303 -- Other Operations 309 -- Graphs 310 -- 9.8 Programming Libraries 310 -- Summary 311 -- Ethical Issues: Web Content 312 -- Key Terms 313 -- Exercises 313 -- Thought Questions 317 -- The Operating Systems Layer -- Chapter 10 Operating Systems 319 -- 10.1 Roles of an Operating System 320 -- Memory, Process, and CPU Management 322 -- Batch processing 323 -- Timesharing 324 -- Other OS Factors 325 -- 10.2 Memory Management 326 -- Single Contiguous Memory Management 327 -- Partition Memory Management 329 -- Paged Memory Management 331 -- 10.3 Process Management 333 -- The Process States 333 -- The Process Control Block 334 -- 10.4 CPU Scheduling 335 -- First-Come, First-Served 336 -- Shortest Job Next 337 -- Round Robin 337 -- Summary 339 -- Ethical Issues: Privacy Invasion 340 -- Key Terms 341 -- Exercises 342 -- Thought Questions 347 -- The Operating Systems Layer -- Chapter 11 File Systems and Directories 349 -- 11.1 File Systems 350 -- Text and Binary Files 351 -- File Types 352 -- File Operations 353 -- File Access 354 -- File Protection 356 -- 11.2 Directories 357 -- Directory Trees 357 -- Path Names 359 -- 11.3 Disk Scheduling 363 -- First-Come, First-Hyphen Served Disk Scheduling 364 -- Shortest-Seek-Time-First Disk Scheduling 365 -- SCAN Disk Scheduling 365 -- Summary 366 -- Ethical Issues: Computer Viruses and Denial of Service 367 -- Key Terms 368 -- Exercises 368 -- Thought Questions 371 -- The Applications Layer -- Chapter 12 Information Systems 373 -- 12.1 Managing Information 374 -- 12.2 Spreadsheets 375 -- Spreadsheet Formulas 377 -- Circular References 382 -- Spreadsheet Analysis 382 -- 12.3 Database Management Systems 383 -- The Relational Model 384 -- Relationships 387 -- Structured Query Language 388 -- Database Design 390 -- Summary 392 -- Ethical Issues: Encryption 393 -- Key Terms 394 -- Exercises 394 -- Thought Questions 397 -- The Applications Layer -- Chapter 13 Artificial Intelligence 399 -- 13.1 Thinking Machines 400 -- The Turing Test 401 -- Aspects of AI 403 -- 13.2 Knowledge Representation 403 -- Semantic Networks 404 -- Search Trees 406 -- 13.3 Expert Systems 409 -- 13.4 Neural Networks 412 -- Biological Neural Networks 412 -- Artificial Neural Networks 413 -- 13.5 Natural Language Processing 415 -- Voice Synthesis 416 -- Voice Recognition 417 -- Natural Language Comprehension 418 -- 13.6 Robotics 419 -- The Sense-Plan-Act Paradigm 420 -- Subsumption Architecture 421 -- Physical Components 422 -- Summary 424 -- Ethical Issues: Deep Linking 425 -- Key Terms 426 -- Exercises 426 -- Thought Questions 429 -- The Applications Layer -- Chapter 14 Simulation and Other Applications 431 -- 14.1 What Is Simulation? 432 -- Complex Systems 432 -- Models 433 -- Constructing Models 433 -- Queuing Systems 435 -- Meteorological Models 438 -- Other Models 444 -- Computing Power Necessary 444 -- 14.2 Graphics and Computer-Aided Design (CAD) 445 -- 14.3 Embedded Systems 447 -- Summary 449 -- Ethical Issues: Online Gambling 449 -- Key Terms 450 -- Exercises 451 -- Thought Questions 452 -- The Communications Layer -- Chapter 15 Networks 455 -- 15.1 Networking 456 -- Types of Networks 457 -- Internet Connections 459 -- Packet Switching 462 -- 15.2 Open Systems and Protocols 463 -- Open Systems 463 -- Network Protocols 464 -- Tcp/Ip 465 -- High-Level Protocols 465 -- MIME Types 466 -- Firewalls 467 -- 15.3 Network Addresses 468 -- Domain Name System 469 -- Summary 471 -- Ethical Issues: Cybersquatting 473 -- Key Terms 474 -- Exercises 475 -- Thought Questions 477 -- The Communications Layer -- Chapter 16 The World Wide Web 479 -- 16.1 Spinning the Web 480 -- 16.2 Html 482 -- Basic HTML Formatting 485 -- Images and Links 486 -- 16.3 Interactive Web Pages 487 -- Java Applets 487 -- Java Server Pages 488 -- 16.4 Xml 489 -- Summary 493 -- Ethical Issues: Cookies 495 -- Key Terms 496 -- Exercises 496 -- Thought Questions 498 -- In Conclusion -- Chapter 17 Limitations of Computing 501 -- 17.1 Hardware 502 -- Limits on Arithmetic 502 -- Limits on Communications 509 -- 17.2 Software 510 -- Complexity of Software 511 -- Current Approaches to Software Quality 512 -- Notorious Software Errors 516 -- 17.3 Problems 518 -- Comparing Algorithms 519 -- Turing Machines 525 -- Halting Problem 528 -- Classification of Algorithms 531 -- Summary 532 -- Ethical Issues: Licensing Computer Professionals 533 -- Key Terms 535 -- Exercises 535 -- Thought Questions 538 -- Answers to Selected Exercises 539 -- Glossary 603 -- Endnotes 631 -- Index 639
Notes Accompanied by: Student lecture companion : a note-taking guide to accompany Computer science illuminated
Bibliography Includes bibliographical references (pages 667-674) and index
Subject Computer science.
Author Lewis, John, 1963-
LC no. 2003024734
ISBN 0763707996 Paperback
Other Titles Student lecture companion : a note-taking guide to accompany Computer science illuminated