Rating:

Author: V. Anton Spraul
ISBN : B008RQMDU4
New from $15.37
Format: PDF
Download for free books Free Think Like a Programmer: An Introduction to Creative Problem Solving [Kindle Edition] from 4shared, mediafire, hotfile, and mirror link
Rewire your brain
Examples in this book are written in C++, but will improve your ability to think like a programmer in any language.
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.
Direct download links available for Free Think Like a Programmer: An Introduction to Creative Problem Solving
- File Size: 1864 KB
- Print Length: 256 pages
- Publisher: No Starch Press; 1 edition (August 1, 2012)
- Sold by: Amazon Digital Services, Inc.
- Language: English
- ASIN: B008RQMDU4
- Text-to-Speech: Enabled
X-Ray:
- Lending: Not Enabled
- Amazon Best Sellers Rank: #83,616 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
- #43
in Kindle Store > Kindle eBooks > Computers & Technology > Programming > C & C++ - #53
in Kindle Store > Kindle eBooks > Computers & Technology > Programming > Software Design > Software Development - #74
in Books > Computers & Technology > Programming > Languages & Tools > C
- #43
in Kindle Store > Kindle eBooks > Computers & Technology > Programming > C & C++ - #53
in Kindle Store > Kindle eBooks > Computers & Technology > Programming > Software Design > Software Development - #74
in Books > Computers & Technology > Programming > Languages & Tools > C
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