A major deficiency in many university-level computer science programs is neglect for training in fundamental mathematical skills. This deficiency usually rears its head when a CS student first move into an area like Data Science and quickly realise s/he does not even have the ability to fully understand papers and books in the field, let alone contribute to the existing literature. And the main problem is knowing how to read and construct rigorous mathematical proofs.
I was in this exact situation when I started my Data Science journey almost 16 years ago. Many of the postgraduate students and aspiring data scientists I have had the chance to counsel/supervise over the years also encountered similar problems. Luckily, like most things in life, this is a problem that can be fixed with discipline, hard work and a bit of guidance. Listed here are 5 books that can provide that guidance:
- How to Solve It: A New Aspect of Mathematical Method by G. Polya
- How to Prove It: A Structured Approach by Daniel J. Velleman
- Fundamental Ideas of Analysis by Michael C. Reed
- The Cauchy-Schwarz Master Class: An Introduction to the Art of Mathematical Inequalities by J. Michael Steele
- The Princeton Companion to Mathematics by Timothy Gowers, June Barrow-Green and Imre Leader
The book by Polya can be read fairly quickly to get a sense of important mathematical thinking techniques. The (mostly interesting) drills that will help students internalise major mathematical concepts and proof techniques are in the books by Velleman, Reed and Steele. Finally, the Princeton Companion can serve as a reference that can be the first port of call whenever one wants a quick refresher on a mathematical topic.