Skip to main content

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.

[1]
  
Richard Hammack, Book of Proof, (2018). (Website)
Note

A quality middle-of-the-road introduction to proof, used reasonably widely and covering all standard topics for a proof transition course.

[2]
  
Joseph Fields, A Gentle Introduction to the Art of Mathematics, (2013). (Website)
Note

The title is pretty accurate; this is a quite gentle open text usable for self-study.

[3]
  
Edward Burger, Extending the Frontiers of Mathematics, Key College, (2007) (Website)
Note

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.

[4]
  
Gregory Bard, Sage for Undergraduates, American Mathematical Society, (2015) (Website)
Note

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?

[5]
  
Craig Finch, Sage: Beginner's Guide, Packt, (2011) (Website)
Note

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.

[6]
  
Paul Zimmermann et al., Computational Mathematics with SageMath, SIAM/the authors, (2018) (Website)
Note

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 at the INRIA website.

[7]
  
Allen Downey, Think Python, O'Reilly, (2012) (Website)
Note

A very good introduction to programming from scratch in Python, usable from the website or as a hard-copy text.

[8]
  
Zed Shaw, Learn Python the Hard Way, Addison-Wesley, (2013) (Website)
Note

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.