tags:

views:

396

answers:

3

Programming is mainly logic. It is said that if you have good logical abilities, you can become a good programmer. Logic can be learned. Is there a training / tutorial / book etc.. for logic building ?

A: 

You could always go play around with the problems over at Project Euler. They cover a wide range of logic and math topics.

Jeremy
I have solved many question at Project Euler. It involves a lot of mathematics too. But it is about practicing logic, rather than learning logic step by step.
aartist
A: 

Logic: Second Edition by Wilfrid Hodges is a no-nonsense book on logic. It builds from casual logic (when a sentence is true....) to formal logic. Invaluable.

Product Description If a man supports Arsenal [soccer team] one day and Spurs [soccer team] the next then he is fickle but not necessarily illogical. From this starting point, and assuming no previous knowledge of logic, Wilfrid Hodges takes the reader through the whole gamut of logical expressions in a simple and lively way. Readers who are more mathematically adventurous will find optional sections introducing rather more challenging material.

anno
A: 

I think there's a fallacy in your logic:

if you have good logical abilities, you can become a good programmer

It is more true to say:

if you do not have good logical abilities, you cannot become a good programmer

I'd say fundamentally, programming comes down to analytical and problem solving skills, and yes, there are ways to develop and improve yours.

Are you looking specifically for resources about learning/improving "logical reasoning"? Or are you looking for resources to improve analytical skills related to programming?

And just to throw this in, depending on the kind of "logic buildling" you're looking for, you may find value in a variety of exercises. For example, I really enjoy games of Sudoku - pure logic puzzles.

Nader Shirazie
Thank you for the answer.Ultimately I am looking for something that teaches/trains me for analytical skills rather than just skills for programming. But building logical skills is an important step. I should be able to look at few things in a given domain and make very easy observations or conclusions, based upon simple logical relationships. It could include any objects that are connected to other objects logically. Sudoku puzzles are helpful. I don't have any doubt about it. but I need to focus on more variables. Any systematic training for looking at more variables is the target.
aartist
So more around the ability to understand a specific domain, and how to model it? how to come up with good abstractions/designs to solve particular problems?
Nader Shirazie