Problem Solving and Programming Concepts, 9th edition

Published by Pearson (February 23, 2011) © 2012

  • Maureen Sprankle College of the Redwoods
  • Jim Hubbard

eTextbook

per month

  • Anytime, anywhere learning with the Pearson+ app
  • Easy-to-use search, navigation and notebook
  • Simpler studying with flashcards
$159.99

  • Hardcover, paperback or looseleaf edition
  • Affordable rental option for select titles
  • Free shipping on looseleafs and traditional textbooks

A core or supplementary text for one-semester, freshman/sophomore-level introductory courses taken by programming majors in Problem Solving for Programmers, Problem Solving for Applications, any Computer Language Course, or Introduction to Programming.

Revised to reflect the most current issues in the programming industry, this widely adopted text emphasizes that problem solving is the same in all computer languages, regardless of syntax. Sprankle and Hubbard use a generic, non-language-specific approach to present the tools and concepts required when using any programming language to develop computer applications. Designed for students with little or no computer experience — but useful to programmers at any level — the text provides step-by-step progression and consistent in-depth coverage of topics, with detailed explanations and many illustrations.

Instructor Supplements (see resources tab):

Instructor Manual with Solutions and Test Bank

Lecture Power Point Slides

Go to: www.prenhall.com/sprankle

A generic, non-language-specific approach presents the tools and concepts required when using any programming language to develop computer applications.

– Shows how problem solving is the same in all languages.

– Enables students to concentrate on problem solving (rather than syntax) regardless of the language they use, and to use the text as a reference in future courses.

Broad coverage ranges from the basics of mathematical functions and operators to the design and use of such techniques as code, arrays, pointers, other data structures, database concepts, and object- oriented programming concepts.

Problem-solving tools are used to discuss the problem analysis chart, interactivity (structure) chart, IPO chart, the coupling diagram, algorithms, flowcharts, and tools to help with the development of object oriented programming solutions.

– Explains and demonstrates these tools extensively using typical problems found in computer language textbooks.

Structured programming techniques include sequential, decision, loop, and case logic structures.

– Introduces students to the correct use of modules, parameters, and variable names that allow easier development, as well as easier maintenance, of a program.

A full chapter on variables, constants, data types, functions, operators, equations, and expressions gives students a solid foundation in the concepts that are important to know before starting to develop a program, and which make setting up the basic instructions much easier.

Various types of data structures are explored, with full chapter coverage on arrays, stacks, linked lists, binary trees, and database.

– Prepares students to develop programs to handle almost any problem in today's market.

Problem solving for applications details includes techniques for page layout, spreadsheets, database management systems, and document processing.

– Makes material more tangible and real-world for students, giving them hands-on practice with the types of applications they'll encounter on the job.

“What's Wrong with This?” sections in problem sections challenge students to think critically and analytically to debug programs.

“Putting It All Together sections” walk students through a complete solution for a given problem, using the concepts previously presented.

– In some cases, an earlier solution is updated to incorporate more sophisticated techniques.

– Ensures that students learn not only individual problem-solving techniques, but how to put them together into viable strategies for tackling specific kinds of problems/applications.

Chapter Problems give students hands-on experience in solving problems that are typically found in computer language textbooks.

Abundant pedagogical aids integrated throughout include chapter objectives, chapter summaries, key words, chapter exercises and problems, glossaries, and tables of flowcharting symbols and functions.

  • Added a third column to the algorithm and flowchart figures that includes pseudo-code. Several reviewers recommended the addition of pseudocode to the chapters.
  • Combined the case structure chapter with the decision chapter. The case logic structure is really a type of decision logic structure, therefore the two chapters have been combined.
  • Updated the section on cohesion and coupling.
  • Rewrite of the Object Oriented Programming (OOP) chapters. The reviewers requested an update of these chapters.
  • Introduced Universal Modeling Language (UML) in Chapter 3 with follow up in the chapters on OOP. UML is being used in industry with OOP, therefore it has been used as a problem-solving tool in the chapters on OOP.
  • Added a section on software development life cycle.
  • Added more problems at the end of the chapters.

Table of Contents

  • Preface

