I like the google search engine, by the way. On The Nature Of Programming People generally believe you need to know a lot of math to be a programmer. This is not strictly speaking true. You should think about your problem for a little while before beginning to write code, but then you should just jump in an thrash around a little. Usually painting yourself into a corner is a good way to discover what the thing you were trying to do in the first place really was all about.
Some people like to think things out completely before they even begin.
This doesn't work for me as I start to focus on some insoluble little piece which turns out in retrospect to have not even been important. Some people like to just start coding without thinking about it at all. So I recommend moderation. Think about it a little, scribble some crude diagrams. Think about the pieces involved.