Skip to main content
Logo image

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.
Richard Hammack, Book of Proof, (2018). (Website 18 )
A quality middle-of-the-road introduction to proof, used reasonably widely and covering all standard topics for a proof transition course.
Joseph Fields, A Gentle Introduction to the Art of Mathematics, (2013). (Website 19 )
The title is pretty accurate; this is a quite gentle open text usable for self-study.
Edward Burger, Extending the Frontiers of Mathematics, Key College, (2007) (Website 20 )
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.
Gregory Bard, Sage for Undergraduates, American Mathematical Society, (2015) (Website 21 )
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?
Craig Finch, Sage: Beginner’s Guide, Packt, (2011) (Website 22 )
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.
Paul Zimmermann et al., Computational Mathematics with SageMath, SIAM/the authors, (2018) (Website 23 )
This is an updated English edition of a very comprehensive book originally written in French. Includes everything from numerics to graph theory. Available for free as well. 24 
Allen Downey, Think Python, O’Reilly, (2012) (Website 25 )
A very good introduction to programming from scratch in Python, usable from the website or as a hard-copy text.
Zed Shaw, Learn Python the Hard Way, Addison-Wesley, (2013) (Website 26 )
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.