Recently I've started studying maths using a Jupyter notebook. What I do is to review my coursework, and while I go through each theorem/proof, I code it up in the IPython notebook and experiment with the maths. I've found it a good way to come to grips with complex ideas. I'm currently studying Dirichlet Characters, and am finding the technique invaluable.