I'm just a hobby programmer, but I've been looking to learn discrete math so I can get in to algorithms. Is this a good book? I've seen a lot of people recommend Epp's Discrete Mathematics with Applications. I've kind of been holding off the topic until I really hit a wall and discover what/how much I need to learn. Any advice would be great.