Do you think that only the programming pratice will help you to improve your logical programming skill or do you train your brain with puzzle games, trying imagine how universe works, playing instruments and so on?

Devoting more time with programming, will do you get logical programming skills more fast?

7 Answers
7

I think full-time programming practices my logical skills quite enough, and they need rest after work. Doing something else such as practicing motoric skills by playing musical instruments is good to the brain.

Yes programming will help, but any sort of logic/problem solving will help improve your programming skills. For example taking a formal course in logic, or solving Sudoku puzzles. There are some great websites out there with programming puzzles to try, look for project Euler for starters

Also developing an algorithmic way of thinking is also extremely important. Cook told me that the ability to think algorithmically is the key difference between a computer scientist and a mathematician. There are many good books on algorithms. You just have to choose the one that suits you most!

General problem solving, whether this be puzzles, watching House, reading a mystery novel or helping a neighbor with her car, any of these can be helpful in gaining ideas for how to build solutions. Ideas like being greedy, divide and conquer, dynamic programming, and creating data structures just a few examples as there are probably dozens of these kinds of ideas. How well they work is of course another story but sometimes just getting these kinds of ideas can be a great challenge.

I've found that, through learning about programming and software development (not necessarily formally), I've learned to break down problems in to smaller and smaller chunks more effectively.

I think you can improve that particular skill by using it outside of the software development field; by trying to break down problems you come across in everyday life. Trying to understand how something new works (like an engine or a piece of electronics) using this technique is particularly good.