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?
Creating algorithms
algorithms;programming logic;logic;logic programming
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.