Computer programming give us freedom to create our own world. It is the most important part of the modern IT sector. In order to become a better programmer, you need to be really good at algorithms, data structure, designing using OOPS, multi-threading and programming concept like recursion, divide and conquer, prototyping, and unit testing. Programming is a combination of many skills, which means it's not possible to become a expert in quick time, rather it will come with time and experience, but that won't happen automatically.
Click here for few tips to improve your programming skills