A lot of logical thinking is just breaking things down into pieces, and then combining those pieces to create an overall solution. Similarly, while writing programs, each program is broken down into small pieces, each dedicated for solving a part of the problem. Programming is largely based on formal logic, where programs are basically a set of sentences expressing facts and rules about the problem at hand. As mentioned in one of the previous blogs on "The Surprisingly Broad Benefits of Learning to Program at a Young Age"; the ability to program at a young age enables the child to be creative, and take care of issues all the more productively. It's a proven fact, that through programming, one can easily develop logical thinking. It teaches how to break down a problem into smaller segments, and sort each out one by one. These are combined to derive one collective solution. When a child is taught how to program, s/he acquires the ability to solve problems by applying logical thinking and thus eventually develop the abilities of logical thinking.