I am a relatively new programmer. I can pick up languages and learn syntax at a speed that I consider good, but I can't figure out how to solve problems logically using algorithms very well. I know about the proper steps that we are taught in Comp Sci, but a lot of my friends are just spitting out algorithms. Have any of you had this problem? If so, how did you overcome it? Are there any exercises that I could do to improve my skills?
closed as off-topic by user40980, Robert Harvey♦, Doval, user22815, gnat Apr 1 '15 at 4:45
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions seeking career or education advice are off topic here. They are only meaningful to the asker and do not generate lasting value for the broader community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – Robert Harvey, Doval, gnat
A coworker of mine always says that if you can draw it you can program it. I think there is a lot of truth to that. I usually draw out a very specific case (on paper) and try to generalize from there gradually. I find it more challenging to know if I can actually do something as opposed to how since there is a lot of resources out there on the how. Also you don't have to reinvent the wheel for every task either, just use tired and true methods to simplify your problems. And find some enjoyment in the challenge of problem solving since whether you spit out algorithms or not you still have to solve problems everyday that you will not instantly know the answers to (or you may have many competing answers and you wont know which is the best one). I am honestly in a state of partial confusion everyday but I really enjoy the challenge and I would be somewhat bored otherwise. The field is so wast that there is no way any one person is an expert on everything. Good luck and don't get discouraged by not knowing things - just ask or research it.