Chapter Opener Photo

© Artur Debat/Getty Images; © Alan Dyer/Stocktrek Images/Getty Images

INDEX

Biographies, figures, and tables are indicated by “b,” “f,” and “t” following page numbers.

A

  • Abacus, 9, 40

  • Absolute path name, 372

  • Abstract art, 8

  • Abstract data type (ADT), 241, 242

  • Abstract numerals, 12

  • Abstract step, 205

  • Abstraction, 68, 27t, 113, 229230, 229f, 313

    • car engine and, 78, 7f

    • defined, 6

    • subprograms and, 222

  • Access control policy, 509

  • Access time, 137

  • Accumulator, in Pep/9, 154

  • ACM. see Association for Computing Machinery

  • Action-adventure games, 483

  • Action games, 483

  • Action responsibilities, 286

  • Ada (programming language), 10

  • Adams, E. N., 603

  • Adders, 108109

  • Addiction, gaming as, 489490

  • Addition

    • of integers, 302

    • of numbers in other bases, 41

  • Address binding, 337

    • for fixed and dynamic partitions, 340

  • Address of argument, reference parameter and, 268

  • Address resolution, in partition memory management, 340, 340f

  • Addressability, 128

  • Addresses, 15, 336337

  • Addressing mode specifier, in Pep/9, 155

  • Adjacent vertices, 257

  • Adobe Flash, 84

  • ADT. see Abstract data type

  • Advanced Research Projects Agency (ARPA), 18, 462

  • Adware, 288

  • AI. see Artificial intelligence

  • Aibo, demise of, 444

  • AIFF format, 79

  • ALGOL (programming language), 293

  • Algorithmic thinking, 26

  • Algorithms, 27t, 44, 171. See also Boolean expressions; Boolean variables; Responsibility algorithms

    • classification of, 617618

    • comparing, 605612

    • defined, 194

    • development phase, in computer problem-solving process, 196, 196f

    • expressing, 171182

    • nesting in, 310

    • following pseudocode algorithm, 175177

    • pseudocode functionality, 171175

    • recursive, 221228

    • with repetition

      • count-controlled loops, 200201

      • event-controlled loops, 201203

      • square root, 203206

    • searching

      • binary search, 212214

      • sequential search, 208209

      • sequential search in sorted array, 209211

    • with selection, 199200

    • summary of methodology

      • analyzing problem, 197

      • listing main tasks, 197198

      • re-sequence and revise as necessary, 198

      • writing remaining modules, 198

    • testing, 198

    • translating pseudocode algorithm, 180182

    • writing pseudocode algorithm, 177180

  • Allen, Paul, 508

  • Allen, Robert, 602

  • Alliance for Affordable Internet, 539

  • Amazon Web Services, 516

  • Amazon.com, 407

  • AMBER Alert, 254

  • America Online (AOL), 24

  • American Management Association, 273

  • American National Standards Institute (ANSI), 404

  • American Standard Code for Information Interchange (ASCII). see ASCII character set

  • Ampersand (&), in C++, 310

  • Analog data, 5759

  • Analog signal, degradation of, 5859, 59f

  • Analysis, algorithm design and, 197

  • Analysis and specification phase, in computer problem-solving process, 196, 196f

  • Analytical Engine, 9, 10

  • AND Boolean operator, 98, 105, 209, 301

  • AND gate, 9798, 97f

    • combinational circuit and, 104

    • constructing, 103104

    • three-input, 101, 101f

  • Andreesen, Marc, 24

  • Android, 331

  • Angle brackets, HTML tags within, 535

  • Animation, 480482

  • Annals of Mathematics, 248

  • ANSI. see American National Standards Institute

  • Antivirus software, 566567

  • AOL. see America Online

  • APL, 293

  • APNG (Animated Portable Network Graphics), 83

  • Apple Computer, 16, 23, 331, 348, 580

  • Apple I, 17

  • Apple II, 395

  • Apple iPhone. see iPhone

  • Apple Macintosh, 23

  • Applets, 541

  • Application (or user) level, 242

  • Application packages, 22f

  • Application software, 330, 387

  • Application systems, 6

  • Applications layer, in computing system, 5

  • Applications programmers, 21, 22, 2425

  • Arguments, 223, 266

  • Arithmetic, in other bases, 4142

  • Arithmetic, limits on

  • Arithmetic operations

    • integers and, 302

    • spreadsheet formulas and, 392

  • Arithmetic/logic unit (ALU), 129130

  • ARPA. see Advanced Research Projects Agency

  • ARPANET, 18, 514

  • Arrays, 206207

    • algorithm putting values into places in, 207

    • lists vs., 244

    • sequential search in, 209211

    • sorted, 210f

    • with ten numbers, 207f

    • unsorted, 210f

  • Artificial intelligence (AI), 6, 298, 419447

    • branches of, 423

    • computer limitations, 420f

    • defined, 419, 421

    • expert systems, 430432

    • knowledge representation, 423429

    • Lisp and, 20

    • natural language processing, 435440

    • neural networks, 432435

    • robotics, 440445

    • search trees, 427429

    • semantic networks, 425427

    • subsumption architecture, 441443

    • thinking machines, 420423

  • Artificial neural networks, 433435

  • Artists, computer graphics used by, 469

  • ASCII character set, 6970, 70f, 302303, 306, 362

    • output from operand in Pep/9, 159

  • .ASCII pseudo-op, 165

  • Asimov, Isaac, 443f

  • Asking questions strategy, 178

  • Assange, Julian, 577

  • Assemblers, 20, 163, 291

    • directives, 165

  • Assembly language, 19, 163170, 191, 281, 291

    • assembler directives, 165

    • first-generation software, 19, 20f

    • loops in, 170

    • mnemonic letter codes assigned by, 163

    • numeric data, branches, and labels, 166169

    • Pep/9, 164166

    • second-generation software, 20, 21f

    • third-generation software, 2122, 22f

  • Assertions, 299

  • Assignment

    • in pseudocode algorithm, 171172

    • statements, 97

  • Association for Computing Machinery (ACM), 47, 100, 309

    • Code of Ethics, 115

  • Associative property, 107t

  • Asterisk (*)

    • for AND operation, 98

    • in select clause, 404

  • Asynchronous processing, 312313

  • AT&T™, 23

    • nine-hour failure (1990), 602603

  • Atanasoff, John Vincent, 127

  • Atari, 16, 18

  • Atari 2600, 483

  • Atomic data types, 303

  • Atomic Energy Commission, 248

  • Attributes, 536

    • of database objects, 400

    • in discrete-event models, 456457

    • tag attributes, 534535

  • AU format, 79

  • Audio data, 7780

    • audio formats, 79

    • MP3 audio format, 7980

  • Audio formats, 7980

  • Audio signal, sampling, 78, 78f

  • Augusta, Ada (Countess of Loveless), 9, 10, 11, 1415

  • Austin American-Statesman, 146

  • Authentication credentials, 560

  • Automobile diagnostic programs, 330

  • Auxiliary storage devices, 13, 15. See also Secondary storage devices

  • Availability of information, 559

  • Average wait time, in queuing model, 458

  • Axon, 432

