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.
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.
Chapter 1 General Problem-Solving Concepts
Chapter 2 Beginning Problem-Solving Concepts for the Computer
Chapter 3 Planning Your Solution
Chapter 4 An Introduction to Programming Structure
Chapter 5 Problem Solving with the Sequential Logic Structure
Chapter 6 Problem Solving with Decisions
Chapter 7 Problem Solving with Loops
Chapter 8 Processing Arrays
Chapter 9 Sorting, Stacks, and Queues
Chapter 10 File Concepts
Chapter 11 Linked Lists
Chapter 12 Binary Trees
Chapter 13 Database Management Systems
Chapter 14 Relational Database Management Systems
Chapter 15 Concepts of Object-Oriented Programming
Chapter 16 Object-Oriented Program Design
Chapter 17 Introduction to Concepts of Game Development Using Object-Oriented Programming
Chapter 18 Introduction to Assembly Language
Chapter 19 Sequential-Access File Applications
Chapter 20 Sequential-Access File Updating
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
• A generic, non-language-specific approach presents the tools and concepts required when using any programming language to develop computer applications.
• 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.
• Structured programming techniques include sequential, decision, loop, and case logic structures.
• 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.
• Problem solving for applications details includes techniques for page layout, spreadsheets, database management systems, and document processing.
• "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.
• 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.