References E.3 Proof and Programming References
The first few books here are good resources for an introduction to proof, which should cover anything needed as a prerequisite for this text.
In addition to the many good programming exercises in several books in the General References, the latter books will give you an introduction to the programming side of things.
A quality middle-of-the-road introduction to proof, used reasonably widely and covering all standard topics for a proof transition course.
The title is pretty accurate; this is a quite gentle open text usable for self-study.
This book is not necessarily just an introduction to proof, but has a wonderful attitude to conjecture. Essentially, one should view every proof as an opportunity to extend, and every disproof as a chance to rescue.
This is a very good guide to Sage for anyone starting out with basic college math knowledge; the author has taught using Sage for some time. Did I mention it is freely downloadable as well as available in print?
This guide is not free, but is comprehensive (for the time it was written) and has the unique perspective of someone not involved in the Sage community.
A very good introduction to programming from scratch in Python, usable from the website or as a hard-copy text.
A preternaturally idiosyncratic take on how to program, but well worth the effort to learn things the hard way if you have the time to push through it.