B

  • Babbage, Charles, 10, 14

  • Back door, 568

  • Backslash, root of directory system and, 369

  • Backus, John, 248

  • Baldwin, Alec, 572

  • Baldwin, Brooke, 572

  • Bandwidth, 56, 496

  • Barcode, 402, 559

  • Bardeen, John, 13

  • Base

    • of number system, 37

    • transistor, 102

  • Base 10, converting from, to other bases, 37, 4445

  • Base case

    • in recursive algorithm, 221

    • for recursive factorial, 223

  • Base register, 341

  • BASIC, 23, 295

  • Batch jobs, 333

  • Batch processing, 333334, 333f

  • Batey, Mavis, 576b

  • Battery capacity, in laptops, 125

  • Bay, Austin, 146

  • Bell, Genevieve, 170

  • Bell Labs, 102

  • Bemer, Bob, 72

  • Berners-Lee, Tim, 24, 538539b

  • Berry, Clifford, 127

  • Best fit, 341

  • Bi-quinary number representation, 41

  • Big data, 408

  • Big-O analysis

    • common orders of magnitude, 610612, 612f

    • family laundry analogy, 609

    • traveling salesman problem, 618

  • Big-O notation, defined, 607

  • Bill and Melinda Gates Foundation, 508

  • Bina, Eric, 24

  • Binary files, 362363

  • Binary floating-point value, 67

  • Binary numbers, 5, 3841

    • to other bases, 4244, 43t

  • Binary programmable computer, 11

  • Binary representations, 5961

  • Binary search, 212214, 212f

    • average number of comparisons with sequential search and, 213t

  • Binary search trees, 249255

  • Binary system, 5, 38, 56, 58. See also Bit

    • counting in, with octal and decimal equivalents, 43, 43t

    • data, CD player and reading of, 79, 79f

    • rules of binary arithmetic, 4142

  • Binary trees, 247249, 249f

  • Binary values, and number systems, 3549

    • and computers, 4547

    • numbers and computing, 36

    • positional notation, 3647

      • arithmetic in other bases, 4142

      • binary, octal, and hexadecimal, 3841

      • binary values and computers, 4547

      • converting from base 10 to other bases, 4445

      • power-of-2 number systems, 4244

  • Binding of addresses, 337338

  • Biographies

    • Atanasoff, John Vincent, 127b

    • Batey, Mavis, 576b

    • Bemer, Bob, 72b

    • Berners-Lee, Tim, 538539b

    • Boole, George, 95b

    • Bricklin, Daniel, 395396b

    • Dijkstra, Edsger W., 309b

    • Engelbart, Doug, 503b

    • Hoare, Tony, 377378b

    • Hollerith, Herman, 130b

    • Hopper, Grace Murray, 46b

    • Jobs, Steve, 349b

    • Lovelace, Ada (Countess of Lovelace), 1415b

    • Polya, George, 195b

    • Simon, Herbert A., 424b

    • Sutherland, Ivan, 462463b

    • Turing, Alan M., 613614b

    • von Neumann, John, 248b

    • Zuse, Konrad, 181b

  • Bioinformatics, 466

  • Biological neural networks, 432433, 433f

  • Biological neuron, 432

  • Biometrics, 560

  • Bit, 47, 128

  • Bit combinations, 60f

  • Bit-level parallelism, 142

  • Bitcoin, 341, 516

  • Bitmap file, 82

  • Bits, 362

    • binary representations and, 5961

  • Black-box testing, 182, 231

  • Blaster worm, 565

  • Bletchley Girls, 576, 608

  • Block, 136

  • .BLOCK pseudo-op, 165

  • Block record, 516

  • Blockchain, 516517

  • Blogs and blogging, 24, 529

    • presidential elections and, 411

  • Blu-Ray disks, 124, 138

  • Bluetooth, 125, 499

  • Boggs, David, 17

  • Booch, Grady, 286

  • Boole, George, 14, 94, 95b, 107

  • Boolean algebra, 14, 27, 94, 95

    • combinational circuit expressed with use of, 105

    • properties of, 107t

  • Boolean binary search, 213, 213f

  • Boolean expressions, 299301

  • Boolean variables, 303

  • Booting, 330

  • Bottom-up approach, 5

  • Bounded rationality theory, 424

  • Bounded time, 610

  • Bounds register, 341

  • Braces, in Java and C++, 308

  • Brainstorming, 283284

  • Branch instructions, 167

  • Brattain, Walter H., 13

  • Breadth-first search, 261264, 263f, 429, 429f

  • Break-even calculations, spreadsheets and, 398

  • BREQ branch instruction, 167

  • Bricklin, Daniel, 395b

  • BRLT branch instruction, 167, 169

  • Broadband, 501

  • Browsers, 24, 514, 526, 527f

  • Bubble sort algorithm, 218219, 218f

  • Buffer overflow, 568

  • Bugs, 46, 594, 600

    • in government projects, 603604

  • Bullets, 536

  • Bullying, social networking and, 519

  • Bureau of Ordnance Computation Project (Harvard), 46

  • Burning, 134

  • Burroughs Corporation, 16

  • Burroughs, William, 10

  • Bus, 122, 498

  • Bush, George H.W., 127

  • Bush, George W., 86

    • election strategies, 411

  • Business and economic forecasting models, 467

  • Business Software Alliance, 185

  • Byron, Lord George Gordon, 10

  • Byte, 47

  • Bytecode, 293

  • Bytes, 128, 362

C

  • C language, 23, 295

  • C++ language, 23, 295, 301

    • braces in, 308

    • compiling of, 294f

    • if and while statements in, 308

    • input statement in, 307

    • subprogram declaration in, 310

    • uppercase and lowercase used in, 305

    • variable declaration in, 304

  • Cable modems, 500

  • Cache memory, 123, 131

  • CAD. see Computer-aided design

  • Caesar cipher, 569

  • Calling unit, 221, 317

  • Cambridge Analytica, 574

  • Cambridge Mathematical Journal, 95

  • CAN-SPAM Act, 380

  • Cancellation error, 593

  • Capacitive touch screen, 140

  • CAPTCHA, 563564, 564f

  • Car engine, abstraction and, 78, 7f

  • Cardinality constraints, 406

  • Carry-in, 109, 109f

  • Carry-out, 109, 109f

  • Carry value, 108

  • Cartesian product operation, in SQL, 405

  • Cascading Style Sheets (CSS), 532533, 537540

  • Case-sensitive languages, 305

  • Catenary curve, 479

  • CD. see Compact disc

  • Cells, 128

  • Census Bureau, U.S., 130

  • Central Intelligence Agency (CIA), 86

  • Central processing unit (CPU), 5, 131

    • chips, 113

    • scheduling algorithms, 332, 345350

      • first come, first served, 347348

      • nonpreemptive, 346

      • preemptive, 346

      • round robin, 348350

      • shortest job next, 348

  • Ceruzzi, Paul E., 18

  • Change directory, 372

  • Character set, 69, 302303

  • Chat room, 528

  • Chatbot, 423

  • Check bit, 69

  • Check digits, 595596

    • in Universal Product Code, 402

  • Chemistry Markup Language (CML), 546

  • Children, in binary search trees, 247, 249

  • Chip, 112

  • Chrome, 24

  • Church, Alonzo, 615

  • Church-Turing thesis, 615

  • CIA (confidentiality, integrity, and availability) triad, 559, 559f

  • Cinepak, 85

  • Cipher, 569

  • Ciphertext, 569

  • Circuits, 5, 94, 104111, 104113

  • Circular references, 396, 396f

  • Clapper, James, 86

  • Class (implementation phase), 314

  • Class NP problems, 618, 618f

  • Class P, 611, 617

  • Classes, 282, 314316

    • mapping objects into, 291f, 296

    • responsibilities assigned to, 285

  • Clear-box testing, 182, 231

  • Client/server model, 496, 496f

  • Clock, 122

  • Cloud computing, 6, 1819, 515516, 515f

  • Clustering, 528

  • Clusters, 144

  • CML. see Chemistry Markup Language

  • COBOL, 20, 46, 72, 293

  • CODASYL, 72

  • Codd, E. F., 405

  • Code, 191

    • error-correcting, 596

    • errors per lines of, 600

  • Code coverage (clear-box) testing, 182

  • Codec, 84

  • Codes of Ethics, 113

  • Collision detection algorithms, 484

  • Color

    • for data in cells in spreadsheets, 391

    • indexed, 83

    • representing, 8082

  • Color bleeding, 474

  • Color depth, 80

  • Color palette, restricted, 81f

  • Color photoreceptor cone cells, in retina, 80

  • Color space, 80

  • Colossus computer, 11, 11f

  • Column designations, spreadsheet cells, 389

  • Combinational circuits, 104107

  • Combinatorial theory, 195

  • Comment symbol, 304

  • Comments, 165

    • prefacing, 201

  • Commodore, 16

  • Common orders of magnitude, 610612, 612f

  • Communications, 5

    • in computing systems, 4

    • limits on, 595596

      • check digits, 595596

      • error-correcting code, 596

      • error-detecting code, 595

      • parity bits, 595

  • Communications of the ACM (article), 69, 597

  • Community cloud, 516

  • Commutative property, 107t

  • Compact disc (CD), 79, 138139

    • CD-DA, 138

    • CD player, binary data read by, 79, 79f

    • CD-R, 138

    • CD-ROM, 138

    • CD-RW, 138

  • Compaction, 341

  • Compaq, 16, 594

  • Compilation process, 292f

  • Compilers, 21, 292

  • Complement property, 107t

  • Complex objects, modeling, 474480

  • Complex systems, 454

  • Complexity software, 596597

  • Complicated systems, 454

  • Components

    • architecture, 113

    • limits on, 594

  • Composite variables, 206208

  • Compositio Mathematica, 248

  • Compression ratio, 57

  • CompuServe, 83

  • Computational biology, 466467

  • Computational biomodeling, 467

  • Computational genomics, 467

  • Computer Addiction Service, 489

  • Computer-aided design (CAD), 468

  • Computer bugs. see Bugs

  • Computer ethics. see Ethical issues

  • Computer gaming, 482487. See also Games and gaming

  • Computer graphics, 462482

  • Computer hardware. see Hardware

  • Computer History Museum, 19

  • Computer hoaxes and scams, 321322

  • Computer limitations. see Limitations on computing

  • Computer mouse, 23, 503

  • Computer network, defined, 496

  • Computer operations, 152

  • Computer operators, 335

  • Computer problem-solving process, 196197, 196f

  • Computer professionals

  • Computer programming and philosophy, 311

  • Computer science

    • computer graphics applications in, 468

    • curricula for, 100, 113

    • defined, 191

    • as discipline, 26

    • Tenth Strand (Social and Professional Issues), 100

  • Computer security. see Security

  • Computer software. see Software

  • Computer terminals, 21

  • Computers

    • and binary values, 4547

    • data and, 5661

    • and electricity, 94

    • predictions about, 2526

    • virtual, 153159

  • Computers. see Hardware; see Limitations on computing; see Software

  • Computing. See also Limitations on computing

    • components, 121147

    • hardware/software, history of, 918

    • numbers and, 36

    • parallel, 142144

    • predictions related to, 2526

    • prefixes used in, 126

  • Computing Curricula 1991 (ACM report), 100

  • Computing system, 47

    • abstraction, 67

    • big ideas of, 2728

    • defined, 4

    • layers of, 46, 5f

    • predictions about, 2526

    • as tool and discipline, 2628

  • Concept-based searches, 528

  • Concrete step, 205

  • Conditions, 299

  • Confidentiality, 559

    • defined, 558

    • information security, 559

    • medical information and, 352353

  • Containers, 242

  • Context switch, 346

  • Continuous simulation, 455456

  • Control abstraction, 230

  • Control Data, 16

  • Control structures, 230, 307310

    • asynchronous processing, 312313

    • nested logic, 310312

  • Control unit, 130132

  • Conversion algorithm, walk-through of, 176f

  • Conversions

    • from base 10 to other bases, 4445

    • from binary to hexadecimal, 4344

    • in binary with octal and decimal equivalents, 43

    • of decimal numbers to hexadecimals, 45

    • of whole value from base 10 to another base, 6768

  • Cook, Tim, 349

  • Cookies, 530

  • Copy aspect, of spreadsheets, 394

  • Copy of the argument, value parameter and, 268

  • Copyright, open-source software and, 232

  • Cores, 122

  • Corporate responsibility, 574

  • Cost-benefit analysis, spreadsheets and, 398

  • Count-controlled loops, 200201

  • COUNT function, 393, 394f

  • Counterfeit software, 288

  • Counting and writing, 12

  • CPU. see Central processing unit

  • CPWA branch instruction, 167

  • Crackers and hackers, 267

  • Craft, Jon, 172

  • Craigslist, 407

  • CRC cards, 283, 288289

  • Creativity, 27t

  • Credit/debit card thefts, 132

  • Cryptanalysis, 570

  • Cryptocurrency, 341, 516

  • Cryptography, 569572

  • CSP concurrent programming model, 377

  • CSS. see Cascading Style Sheets

  • Customer database table, 401, 401f

  • Customs and Border Protection, U.S., 575

  • Cyber-bullying, 519

  • Cybersecurity, 577

  • Cylinder, 137

