Learning Mathematics through Programming. I am about to embark on a 'comprehensive' and thorough study of undergraduate mathematics. In the interests of efficiency and a desire to improve my programming skills, I ask:
In oppose to the pen and paper approach, would it be advisable to implement all of the problems I encounter in the textbooks in a programming language?
Would there be any downside to this with regards to understanding the material?
I am not talking about allowing the computer to solve the problem for me, just that I would like to implement the step by step process in a programming language.I will be using Python and later on C++, Haskell, Lisp and Java.
Thanks in advance.
 A: To the extent that you're having to engage with the concepts you're learning in order to be able to write programs that explore those concepts, I certainly don't think this could hurt your learning process.  'Implementing' all problems you encounter, though, may be a bit of a tall order.  I would suggest starting by looking at problems that interest you and writing programs to explore those problems.  
In practice, your biggest obstacle is time.  Life is too short to explore everything in its entirety, so choose your expeditions wisely and try to discover what you're truly passionate about.
A: Preamble/warning: So far, I do not do any mathematics on my computer. I’m interested in it and so I know a bit about it, but the only reason I post this as an answer is because it is just too lengthy for a comment. The following are immature estimations, but I really can’t imagine that I’m off by too much with them.

On “Would it be possible advisable …?”: Yes and no.
Yes: Although many of the statements (theorems) you encounter are fairly abstract and may even involve the highly non-constructive axiom of choice, there are proof assistants. (I recently learned about Isabelle which is based on ML and has similarities to Haskell.) It is possible to prove many abstract theorems using such tools. With Sage you can compute a lot of abstract things. So there are a lot of ways to do mathematics in a programming fashion.
(So, proof assistants are, I think, the only way to “implement” textbooks problems that involve proofs – and they are a huge amount of the problems and very essential to understanding.)
No: Implementing proofs and calculations means being very formal. I don’t even know if there are theoretical limits to the class of formal proofs that can be checked by a computer, but there is a practical one: There are statements which I just believe involve too much formal build-up to be expressed understandable to a computer. And the proofs, too, get more lenghty and lenghty. And also, there probably will be many arguments needed for simple exercises which may be clear to you, but very cumbersome to implement.
Bottom line: I don’t think it’s worth it to avoid pen & paper. To many mathematicians, mathematics is a lot about images and ideas and arguments which are not formal in nature, and maybe even vague or fuzzy. Trying to force them to rigorosity can cost you a lot of time without a gain of insight, and maybe even leading you astray.
Edit: I misread your question: But the bottom line: Although it might be theoretically possible to do all the textbook problems in a programming language, I really don’t think it is advisable. And actually, I think you will find this out for yourself, if you try to do this. You probably will feel the immense slow-down, and you maybe even will need to pen-&-paper-do the exercise first to see how you could possibly implement them.
Not avoiding pen & paper doesn’t mean avoiding the computer, though.
