improving programming ability

can anyone please suggest me how to improve my programming ability. how much hours of practice i must do every day are there any goo books with some good programming questions?

Brother. I have the same doubt. Lets hope someone tells us a right approach to this. :slight_smile: waiting for a reply.

1 Like

@md_junaid >> Instead of waiting you can practice new questions and learn concepts and increase your knowledge. What someone else will answer, will be with respect to him, the circumstances can’t be the same for everyone. If Gennday Korotkevich tells you that 2 hours per day is enough, then NO it might not be true for everyone, he is programming since many years. My reason for quoting this example was just to draw a contrast.

Practice in contest environment. And learn from the scratch without any misleading assumptions that you know this, you know that. Attempt in a contest, read editorials. Learn from your mistakes. Knowledge comes with time, its not an overnight journey. See any top coder’s profile, you will find a starting phase then learning phase, and then comes the later phase. It takes a lot of time. Good Luck.


What’s up with the sudden interest in this matter? Learning is important, no doubt, and you can’t learn alone. You will learn from multiple sources but you can’t keep asking how to learn…

You should start practicing something. Of course asking about books and or sources that provide good material is cool but there is no secret weapon, there is no book that is going to make you a master, there is no computer science or programming field that is going to give you advantage, you can’t expect to get an answer that is going to suddenly make you as skilled as those great coders you and I see in codechef, topcoder, etc, etc…

You have to walk your own path, start small, look for sources on the internet, look for interesting things to learn, the internet is full of tutorials. Try to find a programming language that you feel comfortable with. Try to get used to it as best as you can, that takes time but it’s worth it. After that you can try and learn other programming languages to increase your own knowledge and to get different points of view (if you really know at least one programming learning others won’t be very difficult). Try to see what’s worth learning right now, new technologies, places where you can insert yourself in someone else’s project, show off your skills or even sell your own ideas and apps.

If you are really eager to learn algorithms you could start by practicing the easy exercises here on codechef and move on from them, along the way you will find things you must know, read the editorials after the contests are over (even the problems you could solve), get to more direct questions, there are a lot of users here that are just waiting to answer questions and help others evolve, trying to explain something is good for both the asker and the person that answers the question.

You can’t ask how many hours you have to code per day. If you like it you should do it whenever you can. Like @bugkiller said everyone only answers those type of questions based on their own life experiences. Everyone has different opportunities, different lifestyles, different expectations and different learning curves, trying to replicate someone’s life experience is like trying to walk always behind that person, over its shadows, your own shadow will not be visible, you won’t be able to see the sun and you will be limiting yourself to someone else’s limitations.

This is not only for algorithms, everything you are trying to become in life works like that.

No one is born knowing how to speak english, no one is born knowing how to code, you must earn the right to be called good in what you are, you must love what you do, you’ll see, hard work, commitment and believing in yourself is worth the effort. Don’t expect to get the same opportunities as everyone else, make your own opportunities.


This is, by far, the best answer I’ve read recentely regarding this matter… I would give +10 if I could!!

1 Like

Yup…this is indeed a good answer…One have to be committed…there will be times when you will feel frustrated,or will not get good result of your work…but one thing friend…keep doing hardwork even if you are not seeing it because that’s all is going to make difference.because… When you got up frustrated…someone else didn’t …he fighted…