This textbook presents a systematic methodology for program
development by using design recipes, i.e. a series of steps, each
with a specific outcome, that takes a problem solver from a problem
statement to a working and tested programmed solution. It
introduces the reader to generative recursion, heuristic searching,
accumulative recursion, tail recursion, iteration, mutation, loops,
program correctness, and vectors. It uses video game development to
make the content fun while at the same time teaching
problem-solving techniques. The book is divided into four parts.
Part I presents introductory material on basic problem solving and
program design. It starts by reviewing the basic steps of a design
recipe using structural recursion on a list. It then proceeds to
review code refactoring-a common technique used to refine programs
when a better or more elegant way is found to solve a problem-and
introduces the reader to randomness. Next, Part II explores a new
type of recursion called generative recursion. It navigates the
reader through examples involving fractal image generation,
efficient sorting, and efficient searching techniques such as
binary, depth-first, and breadth-first search. Part III then
explores a new type of recursion called accumulative (or
accumulator) recursion. Examples used include finding a path in a
graph, improving insertion sorting, and list-folding operations.
Finally, Part IV explores mutation. To aid the reader in properly
sequencing mutations it presents Hoare Logic and program
correctness. In addition, it introduces vectors, vector processing,
in-place operations, and circular data. Throughout the whole book
complexity analysis and empirical experimentation is used to
evaluate solutions. This textbook targets undergraduates at all
levels as well as graduate students wishing to learn about program
design. It details advanced types of recursion, a disciplined
approach to the use of mutation, and illustrates the design process
by developing a video game exploiting iterative refinement.
General
Is the information for this product incomplete, wrong or inappropriate?
Let us know about it.
Does this product have an incorrect or missing image?
Send us a new image.
Is this product missing categories?
Add more categories.
Review This Product
No reviews yet - be the first to create one!