D

  • Dahl, Ole-Johan, 458

  • Dale, Nell, 46, 322

  • Data, 56, 210, 387

    • analog and digital, 5759

    • computers and, 5661

    • digitization of, 5759

    • and information, 27t, 56

    • printing in binary search tree, 254255, 255t

  • Data abstraction, 230

  • Data center, 19

  • Data compression, 56

  • Data coverage (black-box) testing, 182

  • Data-level parallelism, 143, 144

  • Data management, 5

  • Data objects, 286

  • Data Processing Management Association, 46

  • Data representations

    • audio data, 7780

      • audio formats, 79

      • MP3 audio format, 7980

    • data and computers, 5661

      • analog and digital data, 5759

      • binary representations, 5961

    • images and graphics

      • digitized, 8283

      • representing color, 8082

      • vector representation of graphics, 8384

    • numeric data

      • negative values, 6165

      • real numbers, 6568

    • text, 6877

      • ASCII character set, 6970

      • text compression, 7177

      • Unicode character set, 7071

    • video, 8485

  • Data structures, 242

  • Data transfer rate (bandwidth), 496

  • Data types, 301304

  • Database content, modifying, 405

  • Database design, 405406

  • Database management systems, 23, 387

  • Databases, 409

    • defined, 399

    • object, 400

    • table made up of records and fields, 400f

  • dBase IV, 23

  • De Morgan’s law, 107

  • Dean, Howard, 411

  • DEC. see Digital Equipment Corporation

  • DECI branch instruction, 167

  • Decimal notation, 67t

  • Decimal number system, 5

    • to other bases, 4445

  • Declarations, 304305

  • Declarative paradigm

  • Decryption, 569

  • Deep Blue computer chess program, 429

  • Deferring details strategy, pseudocode algorithm and, 178

  • Delete statement, in SQL, 405

  • Deletions, spreadsheet formulas and, 393

  • Dell, 16, 594

  • Delta frames, 85

  • Demand paging, 343

  • DeMorgan, Augustus, 14, 107

  • Demultiplexer, 111

  • Dendrites, 432

  • Denial of service, 569

  • Denning, Peter, 26

  • Depth-first search, 259261, 260f, 429, 429f

  • Derived class, 316

  • Dertouzos, Michael, 538539

  • Design skill, 26

  • Desk checking, 180

  • Desktop replacements, 125

  • Diagnostic and Statistical Manual of Mental Disorders (DSM), 490

  • Difference Engine, 14

  • Difference operation, in SQL, 405

  • Digital camera, built-in, for laptop, 125

  • Digital certificate, 571

  • Digital circuits, role of, 111

  • Digital currency, 341

  • Digital data, 5759

  • Digital divide, 30

  • Digital Equipment Corporation (DEC), 19, 395

  • Digital signals, 58

  • Digital signature, 571

  • Digital subscriber line (DSL), 501

  • Digital trail, 408

  • Digital versatile disk (DVD), 138

  • Digital world, 482

  • Digitization of data, 5759

  • Digitized images and graphics, 8283

  • Dijkstra, Edsger W., 307, 309b, 601

  • Direct addressing mode, 155

  • Direct file access, 367

  • Directed graph (digraph), 256, 425

  • Directories, 362, 368373

  • Directory trees, 369371

  • Discipline, 26

  • Discrete-event simulation, 456457

  • Disk drive, 136

  • Disk scheduling, 373378

    • defined, 374

    • first-come, first-served disk scheduling, 375

    • SCAN, 376378

    • shortest-seek-time-first, 375376

  • Disks, varieties of, 136

  • Distributed computers, 144

  • Distributive law, 106

  • Distributive property, 107t

  • Divide and conquer strategy

    • problem solving and, 194

    • quicksort algorithm and, 224

  • Division, of integers, 302

  • DL DVD-R, 138

  • DNS. see Domain name system

  • Document Type Definition (DTD), 544

  • Domain name servers, 514

  • Domain name system (DNS), 511514

  • Domain squatting, 512

  • Donner, Jan Hein, 158

  • “Dot-com” collapse of 2001, 407

  • Double quotes, strings enclosed within, 304

  • Downloads, 502

  • Drivers, 336

  • DSL. see Digital subscriber line

  • DSM. see Diagnostic and Statistical Manual of Mental Disorders

  • DTD. see Document Type Definition

  • Dual-boot system, 330331

  • Dual layer, 138

  • Duchamp, Marcel, 8, 8f

  • Dumb terminal, 335

  • DVD. see Digital versatile disk

  • Dvorak, John C., 26

  • Dynamic-partition technique, 340

  • Dynamic systems, 454

E

  • e-commerce, 388, 407408

  • E-Rate Program, 30

  • E-vote glitch, 138

  • eBay, 407

  • Eckert, J. Presper, 126, 127

  • Eckert-Mauchly Computer Corporation, 46

  • Economist, The, 601

  • Edge, 24

  • EDVAC computer, 11

  • Effective weight, 433, 434

  • 802.11 (wireless networking support) standard, 124

    • versions 802.11ac, 543

  • EIM. see Employee Internet monitoring

  • Einstein, Albert, 83

  • Electrical signal, 102

  • Electricity, 94

  • Electro-mechanical tabulator, 10

  • Electronic commerce (e-commerce), 388, 407408

  • Electronic health records, 352353

  • Electronic signals, 58

  • Electronic spreadsheets, 388

  • Electronic voting system, 138

  • ELEMENT tags, in DTD documents, 544

  • ELIZA, 442

  • Ellis Island website, 388

  • email, 3

    • opt-in or opt-out and marketing, 380

  • Embedded systems, 25, 141142

  • Emergency action notification, 254

  • Emitter, transistor, 102

  • Employee Internet monitoring (EIM), 273

  • Employee record, 208f

  • emWave, 375

  • Encapsulation, 285, 313314

  • Encryption, 569

  • .END pseudo-op, 165

  • Endangered species, managing, 153

  • eNeighbor system, 376

  • Engelbart, Doug, 503b

  • ENIAC machine, 11, 12, 12f, 127

  • Enigma cipher, 576

  • Entities, in discrete-event models, 456

  • Entity-relationship (ER) modeling, 406

  • EPAM, 424

  • Epic Game’s Unreal Script for the Unreal Engine, 486

  • ePolicy Institute, 273

  • Equal sign (=), 392

  • Equal to relational operator, 300t

  • ER diagrams, 406

  • ER modeling. see Entity-relationship modeling

  • Erasing data in file, 366

  • Erosion models, 474

  • Error-correcting code, 596

  • Error-detecting code, 595

  • Errors, 602604

    • in government projects, 603604

    • maintenance project and, 600t

  • Escape character, 72

  • ETA model, 464

  • Ethernet, 17, 505

  • Ethical issues

    • ACM Code of Ethics, 115

    • blogging, 580581

    • computing limitations, 620

    • digital divide, 30

    • effects of social networking, 519

    • FISA Court, 49

    • gambling, 551552

    • gaming as an addiction, 489490

    • HIPAA, 352353

    • hoaxes and scams, 321322

    • IEEE Code of Ethics, 114

    • initial public offerings, 447

    • Internet and politics, 411412

    • Internet gambling, 551552

    • journalism, 580581

    • medical privacy, 352353

    • open-source software, 232233

    • politics, 411412

    • privacy, 146, 352353, 380

    • software piracy, 185

    • spam and email marketing, 380

    • surveillance, 49, 86

    • Therac-25, 620

    • workplace monitoring, 273274

  • Euclid, 39

  • European Space Agency, rocket software error, 604

  • European Union, 380

  • Even parity, 595

  • Event-controlled loops, 201203

  • Event-driven processing, 313

  • Events, in discrete-event models, 456

  • Excited state, neurons in, 432

  • Execution units, 142

  • Expert systems, 423, 430432

  • Exponential time, 610

  • Extensible Markup Language (XML), 544

  • Extensible Stylesheet Language (XSL), 546

  • EZPass, 365

