Title: Idiomatic Coding
Subtitle: Strategies to Help CS1 Students and Other Beginners Develop Source Code Solutions By Choosing the Right Idiom and By Then Refining ... the Specifications of the Problem Statement
Description: HEY...GREAT!!! You’ve gained a sense of the proper syntax to use in your language of choice. Also, you’re familiar with the technical jargon that’s part of the language. But NOW you're confronted with the HARDEST task of all: How do you come up with code that instructs the computer to do exactly what you want it to do?

It's simple! You write the kind of code others write. You use their techniques to solve the specific problems you want to solve. Your problems may differ in the details, but they'll be similar to typical problems you'd encounter in any introductory programming text.

A skilled programmer can code solutions to these kinds of problems across a multitude of languages. Idiomatic Coding will show you the way these programmers think. Here's how:

The text presents 54 pseudocode strategies, i.e., idioms. A programmer coding in a C-based language such as Java, C, C++, etc. uses them to solve countless problems similar to the ones you’re asked to solve in a first-term course. The 108 Problem Examples and 3 Application Examples, along with the 54 idioms, comprise the bulk of the book’s pedagogy.

Each example:
starts with a specific problem statement that includes at least one sample run. Each sample run shows the machine/user interactions obtained when the computer executes a correctly coded instruction sequence.
applies liberal use of symbolic dingbats and notes in the page margins that help guide you through each solution-development process.
presents complete pseudocode reproductions of the referenced idiom(s) required to solve the problem; there's no need to turn back to those earlier pages that initially presented the idiom(s).
skips no steps; full step-by-step refinements of each solution is given, culminating with the full text of a pseudocode description that fits the original problem statement.
verifies that the solution properly solves the initial problem.
when appropriate, the text presents alternate solution ideas, some good, some not so good.
when appropriate, the text highlights pitfalls and erroneous thinking that might result in a solution that's clumsier, less efficient, or downright wrong when matched against the suggested final solution.

Idiomatic Coding also has:
52 Exercise Sets that, all told, contain over 250 problems.
an Appendix of the 54 Idioms. Each entry presents (a) an idiom's pseudocode description, (b) the sort of problem(s) to which the idiom is best suited and (c) references to every Problem or Application Example that used the idiom as part of a described solution.
ancillary discussions about: (a), the history of programming, (b) the characteristics that typify a good software developer, (c) industry-specific issues related to the testing and refactoring of existent software, and (d) predictions RE the requisite skills a software developer of the future should have.
Idiomatic Coding doesn’t render homage to any particular language. It's rather a companion volume for texts about any language that supports the imperative, procedural, and/or object-oriented paradigms. Idiomatic Coding rarely discusses syntax. Still, if appropriate, it elaborates on the semantic intent behind any given syntax rule.

Without disrespecting the need for syntax, Idiomatic Coding pays greater heed to the software semantics that underlies all that required software syntax. For you, the text should fill in details missing from those language-based books that present the still necessary (and often extensive) expositions/clarifications on a given language's syntax rules.