Velleman wrote "How to Prove It": https://www.amazon.com/How-Prove-Structured-Approach-2nd/dp/...
Polya wrote "How to Solve It": https://www.amazon.com/How-Solve-Mathematical-Princeton-Scie...
Concepts of Modern Mathematics by Stewart
https://www.amazon.com/Concepts-Modern-Mathematics-Dover-Boo...
Dover Version with Google Preview Button
http://store.doverpublications.com/0486284247.html
Introduction to Mathematical Reasoning: Numbers, Sets, and Functions
https://www.amazon.com/Introduction-Mathematical-Reasoning-N...
How to Prove It by Velleman
https://www.amazon.com/How-Prove-Structured-Approach-2nd/dp/...
You can be a hacker and get by with very little math, depends what you are hacking. Hacking is not a profession, it is more of an approach to things, a way of looking at the world, the joy of really figuring stuff out and maybe doing something cool, something that might have seemed impossible. This does usually involve mastery, but not necessarily of mathematics.
I think the question you should be asking, or maybe are even asking is - how much mathematics do I need to hack the hack that I want to hack? - and the first thing you need to do, if you have not already done so is try to think about what that might be. Even a vague idea will give you plenty of clues about how much of what you might need for that.
If you find it troublesome, check out what Richard Hamming has to say about it, it should help you out a lot with figuring it out [1][2].
That said, if you want to do computer science, or hack on the interesting things you do need quite a bit of mathematics. This is due to the fact that, as other posters here have pointed out, what you are really in need of, is an effective way of problem solving, and to solve a problem you need to understand it, model it, work on it in some terms. Mathematics is /the/ method of clear thinking which you should apply in order to do this. Sure, you can do certain things without mathematics, but you are not making things any easier for yourself by doing that, and more importantly you are not gaining as much insight as you would have if you used the mathematical approach.
Now, you do mention that you are not good at mathematics, do not let that discourage you, there are many people who were, or are in similar situation as you, me included, and I can assure you that with some dedication and open minded thinking, it comes easier than you might think, and all this effort almost instantly pays off. If you are familiar with one or several programming languages, check out these amazing books and use them alongside whatever mathematics course you will be taking, they will help you out immensely by helping you master both the problem solving approach and the necessary concepts in order to succeed in mathematical education [3][4][5].
[1] https://www.youtube.com/playlist?list=PL2FF649D0C4407B30 [2] http://worrydream.com/refs/Hamming-TheArtOfDoingScienceAndEn... [3] http://www.amazon.com/Language-Mathematics-Utilizing-Math-Pr... [4] http://www.amazon.com/How-Solve-Mathematical-Princeton-Scien... [5] http://www.amazon.com/How-Prove-Structured-Approach-2nd/dp/0... [6] http://www.amazon.com/Methods-Mathematics-Calculus-Probabili...
An alternative if you're willing to spend a little is How to Prove It by Daniel J. Velleman, also available from Amazon[3] and probably many other retailers. Both books cover roughly the same topics.
[1]: http://www.people.vcu.edu/~rhammack/BookOfProof/
[2]: http://www.amazon.com/Book-Proof-Richard-Hammack/dp/09894721...
[3]: http://www.amazon.com/How-Prove-It-Structured-Approach/dp/05...
More good advice at http://scattered-thoughts.net/blog/2014/11/15/humans-should-...
i think a lot of what it comes down to for me - and maybe you - is mental discipline (staying focused for more than an hour without straying), knowing that it is very common for it to be tough, and learning how to play with math and explore it. i was never taught those things (or at least i never learned them), and so i have had to learn them the hard way. maybe you suffer from some of the same hurdles? try and overcome them, it's worth it.
as for writing proofs, one of those mathematicians got me interested in this book:
http://www.amazon.com/How-Prove-Structured-Approach-2nd/dp/0...
The usual sequence is [1] followed by [2].
Augment with [3] and [4] as needed.
One negative thing about Coq/Agda/Idris is they don't have a satisfactory encoding of typeclasses [5]. This is a problem in general with all dependently typed languages. Proof obligations get "churned" by changing code and the only tool to address that is extremely general proof terms combined with proof search. The best proof search is Coq, but the code extraction is heartburn-inducing for Haskell users.
Whereas in Haskell, we get extremely lightweight and type-safe code refactoring because of the way in which we leverage typeclasses and parametricity. This turns out to be very valuable as your projects get more serious.
That said, still entirely worthwhile to learn Coq or Agda.
By the way, this [6] is how I teach Haskell. Working on a book as well.
[1]: http://www.cis.upenn.edu/~bcpierce/sf/current/index.html
[2]: http://adam.chlipala.net/cpdt/
[3]: http://cheng.staff.shef.ac.uk/proofguide/proofguide.pdf
[4]: http://www.amazon.com/How-Prove-It-Structured-Approach/dp/05...
[5]: http://wiki.portal.chalmers.se/agda/pmwiki.php?n=ReferenceMa...
http://www.amazon.com/How-Prove-It-Structured-Approach/dp/05...
* How to Solve it by Polya https://www.amazon.com/How-Solve-Mathematical-Princeton-Scie... and How to Prove it by Velleman https://www.amazon.com/How-Prove-Structured-Approach-2nd/dp/... helped strengthen that understanding.
* This year I am trying to master https://www.amazon.com/Methods-Mathematics-Calculus-Probabil... which focuses on how to "connect the dots".
* I am using Geometry and the Imagination by Hilbert https://www.amazon.com/Geometry-Imagination-AMS-Chelsea-Publ... as an attempt to "immerse" myself in Geometry. I just love this book.