F

  • Facebook, 331, 447, 519, 547, 574

    • initial public offering, 447

    • presidential elections and, 411

    • privacy and, 380

    • protecting information on, 572

  • Factorial time, 611

  • False value, in Boolean data type, 303

  • Family laundry analogy, 609

  • Feigenbaum, E. A., 424

  • Fetch–execute cycle, 134f, 161

    • decoding instruction, 133

    • executing instruction, 133134

    • fetching next instruction, 132133

    • getting data, 133

  • Fiedler, Edna, 160

  • Fields (or attributes), 283, 400

  • Fifth Estate, The (movie), 578

  • Fifth-generation software, 2325

  • Fighting games, 483

  • File access, 366367

  • File extensions, 363364

  • File operations, 365366

  • File protection, 367368

  • File servers, 18, 497

  • File systems, 362368

  • File Transfer Protocol (FTP), 507

  • File types, 363364

  • Filtering, 283, 284, 286

  • Fingerprint analysis, 564565, 565f

  • Firefox, 24, 331, 533f

  • Firewalls, 509510, 509f

  • First Amendment protection of bloggers, 580

  • First-come, first-served (FCFS) scheduling approach, 347348, 375

  • First fit, 341

  • First-generation software, 13

  • First-in, first-out (FIFO) behavior, 243, 244, 457

  • FISA. see Foreign Intelligence Surveillance Act

  • Fixed-partition technique, 340

  • Fixed robots, 440

  • Fixed-sized numbers, 6263

  • Flag character, 7475

  • Flash drives, 139

  • Flash images, 84

  • Flash memory, 139, 139f

  • Flight graph, data for, 258t

  • Floating point, 66, 66t, 67t

  • Floppy disks, 137, 139

  • Flowers, Thomas, 11

  • Fonts, for data cells in spreadsheets, 391

  • Ford Tri-Motor of computers. see IBM 650

  • Forecasting models, 463464

  • Foreign Intelligence Surveillance Act (FISA), 49, 86

    • FISA Amendments Act of 2008, 49

    • FISA Amendments Act Reauthorization Act of 2012, 49

    • FISA Court, 49, 86

  • Formal verification, of program correctness, 600601

  • Formulas, spreadsheets, 391394

  • FORTRAN, 20, 72, 248, 293, 295

  • FORTRANSIT, 72

  • Forward slashes

    • absolute paths in UNIX system and use of, 372

    • comments prefaced with, 201

    • root in UNIX environment designated with, 371

  • Four-level binary search tree, 252f

  • Fourth-generation computer hardware/software, 1617, 23

  • Fractal models, 474

  • Frame, 342

  • Franksten, Bob, 395

  • Free Software Foundation, 232233

  • From clause, 404

  • Front-side bus (FSB), 122123

  • FSB. see Front-side bus

  • FTP. see File Transfer Protocol

  • Full adder, 109, 109f

  • Functional model, 296297

G

H

I

  • IBM

    • cards, 13

    • Deep Blue, 158

    • founding of, 11, 130

    • IBM 370/168, 16, 404, 594

    • IBM Automatic Sequence Controlled Calculator, 11

    • Journal of Research and Development, 603

    • PC, 16, 395

  • IBM 650, 41, 69

  • ICANN, 513, 514

  • ICs. see Integrated circuits

  • ICT Development Index (IDI), 30

  • Identifiers, 230, 315

    • in assembly language, 301

    • uppercase and lowercase used in, 305

  • Identity property, 107t

  • Identity theft, 321

  • IDI. see ICT Development Index

  • IE. see Internet Explorer

  • IEEE. see Institute of Electrical and Electronics Engineers

  • IF function, in spreadsheets, 394f

  • If statement, 308

  • If-then-else statement, 181

  • Ifrah, Georges, 37

  • Illumination model, 473

  • IM. see Instant messaging

  • iMac, 349

  • Images/graphics, 527

    • digitized, 8283

    • representing color, 8082

    • vector representation of graphics, 8384

  • Imitation Game, The (movie), 11

  • Immediate addressing mode, 155

  • Immigration database, 388

  • Imperative paradigm

  • Implementation level, 242

    • in computer problem-solving process, 196, 196f

  • Inclusive OR gate, 99

  • Indention, in Python, 308

  • Indexed color, 83

  • Indexing techniques, search engines and, 528

  • Inference engine, 430

  • Infinite loop, 201

  • Infinite recursion, 223

  • Informatics, 26

  • Information, 5, 56, 388

  • Information Age, 30

  • Information hiding, 8, 228229, 313

  • Information layer, 5

  • Information management, 388389

  • Information security, 558560

  • Information Superhighway, 18

  • Information systems, 5, 387412

    • and big data, 409

  • Infrared touch screen, 141

  • Inheritance, 316317

  • Inhibited state, neuron in, 432

  • Initial public offerings, 447

  • Input devices, 13

  • Input, in pseudocode algorithm, 172

  • Input statements, in four languages, 307

  • Input stream, 306

  • Input unit, 130

  • Input/output devices, 15, 130

  • Insertion sort algorithm, 220, 220f

    • insert statement, in SQL, 405

  • Insertions, spreadsheet formulas and, 393

  • Inspection, 599

  • Instagram, 519

  • Instance, 282

  • Instance-of relationships, 425

  • Instant messaging (IM), 528529

  • Instantiation, 315, 425

  • Institute of Electrical and Electronics Engineers (IEEE), 124

    • Codes of Ethics, 114

  • Instruction-level parallelism, 142, 144

  • Instruction register (IR), 131

    • in Pep/9, 154

    • simulation program, 161

  • Instruction specifier, in Pep/9, 155

  • Integers, 36, 302

    • limits on, 588589

    • sorted list of, 246f

    • unsorted list of, 245f

  • Integrated circuits (ICs), 15, 112

  • Integrity, 559

  • Intel, 15, 170

  • Intelligent browsers, 26

  • Interactive systems, 454

  • Interactive web pages, 541543

  • International Species Inventory System (ISIS), 153

  • Internet, 6, 18, 27t, 396, 506. See also Web (World Wide Web)

    • access, 30

    • connections, 500502

    • control of, 514515

    • digital divide and, 30

    • lending clubs, 260

    • privacy issues, 380

    • shopping, 407408

    • spying, 86

    • stock sales, 447

    • surveillance on, 86

  • Internet backbone, 500

  • Internet Explorer (IE), 24

  • Internet gambling, 551552

    • software piracy and copyrighting, 185

  • Internet gaming disorder, 490

  • Internet Protocol (IP), 506

  • Internet service providers (ISPs), 500, 514515, 526

    • privacy and spam, 380

  • Internetworking, 498

  • Interoperability, 504

  • Interpreters, 292294

  • Intersection operation, in SQL, 405

  • Intractable problems, 617

  • Inventory control systems, 330

  • Inversion bubble, 97

  • Inverter, 96

  • Investigation of the Laws of Thought; on Which Are Founded the Mathematical Theories of Logic and Probabilities, An (book), 95

  • iOS mobile operating system, 331

  • IP. see Internet Protocol

  • iPad, 331

  • iPhone, 331, 331f, 565, 574

  • iPod, 348

  • iPod Touch, 331

  • IR. see Instruction register

  • ISBLANK function, in spreadsheets, 394f

  • ISIS. see International Species Inventory System

  • ISPs. see Internet service providers

  • Item number, in Universal Product Code, 402

J

  • Jacquard, Joseph, 9

  • Jacquard’s loom, 9

  • Java, 24, 293, 296, 301

    • asynchronous processing in, 313

    • braces in, 308

    • class concept and, 313

    • if and while statements in, 308

    • input statement in, 307

    • variable declaration in, 304

  • Java applets, 541542

  • Java Bytecode, 542

  • .java extension, 364, 364f

  • Java Model Railroad Interface, 233

  • Java program compiled into, and run on different systems, 294f

  • Java Server Pages (JSPs), 542543

    • scriptlets, 542

  • Java Virtual Machine (JVM), 293

  • JavaScript, in game development, 486

  • Job, 333

  • Jobs, Steve, 16, 349b

  • Journalism protection of bloggers, 580

  • JPEG format, 82, 83, 363

  • JSPs. see Java Server Pages

  • JVM. see Java Virtual Machine

K

  • Kasparov, Garry, 429

  • Katzer, Matthew, 233

  • Kennedy–Nixon debate, 427

  • Kerry–Bush election, 138

  • Key fields, 400

  • Keyboard, 16

  • Keyframe, 85

  • Keyword encoding, 7174

  • Keyword stuffing, 528

  • Keywords, 549

  • Knowledge-based system, 430

  • Knowledge representation, 423429

  • Knowledge responsibilities, 285

  • Knox, Dilly, 576

  • Kuhn, Thomas, 295

