Starting Out with Programming Logic and Design

  • ISBN13:


  • ISBN10:


  • Edition: 3rd
  • Format: Paperback
  • Copyright: 2012-02-10
  • Publisher: Pearson
  • View Upgraded Edition

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
  • We Buy This Book Back!
    In-Store Credit: $5.25
    Check/Direct Deposit: $5.00
List Price: $124.60 Save up to $95.86
  • Rent Book $28.74
    Add to Cart Free Shipping


Supplemental Materials

What is included with this book?

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


Starting Out with Programming Logic and Design, Third Edition,is a language-independent introductory programming book that orients students to programming concepts and logic without assuming any previous programming experience. In the successful, accessible style of Tony Gaddis' best-selling texts, useful examples and detail-oriented explanations allow students to become comfortable with fundamental concepts and logical thought processes used in programming without the complication of language syntax. Students gain confidence in their program design skills to transition into more comprehensive programming courses. The book is ideal for a programming logic course taught as a precursor to a language-specific introductory programming course, or for the first part of an introductory programming course.

Author Biography

Tony Gaddis is the principal author of the Starting Out With . . . series of textbooks. Tony has twenty years of experience teaching computer science courses, primarily at Haywood Community College. He is a highly acclaimed instructor who was previously selected as the North Carolina Community College “Teacher of the Year” and has received the Teaching Excellence award from the National Institute for Staff and Organizational Development. The Starting Out With . . . series includes introductory books covering Programming Logic and Design, C++, Java, Microsoft® Visual Basic, C#®, Python, and Alice, all published by Pearson Addison-Wesley.

Table of Contents