UNIT ONE INTRODUCTION TO PROBLEM SOLVING AND PROGRAMMING

  • Chapter 1 General Problem-Solving Concepts
    • Problem Solving in Everyday Life
    • Types of Problems
    • Problem Solving with Computers
    • Difficulties with Problem Solving
    • Summary
    • New Terms
    • Questions
    • Problems
  • Chapter 2 Beginning Problem-Solving Concepts for the Computer
    • Constants and Variables
    • Data Types
    • How the Computer Stores Data
    • Functions
    • Operators
    • Expressions and Equations
    • Summary
    • New Terms
    • Questions
    • Problems
  • Chapter 3 Planning Your Solution
    • Communicating with the Computer
    • Organizing the Solution
    • Introduction to UML (Unified Modeling Language)
    • Using the Tools
    • Testing the Solution
    • Coding the Solution
    • Software Development Cycle
    • Summary
    • New Terms
    • Questions
    • Problems
  • UNIT ONE Supplementary Exercises

UNIT TWO LOGIC STRUCTURES

  • Chapter 4 An Introduction to Programming Structure
    • Pointers for Structuring a Solution
    • The Modules and Their Functions
    • Cohesion and Coupling
    • Local and Global Variables
    • Parameters
    • Return Values
    • Variable Names and the Data Dictionary
    • The Three Logic Structures
    • Summary
    • New Terms
    • Questions
    • Problems
  • Chapter 5 Problem Solving with the Sequential Logic Structure
    • Algorithm Instructions, Flowchart Symbols
    • The Sequential Logic Structure
    • Solution Development
    • Summary
    • Questions
    • Problems
  • Chapter 6 Problem Solving with Decisions
    • The Decision Logic Structure
    • Multiple If/Then/Else Instructions
    • Using Straight-Through Logic
    • Using Positive Logic
    • Using Negative Logic
    • Logic Conversion
    • Which Decision Logic?
    • Decision Tables
    • Putting It All Together
    • The Case Logic Structure
    • Codes
    • Putting It All Together
    • Another Putting It All Together
    • Summary
    • New Terms
    • Questions
    • Problems
  • Chapter 7 Problem Solving with Loops
    • The Loop Logic Structure
    • lncrementing
    • Accumulating
    • While/WhileEnd
    • Putting It All Together
    • Repeat/Until
    • Putting It All Together
    • Automatic-Counter Loop
    • Putting It All Together
    • Nested Loops
    • Indicators
    • Algorithm Instructions and Flowchart Symbols
    • Recursion
    • Summary
    • New Terms
    • Questions
    • Problems
  • UNIT TWO Supplementary Exercises

UNIT THREE DATA STRUCTURES

  • Chapter 8 Processing Arrays
    • Arrays
    • One-Dimensional Arrays
    • Putting It All Together
    • Two-Dimensional Arrays
    • Putting It All Together
    • Multidimensional Arrays
    • Table Look-Up Technique
    • The Pointer Technique
    • Putting It All Together
    • Summary
    • New Terms
    • Questions
    • Problems
  • Chapter 9 Sorting, Stacks, and Queues
    • Sorting Techniques
    • Stacks
    • Queues
    • Summary
    • New Terms
    • Questions
    • Problems
  • Chapter 10 File Concepts
    • Beginning File Concepts
    • Records as a Data Structure
    • Primary and Secondary Keys
    • Algorithm Instructions and Flowchart Symbols
    • Systems Flowcharts
    • Designing Records
    • Summary
    • New Terms
    • Questions
    • Problems
  • Chapter 11 Linked Lists
    • Creating Linked Lists
    • Examples of Adding Data to/Deleting Data from Linked Lists
    • Algorithms and Flowcharts to Add, Delete, and Access Data in a Linked List
    • Summary
    • New Terms
    • Questions
    • Problems
  • Chapter 12 Binary Trees
    • Creation of Binary Trees
    • Accessing Data in a Binary Tree
    • Traversal of Binary Trees
    • Summary
    • New Terms
    • Questions
    • Problems
  • UNIT THREE Supplementary Exercises