L

  • Labels, 168

  • Lambda calculus, 615

  • Landscape, computer-generated, 475f

  • LANs. see Local-area networks

  • Laptop computers

    • hard disks, 137

    • translating advertisement for, 122126

  • Lardner, Dionysius, 14

  • Large-scale integration, 16, 112t

  • Last-in, first-out (LIFO), 242, 243

  • Latency, 137, 374, 500

  • Latin-1 Extended ASCII character set, 69

  • Leaf node, 249

  • LED. see Light-emitting diode

  • Lee, J. A. N., 594

  • Left child, in binary trees, 247

  • LEFT function, in spreadsheets, 394f

  • Leibniz machine, 9

  • Lending clubs, 260

  • Less than or equal to relational operator, 300t

  • Less than relational operator, 300t

  • Leveson, Nancy, 597

  • Lexical ambiguity, 439

  • Library class, 288289

  • Licensing, of computer professionals, 180

  • Life-simulation games, 483

  • Light

  • Light-emitting diode (LED), 123

  • Lightweight laptops, 125

  • Like operation, in SQL, 405

  • Limitations on computing, 6, 587620

  • Limits of Computing, The (book), 588, 603

  • Lincoln, Abraham, 427

  • Linear accelerators, 620

  • Linear time, 610

  • Lines, 362

  • Linked structure, 245

  • LinkedIn, 519

  • Linkers, 21

  • Links, 250, 526

  • Linux, 5, 185, 233, 331, 601

  • Lisp language, 20, 293, 296, 298, 431

  • List data structure and subprograms, in object-oriented design, 318319

  • Lists, 244247, 258

  • Lively (monitoring product), 393

  • Lives-in relationships, 425

  • Loaders, 21, 161

  • Local-area networks (LANs), 18, 497, 498f

  • Loebner, Hugh, 422

  • Loebner prize, 423

  • Logarithmic time, 610

  • Logic bomb, 566

  • Logic diagram, 94

    • of circuit, 104

  • Logic gates, 96

  • Logic programming, 297298

  • Logic Theorist, 424

  • Logical address, 337, 338339

    • binding of, to physical address, 339f

    • invalid, 343

    • in paged memory management system, 343

  • Logical (or abstract) level, 242

  • Login process, 335

  • LOOK disk scheduling, 378

  • Loop control variable, 200

  • Looping, 298

    • selection statements nested within structures of, 310

  • Loops

    • count-controlled, 200201

    • event-controlled, 201203

    • halting problem and, 615617

    • history behind, 10

    • infinite, 201

    • pretest, 201

    • program with, 170

  • Lorenz cipher, 576

  • Lossless compression, 57

  • Lossy compression, 57

  • Lotus, 23

  • Lotus 1-2-3, 395

  • Lovelace, Ada (Countess of Lovelace), 9

M

N

  • N log2 N time, 610

  • Name class, in responsibility algorithm, 290291

  • Naming things, 230231

  • NAND gate, 99100, 99f

    • memory circuits and, 111

    • SSI chip containing, 112f

    • transistors and, 103, 103f

  • Nanoscience, 96

  • Nanoseconds, 125

  • Nanotube transistors, 16

  • NASA twin robot launch, 444

  • National Medal of Technology, 127

  • National Oceanic and Atmospheric Administration (NOAA), 464

  • National Security Agency (NSA), 49, 86, 140, 462, 514

  • National Weather Service, 465

  • Natural join operation, in SQL, 405

  • Natural language comprehension, 435, 436, 439440

  • Natural language processing, 435440

  • Natural number, 36

  • NCR, 16

  • Negative number, 36

  • Negative values, 6165

    • fixed-sized numbers, 6263

    • number overflow, 65

    • signed-magnitude representation, 6162

    • two’s complement, 6465

  • Negroponte, Nicholas, 30

  • Neiman Marcus (retailer), 146

  • Nested directories, 369

  • Nested Grid model (NGM), 464

  • Nested logic, 310312

  • Nested structure, 203

  • Netscape Navigator, 24, 331

  • Netware (Novell), 18

  • Network addresses, 510511

  • Network neutrality, 515

  • Network protocols, 505506, 505f

  • Networked workstations, 16

  • Networking, 1718. See also Social networks

    • over social media, 519

  • Networks, 6, 336, 495518. See also Social networking

    • types of, 498f

  • Neural networks, 432435

  • Neurons, 432

  • New state, 344

  • Newell, Allen, 424

  • Newman, Max, 614

  • Newspapers, 529

  • NeXT, 349

  • NGM. see Nested Grid model

  • Nigerian check scams, 160

  • Nike sensor, 348

  • Nim, search trees for simplified version of, 427428, 428f

  • Nintendo, 483, 487

  • Nixon–Kennedy debate, 427

  • NOAA. see National Oceanic and Atmospheric Administration

  • Nodes, 245, 496

  • Nonpreemptive scheduling, 346

  • NOR gates, 99100

  • Norton, 567

  • Norwegian Computing Center, 458

  • NOT Boolean operator, 107, 209, 301

  • Not equal to relational operator, 300t

  • NOT expression, 97

  • NOT gates, 9697, 96f, 100

  • Notes on Structured Programming (article), 307

  • Nouns, in object-oriented design, 286

  • NP-complete problems, 618

  • NSA. see National Security Agency

  • Nude Descending a Staircase (painting), 8f

  • Numbers. See also specific entries

    • and binary values, 3549

      • numbers and computing, 36

      • positional notation, 3647

    • categories of, 36

    • and computing, 36

    • overflow, 65

  • Numeric data, 6168

    • negative values, 6165

      • fixed-sized numbers, 6263

      • number overflow, 65

      • signed-magnitude representation, 6162

      • two’s complement, 6465

    • real numbers, 6568

  • Numeric values, 61

  • Nygaard, Kristen, 458

O

  • Obama, Barack

    • Internet election strategy of, 411412

    • on NSA eavesdropping, 86

  • Object class, 282, 314

  • Object orientation, 282283

  • Object-oriented design, 24, 198, 224, 282, 290

    • nouns in, 286

    • procedural design compared with, 318319

    • top-down design vs., 282

  • Object-oriented languages

  • Object-oriented methodology, 282291

    • design methodology, 283286

    • example

      • brainstorming and filtering, 286289

      • problem statement, 286

      • responsibility algorithms, 289291

    • filtering, 286

    • object orientation, 282283

  • Object-oriented paradigm, 295296

  • Objects, 282

    • being served, in queuing model, 458

    • as implementation phase, 314

    • matter shaped by, 472

    • shadows and, 471

  • Octal number, 3841

  • Odd parity, 595

  • Office suites, 24

  • Offset value, 343

  • OLPC computers. see One Laptop per Child computers

  • Olsen, Ken, 25

  • 1-bit binary adder, 11

  • One Laptop per Child (OLPC) program, 30

  • One-to-many relationship, 406

  • One-to-one relationship, 406

  • Online blogging, 24

  • Online gambling, 551552

  • Online transactions, future of, 516

  • Open Handset Alliance, 331

  • Open Source Hardware Bank, 247

  • Open-source software, 185, 232233, 601602

  • Open systems, 504

  • Open Systems Interconnection (OSI) Reference Model, 504, 505f

  • Operand specifier, in Pep/9, 155

  • Operating system(s), 5, 21, 329353

    • batch processing, 333334

    • in computing system, 5

    • CPU scheduling and, 345350

    • defined, 332

    • factors related to, 335336

    • first-come, first-served and, 347348

    • interactions of, 330f

    • main memory and, 336, 337, 338f

    • memory management and, 336

    • memory, process, and CPU management, 332333

    • path names and, 371373

    • process control block, 345346

    • process states, 344345

    • round robin CPU scheduling and, 356358

    • roles of, 330336, 330f

    • secondary memory tracked by, 365

    • timesharing, 334335

  • Operation codes (opcodes), in Pep/9, 155

  • Operator, 333, 333f, 335

  • Opt-in and opt-out, 380

  • OR Boolean operator, 106, 209, 301

  • OR gate, 98, 98f, 100

    • combinational circuit and, 104

  • Order of magnitude, 607610

  • Orzack, Maressa Hecht, 489

  • OS. see Operating system(s)

  • OSI Reference Model. see Open Systems Interconnection Reference Model

  • Output devices, 13

  • Output, in pseudocode algorithm, 172

  • Output statements, 306

  • Output unit, 130

  • Overflow, 65, 593

  • Owner permissions, in UNIX operating system, 367

