A Programmer’s Introduction to Mathematics: Second Edition

A Programmer’s Introduction to mathematics uses your familiarity with ideas from computer programming and software to teach mathematics. You’ll learn about the central objects and theorems of mathematics, covering graphs, calculus, linear algebra, eigenvalues, optimization, and more. You’ll also be immersed in the often unspoken cultural attitudes of mathematics, learning both how to read and write proofs while understanding why mathematics is the way it is. Between each technical chapter is an essay describing a different aspect of mathematical culture, and discussions of the insights and meta-insights that constitute mathematical intuition.

As you learn, we’ll use new mathematical ideas to create wondrous programs, from cryptographic schemes to neural networks to hyperbolic tessellations. Each chapter also contains a set of exercises that have you actively explore mathematical topics on your own. By the end of the book, you will be able to learn mathematics on your own. In short, this book will teach you to engage with mathematics.