Most books available on computer programming languages do not teach students how to program. Instead, these books concentrate on the rules of a particular programming language, with a minimal amount of text devoted to problem solving. But learning a programming language without first learning programming logic is like learning to spell and use punctuation in English without first learning how to express your thoughts so that you are clearly understood. This book concentrates on problem solving or programming logic, with little emphasis on specific programming languages. Hierarchy charts, pseudocode, flowcharts, and data dictionaries are developed throughout the text as tools for problem solving.
This book focuses on structured programming logic for business applications. The book was initially developed from lecture notes and handouts that I used to teach a course on programming logic and techniques at Oakton Community College. Since the first edition was published, the world of computer programming has changed considerably. These changes were reflected in the second, third, and now, the fourth edition. Each edition of the book has been improved as a result of feedback from my colleagues across the country and the excellent suggestions of my own students. This edition is no exception.
Among the changes in this edition are:
- Each chapter now links end-of-chapter exercises and activities to particular sections of each chapter. Students are strongly encouraged to do the exercises as they are reading and studying each section rather than waiting until the end of the chapter. These exercises will help students monitor their own learning and review important terminology and concepts.
- Although the text is still language independent, greater emphasis has been placed on visual, event-driven, and object-oriented concepts. These explanations and explanations will help students as they work with visual, event-driven, and object-oriented programming languages.
- The layout of the text is improved. Pseudocode and flowchart solutions are shown on the same page. This improved organization will allow students to use either pseudocode or flowcharts without constant page "flipping."
- Although the content has not been reduced, this edition has nine, instead of eleven chapters. Topics have been reorganized to assist students who are learning programming logic in the same semester or term as they are learning a programming language.
- Chapter 1 still helps students understand basic terminology and the programming process. In addition, it explains the various programming languages and how procedure-oriented, visual, object-oriented, and Internet languages differ.
- Chapter 2 introduces program flowcharts as a tool for developing logic. In addition, greater emphasis is placed on arithmetic and relational operations to better prepare students to write these types of instructions.
- Even though the programming world is primarily object-oriented, methods and procedures are still developed using structured techniques. Students must be well grounded in these techniques, one of the focuses of Chapter 3. Chapter 3 discusses the transition from modular to structured to object-oriented programming. Students learn about objects and classes. In addition, pseudocode, data dictionaries, and hierarchy charts are used. Top-test, bottom-test, and counter-controlled loops are covered in depth. Local and global variables are also explained in this chapter.
- Chapter 4 now concentrates on report output and input validation. Both paper and screen reports are covered.
- The emphasis in Chapter 5 is on decision logic using the logical operators AND, OR, NOT, and exclusive OR. Non-report output is also covered in this chapter.
- Chapter 6 covers arrays (tables). Previous editions used the term table to refer to arrays. Most programming languages use the term array, so it was decided to use that term in this text. The chapter covers array initialization and search, compile-time and execution-time arrays, positionally-organized and argument-organized arrays, as well as a discussion on how various programming languages differ when working with arrays.
- Chapter 7, which covers sorting, is optional. I have found that working with sort algorithms helps students better understand arrays. The interchange, bubble, and Shell sort algorithms are covered. In addition, indexing is explained.
- Chapter 8 covers control breaks and totals with single- and multiple- levels.
- Chapter 9 covers sequential and non-sequential file and database processing.
The approach of this book is to teach via examples. All the rules for programming can be listed, but unless students can see how to apply the rules, they won’t learn. More than 40 business examples are used in this book to illustrate various topics. Unlike other logic books, most examples are completely solved, so students can see the entire solution process.
The book is organized by topic with sufficient material for a one-semester college course in programming logic. If students have had a strong introductory course, they can skip Chapter 1 or use it for review. If this course is offered concurrently with an introductory course, then the background and vocabulary is Chapter 1 is critical. Chapters two through six cover basics and should be covered in order. Although important to a student’s understanding of programming logic, Chapters 7, 8, and 9 are optional. Chapter 7 requires prior coverage of Chapter 6. Chapters 8 and 9 can be covered any time after Chapter 5.
In addition to a one-semester college course in computer programming, the book can be used:
- As a supplement to a programming language course. Many programming students and instructors have indicated that the examples in this book relate well to the problems assigned in both beginning and advanced programming classes.
- In a high school course in the fundamentals of computer programming.
- In an industry course to train computer programmers.
- In short, introductory computer and computer programming courses for business and management personnel.
- By programmers who want to improve their programming skills using object-oriented and structured techniques.
- By people who are interested in writing their own computer programs.
The instructor’s manual to accompany the text includes chapter outlines and teaching hints for each chapter, the solutions to all exercises at the end of each chapter, and PowerPoint presentations.
This book assumes no previous knowledge of information processing. It is expected that the reader can use simple arithmetic and algebraic tools, but no previous training in advanced mathematics is necessary.
A great deal of thought, discussion with students and colleagues, and some aggravation have been invested in this book. Students have always been the best barometer of my teaching methods and their questions and comments have proved invaluable. As a result, this edition is more polished and has better explanations and organization than the previous three editions resulting in increased understanding for the reader.