P

  • p-code, 293

  • P2P model. see Peer-to-peer model

  • Pacific Marine Environmental Laboratory, 464

  • Packet switching, 18, 502504

  • Packets, 502

  • Page-map table (PMT), 342

  • Page number value, 343

  • Page swap, 343

  • Paged memory management, 338, 341344

  • Paged memory technique, 342, 342f

  • Paging, memory management with, 343

  • Paint programs, 469

  • Pandora, 177

  • Paradigms

  • Parallel architectures, 17, 142145

    • classes of parallel hardware, 144145

    • parallel computing, 142144

  • Parallel computing, 17, 142144

  • Parallel hardware, classes of, 144145

  • Parameters, 266267

    • lists, 266

    • passing by reference, 268

    • passing by value, 268

    • positional, 267

  • Parent directory, 369

  • Parentheses, objects within, 298

  • Pareto’s law, 456

  • Parity bits, 595

  • Partition memory management, 339341

    • address resolution in, 340, 340f

  • Partition selection, approaches to, 341

  • Partition table, 341

  • Pascal, Blaise, 9

  • Pascal language, 23, 293, 295

  • Passwords, 561563

    • guessing, 567

    • management software, 563

  • Path, 257

  • Path names, 371373

  • Paul, Ron, 411

  • PayPal, 260, 407

  • PC-DOS, 23

  • PC Magazine, 26

  • PCB. see Process control block

  • PCM. see Pulse-code modulation

  • PCs. see Personal computers

  • Peer-to-peer (P2P) model, 288, 497

  • Pentium chip, 594

  • Pep/9 (virtual computer), 153159

    • architecture, 154f

    • assembly, 164166

      • program with a loop, 170

    • basic features of, 153155

    • immediate addressing mode and direct addressing mode, 155, 156f

    • important features reflected in, 153

    • instruction format, 155, 155f

    • instruction of Stop in, 302

    • limits on, 588

    • sample instructions, 156159

      • add operand to A register, 158

      • load byte into A register, 157

      • load word into A register, 156157

      • stop execution, 156

      • store byte from A register, 158

      • store word from A register, 158

      • subtract operand from A register, 159

    • simulator, 160162

    • subset of instructions, 156f

  • Period, statements of fact ended with, 298

  • Peripheral devices, 13

  • Perlis, Alan, 133

  • Person class, in responsibility algorithm, 289

  • Personal computers (PCs), 16, 335

  • Personal identification number (PIN), 132, 560

  • Personal privacy, 146

  • Philosophy and computer programming, 311

  • Phishing, 567568

  • Phone-answering competition, 79

  • Phone data, 86

  • Phone modems, 500501

  • Phonemes, 437, 437f

  • Photographs, 82, 82f

  • Physical address, 337, 337f

    • logical address bound to, 340, 340f

    • producing, 341

  • Physics engine, 484

  • PI function, in spreadsheets, 394f

  • Picoseconds, 125

  • Picture elements. see Pixels

  • Piggybacking, 218

  • PIN. see Personal identification number

  • Ping, 506

  • Pipeline, processors in, 143f

  • Pipelining technique, 131

  • Pirated software, 185, 208, 288, 317

  • Pixar, 349

  • Pixels, 82, 468, 473

  • Plankalkul (Plan Calculus), 181

  • Planning systems, robotics and, 441

  • Plato, 224

  • Platters, 137

  • Playstation, 487

  • PMT. see Page-map table

  • PNG. see Portable Network Graphics

  • Point-and-click, 23

  • Polya, George, 192, 193, 195b, 198

  • Polya’s list, 192f, 193

  • Polymorphism, 317318

  • Polynomial-time algorithms, 611

  • Polynomials, 37

  • Pong, 483

  • Popping items, off stack, 243

  • Popular Mechanics, 25

  • Portability, standardized languages vs. interpretation by Bytecode, 294f

  • Portable devices, security of, 574575

  • Portable Network Graphics (PNG), 83

  • Ports, 125, 508

  • Positional notation, 3647

    • arithmetic in other bases, 4142

    • binary, octal, and hexadecimal, 3841

    • binary values and computers, 4547

    • converting from base 10 to other bases, 4445

    • power-of-2 number systems, 4244

  • Pound sign (#), at beginning of comment in Python, 304305

  • Power of 2 number systems, 4243

  • Pratt, Terry, 293

  • Precision, 590

  • Preemptive scheduling, 345

  • Prefixes, used in computing, 126

  • Prentice Hall, 25

  • Presidential campaigns

    • electronic voting in, 138

    • Internet and, 411412

    • social networking and, 411412

  • Pretest loop, 201

  • Preventive maintenance, 594

  • Prime number, largest, 39

  • Princeton Ocean Model, 465

  • Printing, data in binary search tree, 254255, 255t

  • Priority queue, 265, 460

  • Privacy, 146

    • electronic health records, 352353

    • expense of, 591

    • workplace, 273274

  • Private cloud, 516

  • Private fields, in class, 316

  • Probabilistic models, 475476

  • Problem solving, 5, 192199

    • algorithms, 194

    • computer problem-solving process, 196

    • divide and conquer, 194

    • look for familiar things, 193

    • questions to ask, 193

    • summary of methodology, 196198

      • analyzing problem, 197

      • list main tasks, 197198

      • re-sequence and revise as necessary, 198

      • write remaining modules, 198

    • testing algorithm, 198

  • Problems

    • equally valid solutions to, 605, 605f

    • halting problem, 615617

  • Procedural abstraction, 230

  • Procedural design, object-oriented design compared with, 318319

  • Procedural programming, 295

  • Process, 332

  • Process control block (PCB), 345

  • Process life cycle, 344f

  • Process management, 332

  • Process states, 344345

  • Processing algorithms with arrays, 207

  • Processors, 122

  • Program counter (PC), 131, 132

    • in Pep/9, 154

    • simulation program, 161

  • Programming, 3, 27t

    • in computing system, 5

    • game, 486487

    • layer, 5

    • object-oriented, 24

    • skill, 26

    • structured, 24, 307, 309

  • Programming language paradigms

    • declarative paradigm, 296298

    • imperative paradigm, 295296

  • Programming Research Group, 377

  • Project operation, in SQL, 405

  • PROLOG (logic programming language), 297, 298

  • Proprietary systems, 504

  • Protein structure prediction, 467

  • Protocols, 496

  • Pseudo-operations, 165

  • Pseudocode, 171, 191, 281

  • Psychoacoustics, 79

  • Public cloud, 516

  • Public fields, 316

  • Public-key cryptography, 571

  • Pulse-code modulation (PCM), 58

  • Punched cards, 9, 10

  • Purdue University, 28

  • Pushing items, onto stack, 243

  • Python, 296

    • if and while statements in, 308

    • input statement in, 307

    • reserved words in, 305

    • variable declaration and, 304

Q

R

  • Race condition, 620

  • Radiation overdoses, 620

  • Radio-frequency identification technology, 365, 372

  • Radiosity, 474

  • Radix point, 66, 589

  • Rag-doll physics, 484

  • Random access memory (RAM), 123, 134. See also see Main memory

  • Random-number generator, 460

  • Range of cells, spreadsheet, 393

  • Raster-graphics format, 82

  • Rational number, 36

  • Ray tracing, 473

  • Read-only memory (ROM), 134, 330

  • Read/write head, in disk drive, 135, 136

  • Ready state, 345

  • Real data type, 302

  • Real numbers

  • Real-time system, 336

  • Real Video, 85

  • Reclock, 58

  • Record(s) (or object or entity), 207208, 362, 400

  • Recurrence coding. see Run-length encoding

  • Recursion, 221

  • Recursive algorithms

    • quicksort, 224228

    • recursive binary search, 224

    • recursive factorial, 223

    • subprogram statements, 221222

  • Recursive binary search, 224

  • Recursive call, 221

  • Recursive definition, 249

  • Recursive factorial, 223

  • Red Hat (Linux), 233

  • Reduced-instruction-set computer (RISC) architecture, 1617

  • Reference Model, 504

  • Reference parameters, 268271

    • value parameters vs., 269f

  • Referential ambiguity, 440

  • Reflections, 473

  • Register, 129

  • Relational model, 399403

  • Relational operators, 300, 300t

  • Relative path name, 372

  • Relays, 11

  • Relocatable models, 464

  • Remington Rand, 16

  • “Renaming the file,” 367

  • Rendering, 473

    • for graphics, 484

  • Rents database table, 403f

  • Repeaters, 504

  • Repetition construct, in pseudocode algorithm, 173175

  • Representation skill, 26

  • Representational error, 592

  • Reserved words, 304, 305

  • Resistive touch screen, 140

  • Resolution, 82

  • Response time, 336

  • Responsibility algorithms, 283, 285286, 289291

  • Reuse, 318

    • inheritance and, 317

  • Revolutions per minute (RPM), 124, 137

  • Rewritable DVD, 124

  • RFID tags, 365, 372

  • RGB values, 80

  • Right child, in binary trees, 247

  • Ring topology, 497

  • RISC architecture. see Reduced-instruction-set computer architecture

  • Risk analysis, 560

  • Robotic whiskers, 441

  • Robotics, 423, 440445, 470

    • Asimov’s laws of, 443f

    • hybrid deliberative/reactive, 443

    • mobile, 440

    • new control paradigm, 443f

    • physical components, 443445

    • sense-plan-act paradigm, 441

    • subsumption architecture, 441443

    • topological maps and, 443

  • Robots, 441, 444

    • Aibo, 444

    • fixed, 440

    • mobile, 440

    • physical components of, 443445

    • Sojourner rover, 444

    • twin, NASA launch of, 444

  • Role-playing games, 483

  • ROM. see Read-only memory

  • Room to Read, 23

  • Root, in binary tree, 247, 250

  • Root directory, 369

  • Rosetta stone, 198

  • Ross, Blake, 331

  • Rotation delay, 137

  • Round-off error, 592

  • Round robin scheduling, 348350

  • Route cipher, 570

  • Routers, 502, 504

  • Row designations, spreadsheet cells, 389

  • RPM. see Revolutions per minute

  • Rule-based system, 430

  • Run-length encoding, 7475

  • Running state, 345

S

  • S-R latch, 111, 111f

  • Safari browser, 24

  • Sales estimates, spreadsheets and, 398

  • Sampling, 78, 78f

  • SARS. see Severe acute respiratory syndrome

  • Savage Beast Technologies, 172

  • SAW touch screen. see Surface acoustic wave touch screen

  • Scalable Vector Graphics (SVG), 84

  • Scams, 321322

  • SCAN disk scheduling, 376378

  • Scanbuy Shopper, 559

  • Scanner fraud, 402

  • Scenarios, 283, 284285

  • Scheduling algorithms, evaluating, 345

  • Schema, 399, 401

  • Scheme language, 20, 296

  • Scientific disciplines, 27

  • Scientific notation, 68

  • Scientific visualization systems, 470

  • Scriptlets, 542

  • Sculley, John, 349

  • SDRAM. see Synchronous, dynamic RAM

  • Search engines, 527528

  • Search for Extraterrestrial Intelligence (SETI), 500501

  • Search trees, 427429

    • defined, 427

    • for simplified version of Nim, 427428, 428f

  • Searching algorithms with arrays, 207

  • Second-generation computers

    • hardware, 13

    • software, 2021

  • Secondary memory, operating system and tracking of, 365

  • Secondary storage devices, 135139

  • Secondhand shopping, 407

  • Sectors, 136

  • Securities and Exchange Commission, U.S., 447

  • Security, 557581

    • antivirus software, 566567

    • attacks, 567569

    • authentication credentials, 560

    • back door, 568

    • biometrics, 560

    • Blaster worm, 565

    • buffer overflow, 568

    • CAPTCHA, 563564, 564f

    • ciphers, 569

    • corporate responsibility, 574

    • cryptanalysis, 570

    • cryptography, 569572

    • decryption, 569

    • denial of service, 569

    • digital certificate, 571

    • digital signature, 571

    • e-commerce and, 408

    • encryption, 569

    • ethical issues associated with blogging, 580581

    • fingerprint analysis, 564565, 565f

    • information security, 558560

    • malicious code, 565566

    • man-in-the-middle, 569

    • password management software, 563

    • passwords, 561563

    • phishing, 567568

    • policy, 573

    • portable devices and, 574575

    • protecting online information, 572573

    • public-key cryptography, 571

    • smart cards, 560

    • spoofing, 568

    • unauthorized access, 560565

    • user authentication, 560

    • viruses, 566

    • WikiLeaks, 575578

  • Seek time, 137, 374

  • SEI Software Engineering Process Group, 599

  • Seismic models, 467

  • Select clause, 404405

  • Select operation, in SQL, 405

  • Select signals (select control lines), 110

  • Select statements, 405

  • Selection construct, 173

  • Selection sort, 215217

    • example of, 216f

  • Selection statements, 298299, 310

  • Self-auditing, 517

  • Semantic networks, 425427, 426f

  • Semicolons

    • in Pep/9, 201

    • statements ended with, 304

  • Semiconductor, 102

  • Sense-plan-act paradigm, 441f

  • Sequential circuit, 104

  • Sequential file access, 366

  • Sequential search, 208209

    • average number of comparisons with binary search and, 213t

    • in sorted array, 209211

  • Server, in queuing model, 458. See also Web servers

  • SETI. see Search for Extraterrestrial Intelligence

  • SETI@Home, 500501

  • Severe acute respiratory syndrome (SARS), 352

  • SGML. see Standard Generalized Markup Language

  • Shading model, 473

  • Shadows, 471472

  • Shannon, Claude E., 11

  • Shared memory, 124

    • parallel processor, 144, 144f

  • Shaw, J. C., 424

  • Shi Tao, 575

  • Shockley, William B., 13

  • Shortest job next, 348

  • Shortest-seek-time-first disk scheduling, 375376

  • Siemens, 181

  • Signature detection software, 567

  • Signed-magnitude representation, 6162

  • Significant digits, 590

  • Silicon and silicon chips, 16, 112

  • Silicon Valley, 19

  • Simon, Herbert A., 424b

  • Simple data types, 303

  • Simple Mail Transfer Protocol (SMTP), 507

  • Simple variables, algorithms with

  • SIMULA programming language, 72, 296, 458

  • Simulated worlds, 482

  • Simulation, 5, 453

    • complex systems, 454

    • continuous simulation, 455456

    • defined, 454

    • discrete-event, 456457

  • Simulation models, 455

    • business and economic forecasting models, 467

    • computational biology, 466467

    • computing power necessary for, 467468

    • forecasting models, 463464

    • hurricane tracking, 464466

    • meteorological models, 461466, 461f

    • queuing systems, 457460

    • seismic models, 467

    • weather models, 465f

  • Simulators, 293

  • SIN function, in spreadsheets, 394f

  • Single contiguous memory management, 338339

  • Single-instruction, multiple-data-stream (SIMD) computers, 17

  • Single instructions, multiple data (SIMD) parallelism, 143

  • Single quotes, characters enclosed within, 304

  • Single-source shortest-path search, 264265

  • Six degrees of separation, 548

  • Size factor, 223

  • Sketchpad, 462463

  • Slate Corporation, 396

  • Small-scale integration circuit, 112f, 112t

  • Small world phenomenon, 548

  • Smalltalk, 296

  • Smart cards, 560

  • Smartphones, 30, 331

  • SMPs. see Symmetric multiprocessors

  • SMTP. see Simple Mail Transfer Protocol

  • SNOBOL4, 293

  • Snowden, Edward, 49, 86, 146

  • Social networking, 24

    • analysis, 250

    • benefits vs. costs of, 519

    • defined, 519

    • ethical issues, 519

    • evolution, 547548

    • security policy, 573

  • Software, 3, 4, 5, 329

    • categories of, 330

    • complexity of, 596597

    • fifth generation, 2325

    • first-generation, 1920

    • fourth generation, 23

    • laptop, 125

    • limits on, 596604

    • notorious software errors, 602604

    • open-source, 232233

    • piracy and, 185, 208, 288

    • second-generation, 2021

    • terrorist detection, 250

    • testing, 596

    • third-generation, 2123

    • tools, 6

    • viruses, 185, 566

  • Software Arts, 395

  • Software engineering, 597600

  • Software Engineering Institute (Carnegie Mellon University), 599

  • Software errors, 602604

    • AT&T down for nine hours, 602603

    • bugs in government projects, 603604

    • notorious, 602604

    • Therac-25, 603

  • Software Garden, 396

  • Software piracy and copyrighting, 185

  • Software quality

    • formal verification, 600601

    • open-source movement, 601602

    • software engineering, 597600

  • Software requirements, 598

  • Software specifications, 598

  • Sojourner rover, 444

  • Solid-state disks (SSDs), 124, 138

  • Sony Playstation, 483

  • Sorenson video codec, 85

  • Sorted arrays, 210f

    • sequential search in, 209211

  • Sorted lists, 245, 246f

  • Sorting algorithms, 214220

  • Sound perception, 77

  • Sound waves, 7778, 77f

  • Source file, 363

  • Source, transistor, 103

  • SourceForge, 602

  • Space Shuttle Ground Processing System, 600

  • Spam, 380

  • Spatial video compression, 85

  • Special characters, 74

  • Special Interest Group for Computer Science Education, 46, 309

  • Splitting algorithm, 228f

  • Spoofing, 568

  • Spreadsheets, 23, 389398, 409

    • analysis of, 397398

    • applications with, 398

    • circular references and, 396

    • common functions for, 394f

    • data and computations in, 390f

    • defined, 389

    • formulas for, 391394

    • function, defined, 392

    • grid of labeled cells in, 389f

    • behind some of the cells, 392f

  • SPSS. see Statistical Package for the Social Sciences

  • Spyware, 288

  • SQL. see Structured Query Language

  • Square root algorithm, 203206

    • completed, 205

    • walk-through of, 206f

  • SSDs. see Solid-state disks

  • SSI circuit. see Small-scale integration circuit

  • Stack, Matt, 247

  • Stacks, 242243, 247, 258

  • Standard Generalized Markup Language (SGML), 544

  • Stanford University, 28

  • Star topology, 497

  • Starvation, 376

  • Statistical Package for the Social Sciences (SPSS), 22

  • STDEV function, in spreadsheets, 394f

  • Stephenson, Arthur, 604

  • Stereo signal, 7778

  • Stibitz, George, 11

  • Stonehenge, 9, 10

  • STOP branch instruction, 168

  • Storage capacity, expressed in binary notation, 125

  • Storage devices, 13

  • Stored-program concept, 126141

    • fetch–execute cycle, 134f

      • decoding instruction, 133

      • executing instruction, 133134

      • fetching next instruction, 132133

      • getting data, 133

    • RAM and ROM, 134

    • secondary storage devices

    • touch screens, 139141

    • von Neumann architecture, 128f

  • Strachey, Christopher, 377

  • Strategy games, 483

  • Stress management, soothing software and, 375

  • Strings, 172, 206, 303304

    • binary search tree built from, 253f

  • STRO branch instruction, 167

  • Strong equivalence, 422

  • Strong typing, 301

  • Structure of Scientific Revolutions, The (book), 295

  • Structured design, 24

  • Structured programming, 23, 307, 309

  • Structured Query Language (SQL), 404405

    • defined, 404

    • mathematical basis of, 405

    • modifying database content, 405

    • queries, 404405

  • Styluses, 12

  • Subdirectory, 369

  • Subprograms, 265271, 284, 314

    • declaration, in VB.NET and C++, 310

    • flow of control, 222f

    • nested logic and, 310

    • statements, 221222

  • Substitution cipher, 569

  • Subsumption architecture, 441443

  • Subtraction

    • of integers, 302

    • of numbers in other bases, 42

  • SUM function, in spreadsheets, 394f

  • Sun Microsystems, 17, 24

  • Superclass, 316

  • Superensembles, 465

  • Superscalar processor, 142, 144

  • Surface acoustic wave (SAW) touch screen, 141

  • Sutherland, Ivan, 462463b

  • SVG. see Scalable Vector Graphics (SVG)

  • Swap algorithm, 216

  • Symantec, 567

  • Symbolic logic and relays, 11

  • Symbols

    • arithmetic operations, 302

    • comment, 304

    • relational operators, 300t

  • Symmetric encryption, 571

  • Symmetric multiprocessors (SMPs), 144

  • Synapse, 432

  • Synchronous, dynamic RAM (SDRAM), 123

  • Synchronous processing, 143

  • Syntactic ambiguity, 440

  • Systems

  • Systems programmers, 2021

  • Systems software, 21, 330

T

  • Table, 400

  • Tablet computers, 331

  • Tablets for teaching, 244

  • Tag, 532

  • Tandy/Radio Shack, 16

  • Tape drives, 362

  • Target (retailer), 132, 146

  • Target game platform, 486487

  • Task-level parallelism, 143, 145

  • TCP. see Transmission Control Protocol

  • TeamAlpha, 368

  • Technology use, study of, 170

  • Telegraph, Einstein’s description of, 83

  • Television and elections, 427

  • Telnet, 507

  • Temporal video compression, 8485

  • Ten-level binary search tree, 252f

  • Ten’s complement, 63

  • Tenth strand, 100

  • Terminal I/O button, 16, 161

  • Terminated state, 345

  • Terrorist detection software, 250

  • Test case, 182

  • Test plan, 182

  • Testing, 231

  • Text, 6877

    • ASCII character set, 6970

    • text compression, 7177

      • Huffman encoding, 7577

      • keyword encoding, 7174

      • run-length encoding, 7475

    • Unicode character set, 7071

  • Text compression, 7177

    • Huffman encoding, 7577

    • keyword encoding, 7174

    • run-length encoding, 7475

  • Text files, 362363

  • Textile counterfeiting, 606

  • Texting, 528

  • Texture mapping techniques, 472

  • Therac-25, 620

    • software errors, 603

  • Thinking machines, 420423

  • Third-generation computer hardware/software, 1516, 2122

  • Thrashing, 344

  • 3D camera, 125

  • Three-input AND gate, 101, 101f

  • Threshold values, 433, 434

  • Thumb drive, 139

  • TIFF, 363

  • Time-driven simulation, 458

  • Time sharing, 2122, 334335

  • Time slice, 348

  • Titanic effect, 594

  • TLDs. see Top-level domains

  • TODAY function, in spreadsheets, 394f

  • Top-down design, 198, 290

    • object-oriented design vs., 282

    • verbs in, 286

  • Top-level domains (TLDs), 511512, 512f

  • Torvolds, Linus, 601

  • Touch ID, 565

  • Touch screens, 139141, 140f

  • Traceroute, 507, 507f

  • Track, 136

  • Training, 434

  • Transfer rate, 137

  • Transistors, 13, 13f, 102104, 102f

  • Translation process, 291294

  • Transmission Control Protocol (TCP), 506, 507

  • Transposition cipher, 570

  • Traveling Salesman problem, 618

  • Treatise on Differential Equations (book), 95

  • Treatise on the Calculus of Finite Differences (book), 95

  • Trees, 258

  • Trellix Corporation, 396

  • Trojan horse, 288, 566

  • True color, 80

  • True value, in Boolean data type, 303

  • Trump, Donald, 574

  • Truth table, 94

    • AND gate, 97f, 101f

    • combinational circuit and, 105, 106

    • full adder, 109

    • NAND gate, 99f

    • NOR gate, 100f

    • NOT gate, 96f

    • OR gate, 98f

    • XOR gate, 99f

  • Tsunami detection, 464

  • Turing, Alan M., 11, 248b, 421, 571, 612, 613614b

  • Turing Award, 11

  • Turing machine, 11, 612615, 615f

  • Turing test, 421423, 422f

  • Turnaround time, 345

  • Twitter, 411, 447, 519

  • Two’s complement, 6465

U

V

  • Vacuum tubes, 13, 13f

  • Value parameters, 268271

    • reference parameters vs., 269f

  • Value-returning subprograms, 265, 270

  • Values, copying in spreadsheets, 394

  • van Dam, Andy, 503

  • Variables

  • VB .NET

    • asynchronous processing in, 313

    • end if and end while in, 308

    • if and while statements in, 308

    • input statement in, 307

    • subprogram declaration in, 310

    • uppercase used in, 305

    • variable declaration in, 304

  • Vector graphics, 8384

  • Vector representation, of graphics, 8384

  • Veeder, Jane, 469

  • Verbs, in top-down design, 286

  • Verification

    • formal, 600601

    • in software life cycle, 598

  • Vertex (vertices)

    • adjacent, 257

    • breadth-first search and, 261

    • depth-first search and, 259261

    • in graphs, 256, 257f

  • Very large numbers, representing, 589

  • Very-large-scale integration circuit, 112113, 112t

  • Video codecs (COmpressor/DECompressor), 84

  • Video game addiction, 489490

  • Video, representing, 8485

  • Vinyl record album, 79

  • Virtual computers, 153159

  • Virtual environments, 26

  • Virtual games, 140

  • Virtual machines, 293, 334335

  • Virtual memory, 343

  • Virtual world, 482, 484485

  • Viruses, 185, 566

  • VisiCalc, 395

  • Visio, 363

  • Visual system, human, 470

  • VLSI chips, 112

  • Voice recognition, 436, 438439

  • Voice synthesis, 436, 437438

  • Voiceprint, 439

  • Voltage levels, 94

  • von Leibniz, Gottfried Wilhelm, 9

  • von Neumann, John, 11, 126, 195, 248b

  • von Neumann architecture, 128f, 298

  • Voyager 1 and Voyager 2 space probes, 472

  • VQF format, 79

W

  • Waiting, in queuing systems, 457458

  • Waiting state, 345

  • Walk-through, 599

  • Walker, Henry, 588, 602603

  • WAN. see Wide-area network

  • Warford, Stanley, 153

  • WARPITOUT, 469

  • Watson, computing engine for smartphone apps, 596

  • Watson, Thomas, 25

  • WAV format, 79, 80

  • Wayne, Ronald, 349

  • Weak equivalence, 421

  • Weather forecasting, 463464

  • Weather models, 456

  • Web (World Wide Web), 6, 336, 407, 525550. See also see Internet

    • Consortium, 538

    • Berners-Lee and, 538

  • Web analytics, 530531

  • Web browsers, 526. See also Browsers

  • Web pages, 526

  • Web servers, 497, 526

  • Web surfing, 3, 25

  • Weblogs. see Blogs and blogging

  • Websites, 526

  • Westergren, Tim, 172

  • What-if analysis, 398

  • Where clause, 404

  • While loop, count-controlled loop and, 201

  • While statement, 308

    • in demonstration languages, 308

    • event-controlled loops and, 201202

  • Whiskers, robotic, 441

  • Wi-Fi, 543, 574

  • Wide-area network (WAN), 498

  • Wiki, 575

  • WikiLeaks, 575578

  • Wikipedia, 24

  • Wilkes, Maurice, 110, 126

  • Windows 10, 125, 331

    • directory tree, 370f

    • operating system, 23, 24

  • Windows XP, 5

  • Wired magazine, 331

  • Wireless access points, 499

  • Wireless networking technology, 543

  • Wireless networks, 499

  • Wireless TV cameras, 282

  • Wood, John, 23

  • Word processors, 23

  • .WORD pseudo-op, 165

  • WordPerfect, 23

  • Words, 47

  • Working directory, 370

  • Workplace monitoring, 273274

  • Workplace privacy, 273274

  • Workstations, 16, 335

  • World of Warcraft players, addiction and, 489

  • World permissions, in UNIX operating system, 367

  • World Wide Web. see Web

  • Worms, 566

  • Worst fit, 341

  • Wozniak, Steve, 16, 349

  • WPS-8 word processing product, 395

  • Writing and counting, 12

  • Wylie, Christopher, 574

X

Y

Z

  • Z specification language, 377

  • Z1–Z4 machines, 181

  • Zero, importance of, 37

  • Zuckerberg, Mark, 547, 574

  • Zuse, Konrad, 11, 181b

  • Zuse machines, 181

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.108.241