Prefacep. xiii
Acknowledgmentsp. xxi
About the Authorp. xxiii
Introduction to Computers and Programmingp. 1
Introductionp. 1
Hardwarep. 2
How Computers Store Datap. 7
How a Program Worksp. 12
Types of Softwarep. 20
Review Questionsp. 22
Input, Processing, and Outputp. 27
Designing a Programp. 27
Output, Input, and Variablesp. 32
Variable Assignment and Calculationsp. 41
In The Spotlight: Calculating Cell Phone Overage Feesp. 45
In The Spotlight: Calculating a Percentagep. 47
In The Spotlight: Calculating an Averagep. 50
In The Spotlight: Converting a Math Formula to a Programming Statementp. 53
Variable Declarations and Data Typesp. 56
Named Constantsp. 62
Hand Tracing a Programp. 63
Documenting a Programp. 64
In The Spotlight: Using Named Constants, Style Conventions, and Commentsp. 66
Designing Your First Programp. 68
Review Questionsp. 71
Debugging Exercisesp. 76
Programming Exercisesp. 77
Modulesp. 79
Introduction to Modulesp. 79
Defining and Calling a Modulep. 82
In The Spotlight: Defining and Calling Modulesp. 88
Local Variablesp. 92
Passing Arguments to Modulesp. 94
In The Spotlight: Passing an Argument to a Modulep. 99
In The Spotlight: Passing an Argument by Referencep. 104
Global Variables and Global Constantsp. 108
In The Spotlight: Using Global Constantsp. 109
Review Questionsp. 113
Debugging Exercisesp. 117
Programming Exercisesp. 117
Decision Structures and Boolean Logicp. 121
Introduction to Decision Structuresp. 121
In The Spotlight: Using the if-Then Statementp. 128
Dual Alternative Decision Structuresp. 131
In The Spotlight: Using the If-Then-Else Statementp. 132
Comparing Stringsp. 137
Nested Decision Structuresp. 141
In The Spotlight: Multiple Nested Decision Structuresp. 144
The Case Structurep. 148
In The Spotlight: Using a Case Structurep. 151
Logical Operatorsp. 153
Boolean Variablesp. 160
Review Questionsp. 161
Debugging Exercisesp. 165
Programming Exercisesp. 166
Repetition Structuresp. 169
Introduction to Repetition Structuresp. 169
Condition-Controlled Loops: while, Do-while, and Do-untilp. 170
In The Spotlight: Designing a While Loopp. 175
In The Spotlight: Designing a Do-While Loopp. 184
Count-Controlled Loops and the For Statementp. 189
In The Spotlight: Designing a Count-Controlled Loop with the For Statementp. 197
Calculating a Running Totalp. 207
Sentinelsp. 211
In The Spotlight: Using a Sentinelp. 212
Nested Loopsp. 215
Review Questionsp. 218
Debugging Exercisesp. 222
Programming Exercisesp. 222
Functionsp. 225
Introduction to Functions: Generating Random Numbersp. 225
In The Spotlight: Using Random Numbersp. 229
In The Spotlight: Using Random Numbers to Represent Other Valuesp. 231
Writing Your Own Functionsp. 233"
In The Spotlight: Modularizing with Functionsp. 240
More Library Functionsp. 248
Review Questionsp. 259
Debugging Exercisesp. 261
Programming Exercisesp. 262
Input Validationp. 267
Garbage In, Garbage Outp. 267
The Input Validation Loopp. 268
In The Spotlight: Designing an Input Validation Loopp. 270
Defensive Programmingp. 275
Review Questionsp. 276
Debugging Exercisesp. 278
Programming Exercisesp. 279
Arraysp. 281
Array Basicsp. 281
In The Spotlight: Using Array Elements in a Math Expressionp. 288
Sequentially Searching an Arrayp. 295
Processing the Contents of an Arrayp. 301
In The Spotlight: Processing an Arrayp. 308
Parallel Arraysp. 315
In The Spotlight: Using Parallel Arraysp. 316
Two-Dimensional Arraysp. 319
In The Spotlight: Using a Two-Dimensional Arrayp. 323
Arrays of Three or More Dimensionsp. 328
Review Questionsp. 329
Debugging Exercisesp. 332
Programming Exercisesp. 333
Sorting and Searching Arraysp. 337
The Bubble Sort Algorithmp. 337
In The Spotlight: Using the Bubble Sort Algorithmp. 344
The Selection Sort Algorithmp. 351
The Insertion Sort Algorithmp. 357
The Binary Search Algorithmp. 363
In The Spotlight: Using the Binary Search Algorithmp. 367
Review Questionsp. 369
Debugging Exercisep. 373
Programming Exercisesp. 373
Filesp. 375
Introduction to File Input and Outputp. 375
Using Loops to Process Filesp. 387
In The Spotlight: Working with Filesp. 392
Using Files and Arraysp. 396
Processing Recordsp. 397
In The Spotlight: Adding and Displaying Recordsp. 402
In The Spotlight: Searching for a Recordsp. 406
In The Spotlight: Modifying Recordsp. 408
In The Spotlight: Deleting Recordsp. 412
Control Break Logicp. 415
In The Spotlight: Using Control Break Logicp. 417
Review Questionsp. 423
Debugging Exercisep. 426
Programming Exercisesp. 426
Menu-Driven Programsp. 429
Introduction to Menu-Driven Programsp. 429
Modularizing a Menu-Driven Programp. 440
Using a Loop to Repeat the Menup. 445
In The Spotlight: Designing a Menu-Driven Programp. 450
Multiple-Level Menusp. 464
Review Questionsp. 470
Programming Exercisesp. 472
Text Processingp. 475
Introductionp. 475
Character-by-Character Text Processingp. 477
In The Spotlight: Validating a Passwordp. 480
In The Spotlight: Formatting and Unformatting Telephone Numbersp. 486
Review Questionsp. 491
Debugging Exercisesp. 493
Programming Exercisesp. 494
Recursionp. 497
Introduction to Recursionp. 497
Problem Solving with Recursionp. 500
Examples of Recursive Algorithmsp. 504
Review Questionsp. 514
Programming Exercisesp. 517
Object-Oriented Programmingp. 519
Procedural and Object-Oriented Programmingp. 519
Classesp. 523
Using the Unified Modeling Language to Design Classesp. 534
Finding the Classes and Their Responsibilities in a Problemp. 537
In The Spotlight: Finding the Classes in a Problemp. 537
In The Spotlight: Determining Class Responsibilitiesp. 541
Inheritancep. 547
Polymorphismp. 555
Review Questionsp. 559
Programming Exercisesp. 563
ÇU1 Applications and Event-Driven Programmingp. 565
Graphical User Interfacesp. 565
Designing the User Interface for a GUI Programp. 568
In The Spotlight: Designing a Windowp. 573
Writing Event Handlersp. 575
In The Spotlight: Designing an Event Handlerp. 578
Review Questionsp. 580
Programming Exercisesp. 582
ASCII/Unicode Charactersp. 585
Flowchart Symbolsp. 587
Pseudocode Referencep. 589
Answers to Checkpoint Questions (located on the CD that accompanies this book)
Indexp. 601
Table of Contents provided by Ingram. All Rights Reserved.

Rewards Program

Write a Review