To score a job in data science, machine learning, computer graphics, and cryptography, you need to bring strong math skills to the party. Math for Programmers teaches the math you need for these hot careers, concentrating on what you need to know as a developer. Filled with lots of helpful graphics and more than 200 exercises and mini-projects, this book unlocks the door to interesting–and lucrative!–careers in some of today’s hottest programming fields.
It feels like you're learning exactly what you need to know to get stuff done.
1 Learning Math in Code
1.1 Solving lucrative problems with math and software
1.1.1 Predicting financial market movements
1.1.2 Finding a good deal
1.1.3 Building 3D graphics and animations
1.1.4 Modeling the physical world
1.2 How not to learn math
1.2.1 Jane wants to learn some math
1.2.2 Slogging through math textbooks
1.3 Using your well-trained left brain
1.3.1 Using a formal language
1.3.2 Build your own calculator
1.3.3 Building abstractions with functions
Part I: Vectors and Graphics
2 Drawing with 2D Vectors
2.1 Drawing with 2D Vectors
2.1.1 Representing 2D vectors
2.1.2 2D Drawing in Python
2.2 Plane vector arithmetic
2.2.1 Vector components and lengths
2.2.2 Multiplying Vectors by Numbers
2.2.3 Subtraction, displacement, and distance
2.3 Angles and Trigonometry in the Plane
2.3.1 From angles to components
2.3.2 Radians and trigonometry in Python
2.3.3 From components back to angles
2.4 Transforming collections of vectors
2.4.1 Combining vector transformations
2.5 Drawing with Matplotlib
3 Ascending to the 3D World
3.1 Picturing vectors in three-dimensional space
3.1.1 Representing 3D vectors with coordinates
3.1.2 3D Drawing in Python
3.2 Vector arithmetic in 3D
3.2.1 Adding 3D vectors
3.2.2 Scalar Multiplication in 3D
3.2.3 Subtracting 3D vectors
3.2.4 Computing lengths and distances
3.2.5 Computing angles and directions
3.3 The dot product: measuring alignment of vectors
3.3.1 Picturing the dot product
3.3.2 Computing the dot product
3.3.3 Dot products by example
3.3.4 Measuring angles with the dot product
3.4 The cross product: measuring oriented area
3.4.1 Orienting ourselves in 3D
3.4.2 Finding the direction of the cross product
3.4.3 Finding the length of the cross product
3.4.4 Computing the cross product of 3D vectors
3.5 Rendering a 3D object in 2D
3.5.1 Defining a 3D object with vectors
3.5.2 Projecting to 2D
3.5.3 Orienting faces and shading
4 Transforming Vectors and Graphics
5 Computing Transformations with Matrices
6 Working with Data in Higher Dimensions
Part 2: Calculus and Physical Simulation
7 The basics of calculus
8 Spatial functions
9 Differential equations
10 Building Physics Engines
Part 3: Machine Learning Applications
11 Quantifying Uncertainty
12 Exploring and Optimizing Functions
13 Fitting Functions to Data
14 Classification and Clustering
15 Reducing Dimensionality
About the TechnologyMost businesses realize they need to apply data science and effective machine learning to gain and maintain a competitive edge. To build these applications, they need developers comfortable writing code and using tools steeped in statistics, linear algebra, and calculus. Math also plays an integral role in other modern applications like game development, computer graphics and animation, image and signal processing, pricing engines, and stock market analysis. Whether you’re a self-taught programmer without a core university math foundation or you just need to rekindle the glowing math embers, this book is a great way to fire up your skills.
About the book
Math for Programmers teaches you to solve mathematical problems in code. Thanks to the author’s fun and engaging style, you’ll enjoy thinking about math like a programmer. With accessible examples, scenarios, and exercises perfect for the working developer, you’ll start by exploring functions and geometry in 2D and 3D. With those basic building blocks behind you, you’ll move into the bread and butter math for machine learning and game programming, including matrices and linear transformations, derivatives and integrals, differential equations, probability, classification algorithms, and more. Don’t worry if it sounds intimidating or, worse yet, boring! Coder and mathematician Paul Orland makes learning these vital concepts painless, relevant, and fun!
Real-world examples in this practical tutorial include building and rendering 3D models, animations with matrix transformations, manipulating images and sound waves, and building a physics engine for a video game. Along the way, you’ll test yourself with lots of exercises to ensure you’ve got a firm grasp of the concepts. Hands-on mini-projects throughout lock in all you’ve learned. When you’re done, you’ll have a solid foundation of the math skills essential in today’s most popular tech trends.
- 2D and 3D vector math
- Matrices and linear transformations
- Core concepts from linear algebra
- Calculus with one or more variables
- Algorithms for regression, classification, and clustering
- Interesting real-world examples
- More than 200 exercises and mini-projects
About the readerWritten for programmers with solid algebra skills (even if they need some dusting off). No formal coursework in linear algebra or calculus is required.
About the authorPaul Orland is CEO of Tachyus, a Silicon Valley startup building predictive analytics software to optimize energy production in the oil and gas industry. As founding CTO, he led the engineering team to productize hybrid machine learning and physics models, distributed optimization algorithms, and custom web-based data visualizations. He has a B.S. in mathematics from Yale University and a M.S. in physics from the University of Washington.
placing your order...Don't refresh or navigate away from the page.
Great step by step introduction/refresher to applied mathematics, with common software engineering problems in mind.
A great resource to quickly get a grasp of mathematical concepts and how they're applied to different problems.
The book contains a number of great examples that makes the subjects relatable and elevates it above some boring textbook.