Rating:

(22 reviews)
Author: Visit Amazon's V. Anton Spraul Page
ISBN : 1593274246
New from $23.18
Format: PDF, EPUB
Download books file now Free Think Like a Programmer: An Introduction to Creative Problem Solving from mediafire, rapishare, and mirror link
Amazon.com Review
A Message From Author V. Anton Spraul
“Over the past 15 years, I've taught programming to countless students from every sort of background. A few of them were naturals, but most struggled, even the ones who would eventually turn into excellent programmers. However, they weren't struggling with the syntax of the programming language, but rather with applying it to solve the assigned problems.
Knowing how to read a program is very different from knowing how to write one. While typical books or training courses are often effective at explaining the individual elements of programming, they tend to offer little advice on combining these elements to solve particular problems. That's where Think Like a Programmer comes in.”
About the Author
V. Anton Spraul has taught introductory programming and computer science for more than 15 years. This book is a distillation of the techniques he has used and honed over many one-on-one sessions with struggling programers. He is also the author of Computer Science Made Simple (Broadway).
Direct download links available for Free Think Like a Programmer: An Introduction to Creative Problem Solving
- Paperback: 256 pages
- Publisher: No Starch Press (August 8, 2012)
- Language: English
- ISBN-10: 1593274246
- ISBN-13: 978-1593274245
- Product Dimensions: 1.1 x 6.9 x 9.1 inches
- Shipping Weight: 1.1 pounds (View shipping rates and policies)
Free Think Like a Programmer: An Introduction to Creative Problem Solving
One thing I have noticed over the years is that at least 95% of programmers spend a long time writing what ought to be relatively simple code and that they usually end up with a lot more code than they really needed. The problem is that these programmers have only learnt half of what they really need to know in order to be able to write programs - the programming language itself. The other half of programming is a creative process that is not taught in most programming classes and which in part is a talent that can't be taught.
This book sets out to teach the part of the creative part of programming that can be taught to those who don't have the talent of visualising solutions to complex problems. Anyone who uses the techniques taught in this book will eventually find their way into that top 5% of programmers who can write good solutions to complex programming problems. As they use creative problem solving to produce more effective code their programming ability will improve even though they may have no greater understanding of the particular programming language syntax than they did at the start.
While just about everything in this book seemed trivial and obvious to me (but then I'm not part of the target audience for the book), experience has shown me that such things are seldom either trivial or obvious to most other programmers and I have not previously seen any resource that explains these processes as clearly as this book does. This is definitely a book that I would use in teaching programming to others,
The author has chosen C++ as the language used for the solutions to the various problems the book uses to demonstrate the problem solving process.
While I was working on my PhD in computer science, part of my job as a TA was to run the computer lab. I never cared for Java, but I learned enough of it to be able to help the undergraduates when they got stuck working on their homework assignments.
What struck me is that often the undergrads know more Java than I did; their problem was that they didn't understand how to solve problems. Once I walked them through the process of designing a solution, then they could write the program. When I interviewed at Microsoft, the interviewer said the same thing: that many of the people he had talked to were not able to even answer the first interview question (which required figuring out a solution to a problem and then coding it).
As such, it's no surprise that I was happy to see this book, with its promise of helping people understand how to solve problems rather than simply how to write code. The first chapter immediately dives in to solving some logic puzzles; while these aren't computer related (and some are classic problems that everyone knows) they get the point across that programming is about solving problems. The actual language is secondary; what's important is being able to break the problem down to the relevant information and figure out a way to solve it. Once you have an approach that allows you to tackle the problem, then you can figure out how to do each individual step.
Chapter two switches to solving problems using C++, rather than generic logic puzzles, and then we're off and running. We follow that with one chapter each on solving problems using arrays, pointers and dynamic memory, classes, recursion, and code reuse. Finally we have a chapter about working to your strengths as a programmer to find solutions efficiently.
Download Link 1 -
Download Link 2