+- Recent Topics
Abstraction when facing html/css problems by Paul Vickers
July 23, 2013, 12:07:36 PM

Slides for the book by admin
April 25, 2013, 12:43:17 PM

Build a Windows Form Softphone in VB.NET by brendonwalsh490
December 04, 2012, 02:48:25 PM

Android application development by Morrowind
September 13, 2012, 10:24:44 AM

Getters and Setters: why? by Paul Vickers
March 30, 2012, 03:07:18 PM

New Member Welcomes by admin
February 17, 2012, 02:43:01 PM

MOVED: CM0427 Lab exercises: Question 5 by Brian Wildebeest
December 23, 2011, 07:56:04 PM

Video! by Paul Vickers
April 05, 2011, 08:32:43 PM

+- Board News
xx Video!
April 05, 2011, 08:32:43 PM by Paul Vickers
Today I added a...
0 comments | Write Comment

exclamation Book Store
September 01, 2010, 10:45:52 PM by Paul Vickers
The newly added Book...
0 comments | Write Comment

xx Discussion forum live!
September 01, 2010, 05:00:03 PM by Paul Vickers
We are pleased to...
0 comments | Write Comment
+- Recent Members
Paul Vickers
+- Members Online
1 Guest, 0 Users
Welcome to the How To Think Like A Programmer web site and discussion forum!

UPDATE: November 2013
People seem to be having trouble getting hold of "How To Think Like A Programmer" at the moment. I am in discussion with the publisher to resolve the issue. In the meantime, if you have any questions about availability, please do email me at paul @ howtothinklikeaprogrammer.com.

To learn more about the book, see below. For links to the publisher's web site where teachers can register to download slides for teaching, sample exam papers, etc., and students can get solutions to all the exercises plus more stuff, then see the bar on the right. To buy the book from Amazon see the links below the publisher's resource information on the right or visit our book store by clicking on the appropriate button in the menu above.

To use the discussion forum where you can ask questions about the book in particular, discuss computer programming in general, get information about other recommended or affiliated web sites, or even talk about the weather then just click on the 'Forum' link in the menu bar above. Make sure to register if you want to post replies.

Why this book?
Quote from: Paul Vickers
Over the past decade-and-a-half of teaching introductory computer programming I have noticed increasingly that students have difficulty with solving problems. It is common to see learners read a programming problem description  and immediately try to write the programming language source code (usually whilst sitting at a PC typing straight into the editing window of the compiler environment). When they ask for help it is often the case that their difficulty lies not with manipulating the programming language syntax (C, Pascal, Java, or whatever) but in understanding what it is they're trying to solve. In fact, many times they confuse their syntax-handling difficulties with their problem-solving difficulties and blame their frustration on programming itself or on the chosen programming language. Some of them then become so downhearted that they decide they cannot do computer programming and transfer to a course that doesn't require them to study it.

The How To Think Like A Programmer project came about after years of seeing learners struggle with fundamental problem-solving concepts. How To Think Like A Programmer provides the bewildered, apprehensive, and anxious with an accessible introduction to programming by focusing on solving real-world problems in an algorithmic way in an environment free of  programming-language syntax.

The focus in How To Think Like A Programmer is on developing skills in developing algorithmic solutions to real-world problems. The up-front emphasis is on problem solving as a discipline without direct reference to technological/computer-domain issues. The book focuses on developing an understanding of the processes involved in examining and analyzing problems; in understanding the component parts of a problem, in understanding what is required. It then teaches how to solve problems, check the solutions for mistakes, inconsistencies, and limitations, and express those solutions as algorithms in such a way that the solution can be repeated by others. Treatment of programming language syntax and low-level data abstractions is deferred to other books (though the larger version of the book does briefly touch upon this aspect).

Top Features
Hide: Top features of the book (click to show/hide)

The benefit of each of these to the teacher
Hide: Teacher's benefits (click to show/hide)

The benefit of each of these to the learner
Hide: Learner's benefits (click to show/hide)

Don't just take my word for it: REVIEWS

Here's what was said about How To Think Like a Programmer in Times Higher Education (December 2009):

One could be forgiven for imagining that this may be yet another title joining the throngs of indistinguishable (but always yellow) introductory programming books, but now there is a new kid on the block.

Paul Vickers builds his book on two powerful insights. First, many students confuse problem solving and programming, because they are often taught on their course as one. Second, he teaches programming, rather than programming in a particular language, which often gives students an unmotivated view of the wider ideas. And contrary to popular belief, programming is easy and fun.

However, the two final chapters take the student into hands-on programming via the language Processing, an open-source multi-platform language from MIT that also leads nicely into Java.

Who is it for? Ideal for first-year programming courses.

Presentation: Engaging, clear and talks directly to the reader.

Would you recommend it? Anybody teaching programming should check it out; students will find it more useful than it looks, precisely because it will support their learning in any programming language.

And here is a review from a teacher who uses it:

This review is from: How to Think Like a Programmer: Program Design Solutions For The Bewildered (Paperback)

This book is, perhaps the best that I read about this topic. This is easy to read and simple to understand! I'm a computer science teacher and I use the book in my classes. Thank you Paul for your excelent work!

And here\'s one from somebody who bought it to help her with her university Java course:

This review is from: How to Think Like a Programmer: Program Design Solutions For The Bewildered (Paperback)

The book itself is great, I match all the critera listed for whom the book is intended. I have being trying to learn Java, as both part of a uni course and now as a personal mission in my own time, and although I understood the syntax etc I couldn't quite get a grasp on the reasoning behind some of the logic and why programs are contructed the way that they are. This book explains all.

I recommend that if you are new to programming you would be wise to read this book first and then you will have a greater understanding of the logic behind programming which makes it easier to learn and apply a language to it.
Maintenance Mode
This board is in Maintenance Mode. The forum features are locked for now.
Administration Login
Username: Password:  
Minutes to stay logged in:   Always stay logged in:
+- Resources
Cengage, our publisher, offers information and resources for both volumes of the book. The links below are to the resources for the expanded version (Program Design Solutions for the Bewildered) as these also cover the smaller version (Problem Solving for the Bewildered)

Instructor Resources
Instructors who want to use the book in their teaching can register with Cengage in order to get access to all the student resources as well as an instructor's guide, presentation slides, and sample exam questions.

Student Resources
Students may visit the book's Cengage site in order to download:

The resources above apply to the larger 16-chapter version of the book but are compatible with the original 8-chapter version.
+- Buy it!
Expanded version

Original 8-chapter version

For further programming book suggestions, see the Book Store on this site.

About howtothinklikeaprogrammer.com
Terms of service | Privacy policy

Paul Vickers is a participant in the Amazon Europe S.à.r.l. Associates Programme, an affiliate advertising programme designed to provide a means for sites to earn advertising fees by advertising and linking to amazon.co.uk/Javari.co.uk.

How to think like a programmer: problem solving for the bewildered pdf
How to think like a programmer: program design solutions for the bewildered pdf
Powered by EzPortal