• 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
Problem Solving and Programming Concepts, 9/e, is 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.
UNIT ONE INTRODUCTION TO PROBLEM SOLVING AND PROGRAMMING, 1
Chapter 1 General Problem-Solving Concepts 3
Problem Solving in Everyday Life 3
Types of Problems 5
Problem Solving with Computers 6
Difficulties with Problem Solving 6
New Terms 7
Chapter 2 Beginning Problem-Solving Concepts for the Computer 11
Constants and Variables 13
Data Types 16
How the Computer Stores Data 20
Expressions and Equations 27
New Terms 35
Chapter 3 Planning Your Solution 41
Communicating with the Computer 42
Organizing the Solution 43
Introduction to UML (Unified Modeling Language) 55
Using the Tools 59
Testing the Solution 61
Coding the Solution 61
Software Development Cycle 62
New Terms 63
UNIT ONE Supplementary Exercises, 65
UNIT TWO LOGIC STRUCTURES, 69
Chapter 4 An Introduction to Programming Structure 71
Pointers for Structuring a Solution 72
The Modules and Their Functions 74
Cohesion and Coupling 75
Local and Global Variables 77
Return Values 84
Variable Names and the Data Dictionary 85
The Three Logic Structures 85
New Terms 86