UNIT FOUR DATABASE MANAGEMENT SYSTEMS

  • Chapter 13 Database Management Systems
    • Why a DBMS?
    • DBMS Components
    • DBMS Models
    • Client-Server Model
    • DBMS Tasks
    • Summary
    • New Terms
    • Questions
  • Chapter 14 Relational Database Management Systems
    • Tables, Records, and Fields
    • Normalizing Tables
    • Entity Relation Model
    • Schema
    • Creating Tables
    • Queries
    • Interface Design
    • Reports
    • Planning a Solution Using an RDBMS
    • Summary
    • New Terms
    • Questions
    • Problems

UNIT FIVE OBJECT-ORIENTED PROGRAMMING

  • Chapter 15 Concepts of Object-Oriented Programming
    • Object-Oriented Programming
    • Graphical User Interface (GUI)
    • Event-Driven Object-Oriented Programming
    • Interactivity
    • Summary
    • New Terms
    • Questions
    • Problems
  • Chapter 16 Object-Oriented Program Design
    • Designing an Object-Oriented Application
    • Interface Design
    • Designing an Event-Driven Object-Oriented Application
    • Summary
    • New Terms
    • Questions
    • Problems

UNIT SIX INTRODUCTION TO GAME DEVELOPMENT

  • Chapter 17 Introduction to Concepts of Game Development Using Object-Oriented Programming
    • Game Development
    • Planning the Game
    • Steps to Develop a Simple Game
    • Summary
    • New Terms
    • Questions
    • Problems
  • Chapter 18 Introduction to Assembly Language
    • Assembly Language versus High-Level Languages
    • Assembly Language Concepts
    • Some Basic Assembly Language Instructions
    • Assembly Language Equivalents to the Four Logic Structures
    • Summary
    • New Terms
    • Questions
    • Problems

UNIT SEVEN FILE PROCESSING

  • Chapter 19 Sequential-Access File Applications
    • Processing Sequential-Access Files
    • The Primer Read
    • Designing Output Reports
    • Headings and Line Counters
    • Control-Breaks
    • Multiple Control-Breaks
    • Using Indicators for Program Control
    • Error Handling
    • Null Files
    • Summary
    • New Terms
    • Questions
    • Problems
  • Chapter 20 Sequential-Access File Updating
    • Creating Files
    • The Master File
    • Transaction Files
    • Activity Files
    • Backup Files
    • Updating the Master File Using a Transaction File
    • Putting It All Together
    • A Useful Alternative Method
    • Summary
    • New Terms
    • Questions
    • Problems
  • UNIT FIVE Supplementary Exercises

APPENDIX A Otto the Robot

APPENDIX B ASCII and EBCDIC Codes for Data Representation

APPENDIX C Forms to Use in Problem Solving

APPENDIX D Other Problem-Solving Tools

APPENDIX E Other Functions

GLOSSARY

INDEX

Maureen Sprankle is a Professor Emeritus at the College of the Redwoods, in Eureka, CA. She received her M.B.A. (emphasis in Computer Information Systems) and B.A. in Music from Humboldt State University, and her B.A. in Mathematics from Pepperdine University. In addition to teaching, Maureen has worked as a consultant in microcomputers for business and education, as a freelance Programmer/Analyst (business and scientific applications), and as a Scientific Programmer/Analyst Research Programmer in the space industry. After retiring from teaching, she and her husband of 43 years, Dr. Norman Sprankle,  moved to the Oregon coast, where they both enjoy traveling, teaching, computers, the theater, and the out of doors. Her hobbies include music and reading.

Jim Hubbard is a software architect and the President of Healthware Solutions, LLC. Jim received his M.I.S. degree from Humboldt State University. He has held the position of CIO at Healthware Solutions, LLC. With 26 years of experience in the field of software development and implementation, Jim provides a valuable industry perspective to problem solving and programming.

Need help? Get in touch

Pearson+

All in one place. Pearson+ offers instant access to eTextbooks, videos and study tools in one intuitive interface. Students choose how they learn best with enhanced search, audio and flashcards. The Pearson+ app lets them read where life takes them, no wi-fi needed. Students can access Pearson+ through a subscription or their MyLab or Mastering course.

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.