# Resources

## Books

- A Programmer’s Introduction to Mathematics - If you’re a programmer who wants to learn math, this book is written specifically for you! Why? Because programming and math are naturally complementary, and programmers have a leg up in learning math. Many of the underlying modes of thought in mathematics are present in programming, or are otherwise easy to explain by analogies and contrasts to familiar concepts in software. I leverage that in the book so that you can internalize the insights quickly, and appreciate the nuance more deeply than most books can allow. This book is a bridge from the world of programming to the world of math from the mathematician’s perspective. As far as I know, no other book provides this.

## eBooks

- Calculus I for Computer Science and Statistics Students - Mathematical Logic and Set Theory, Functions and Relations, Natural Numbers, Induction, and the Size of Sets, Real Numbers, Complex Numbers, Polynomials, Limits and Convergence of Real and Complex Numbers, Convergence of K-Valued Functions, Differential Calculus, The Riemann Integral on Intervals in R
- Active Calculus - In Active Calculus - Single Variable, we endeavor to actively engage students in learning the subject through an activity-driven approach in which the vast majority of the examples are completed by students. Where many texts present a general theory followed by substantial collections of worked examples, we instead pose problems or situations, consider possibilities, and then ask students to investigate and explore.

## Courses

- Introduction to Discrete Mathematics for Computer Science Specialization - Discrete Math is needed to see mathematical structures in the object you work with, and understand their properties. This ability is important for software engineers, data scientists, security and financial analysts (it is not a coincidence that math puzzles are often used for interviews). We cover the basic notions and results (combinatorics, graphs, probability, number theory) that are universally needed. To deliver techniques and ideas in discrete mathematics to the learner we extensively use interactive puzzles specially created for this specialization. To bring the learners experience closer to IT-applications we incorporate programming examples, problems and projects in our courses.