Programming patterns are solutions to problems that require the creation of a small fragment of code that will be part of a larger program. Hence, this book is about teaching you how to write such fragments of code. However, it is not about teaching you the syntax of the statements in the fragments, it assumes that you already know the syntax. Instead, it is about finding solutions to problems that arise when first learning to program.
Patterns can be used to teach problem solving at various levels of abstraction (which are inversely related to the level of detail). Programming patterns are solutions to problems that require the creation of a small fragment of code that will be part of a larger program. Hence, this book is about teaching you how to write such fragments of code. However, it is not about teaching you the of the statements in the fragments, it assumes that you already know the syntax. Though the syntax of a particular programming language can be confusing at first, it is, actually, fairly easy to learn and, given a solution to a problem, it is fairly easy to write the code that implements it. It’s much more difficult to come up with the solution, and that’s what this book will teach you to do.
After you finish reading this book you will have a library of solutions that you can use, and an understanding of how to add to that library.
Conditions of Use
This book is licensed under a Creative Commons License (CC BY-NC-SA). You can download the ebook Patterns for Beginning Programmers for free.
- Title
- Patterns for Beginning Programmers
- Subtitle
- With Examples in Java
- Publisher
- James Madison University Libraries
- Author(s)
- David Bernstein
- Published
- 2022-05-06
- Edition
- 1
- Format
- eBook (pdf, epub, mobi)
- Pages
- 197
- Language
- English
- License
- CC BY-NC-SA
- Book Homepage
- Free eBook, Errata, Code, Solutions, etc.
Cover
Title Page
Copyright
Table Of Contents
Preface
List of Figures
List of Tables
Patterns Requiring Knowledge of Types, Variables, and Arithmetic Operators
Updating
Swapping
Digit Manipulation
Arithmetic on the Circle
Truncation
Patterns Requiring Knowledge of Logical and Relational Operators, Conditions, and Methods
Indicators
Indicator Methods
Rounding
Starts and Completions
Bit Flags
Digit Counting
Patterns Requiring Knowledge of Loops, Arrays, and I/O
Reprompting
Accumulators
Accumulator Arrays
Lookup Arrays
Interval Membership
Conformal Arrays
Segmented Arrays
Patterns Requiring Advanced Knowledge of Arrays and Arrays of Arrays
Subarrays
Neighborhoods
Patterns Requiring Knowledge of String Objects
Centering
Delimiting Strings
Dynamic Formatting
Pluralization
Patterns Requiring Knowledge of References
Chained Mutators
Outbound Parameters
Missing Values
Checklists