I've found that any math subject makes a lot more sense when coding it out in a language you're comfortable with. Especially when you write unit tests for it and think of edge cases. It forces you to reproduce what you've learned and reason about it.