Think like a programmer An introduction to creative problem solving

V. Anton Spraul

Book - 2012

"The real challenge of programming isn't learning a language's syntax--it's learning to creatively solve problems so you can build something great. In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you what other introductory books often ignore: how to Think Like a Programmer. Each chapter tackles a single programming concept, like classes, pointers, and recursion, and open-ended exercises throughout challenge you to apply your knowledge. You'll also learn how to: Split problems into discrete components to make them easier to solve: Make the most of code reuse with functions, classes, and libraries pick the perfect data structure for a particular job:... Master more advanced programming tools like recursion and dynamic memory: Organize your thoughts and develop strategies to tackle particular types of problems. Although the book's examples are written in C++, the creative problem-solving concepts they illustrate go beyond any particular language; in fact, they often reach outside the realm of computer science. As the most skillful programmers know, writing great code is a creative art--and the first step in creating your masterpiece is learning to Think Like a Programmer"--

Saved in:

2nd Floor Show me where

005.1/Spraul
1 / 1 copies available
Location Call Number   Status
2nd Floor 005.1/Spraul Checked In
Subjects
Published
San Francisco : ©2012
Language
English
Main Author
V. Anton Spraul (-)
Item Description
Includes index.
Physical Description
xvii, 233 pages : illustrations ; 24 cm
ISBN
9781593274245
Contents unavailable.
Review by Choice Review

Programming instructor Spraul has based this book on teaching methods employed over his 15-plus-year career. His approach to creative problem solving starts with general techniques using classic puzzles that involve no programming, followed by problem solving with programming examples. These start out fairly simply, using input and output, and become more complex, including arrays, pointers and dynamic memory, classes, recursion, and code reuse. Code examples are in C++ (source code available on Spraul's website), and basic syntax and semantics of the language are assumed as a prerequisite. However, the problems could be coded in another object-oriented language. The programming-specific chapters start by summarizing the fundamentals needed to solve the types of problems related to that topic. The combination of conceptual overview and common problem-solving techniques that are applicable to many applications make this a particularly feasible way to supplement or review programming skills while learning a systematic approach to problem solving. The focus is not on algorithm efficiency, patterns, or performance, but on helping readers develop skills to determine a method of attack for "writing code to solve original problems." The book is very readable, though it is heavy on text and light on graphics. Summing Up: Recommended. Students of all levels and professionals/practitioners. J. L. Waterhouse University of Illinois Springfield

Copyright American Library Association, used with permission.