# welcome

Thank you for purchasing the MEAP of *Math for Programmers*. I’ve been a math enthusiast my whole life, and only accidentally stumbled into software engineering as a career. I first taught myself how to code on a TI-84 graphing calculator, writing programs to do my high school math homework for me. Ever since then I’ve been excited by how complementary the disciplines of math and programming can be. I look forward to sharing what I’ve learned with you!

Now more than ever, knowing some math can accelerate your career as a developer. As evidence, look at the recent prevalence of the job title “Data Scientist,” and what people with this title get paid. I joke with my coworkers about what a “Data Scientist” really is, but the best answer is probably someone who knows statistics, linear algebra, and calculus, and how to turn them into code. Beyond data analysis, these fields of math are useful in graphics, game design, simulation, optimization, and many other software development domains.

In this book, we’ll start by exploring *vectors*, which are the mathematical tool for representing multidimensional data. Computer graphics in 2D and 3D are built with vectors, and you’ll learn how to render your own 3D animations using *matrix transformations*. Part 1 culminates by showing you how these geometric lessons extend to higher dimensions within the framework of *linear algebra*.