Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Peter Farrell

Rating No ratings yet

Learn math by getting creative with code! Use the Python programming language to transform learning high school-level math topics like algebra, geometry, trigonometry, and calculus! Math Adventures with Python will show you how to harness the power of programming to keep math relevant and fun. With the aid of the Python programming language, you'll learn how to visualize solutions to a range of math problems as you use code to explore key mathematical concepts like algebra, trigonometry, matrices, and cellular automata. Once you've learned the programming basics like loops and variables, you'll write your own programs to solve equations quickly, make cool things like an interactive rainbow grid, and automate tedious tasks like factoring numbers and finding square roots. You'll learn how to write functions to draw and manipulate shapes, create oscillating sine waves, and solve equations graphically. You'll also learn how to: - Draw and transform 2D and 3D graphics with matrices - Make colorful designs like the Mandelbrot and Julia sets with complex numbers - Use recursion to create fractals like the Koch snowflake and the Sierpinski triangle - Generate virtual sheep that graze on grass and multiply autonomously - Crack secret codes using genetic algorithms As you work through the book's numerous examples and increasingly challenging exercises, you'll code your own solutions, create beautiful visualizations, and see just how much more fun math can be!

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A hands-on invitation to rediscover high-school math by writing Python programs that draw, animate, and solve problems you once did by hand. Best for beginners who know a little Python (or are willing to learn) and want math to feel visual, experimental, and fun again. 【Book Arc】 - **Opening (~0%–10%)**: Sets up the philosophy—code as a replacement for repetitive worksheet drills—and gets you running: Python basics, variables, data types, lists, and your first turtle graphics. - **Early (~10%–32%)**: Builds core programming fluency (loops, conditionals, functions, user input) while applying it to real math tasks: factoring, a number-guessing game, an automated square-root finder, the quadratic formula, and first steps into graphing with Processing. - **Middle (~32%–50%)**: Moves into visual geometry and trigonometry—translating and rotating coordinate grids, `pushMatrix()`/`popMatrix()`, drawing polygons with sine and cosine, and animating sine waves. - **Late (~50%–80%)**: Extends into more advanced territory: matrices for 2D/3D transformations, complex numbers for Mandelbrot and Julia sets, and recursion for fractals like the Koch snowflake and Sierpinski triangle. - **Ending (~80%–100%)**: Turns to simulation and search—cellular automata (virtual sheep grazing and multiplying) and genetic algorithms for cracking codes—closing with open-ended, increasingly challenging exercises. 【Key Takeaways】 - **Code turns tedious math into automatable math** (Opening): The book's central argument is that a function like `f(x)` plus a loop replaces pages of hand-computed substitutions—freeing you to think about the math, not the arithmetic. - **Functions are the organizing unit of both programs and problems** (Early): Naming a function descriptively and breaking a problem into pieces makes code compact, maintainable, and easier to reason about—a lesson that transfers directly to mathematical decomposition. - **Iteration and conditionals are enough to solve real problems** (Early): The factoring program and the square-root finder (a bisection-style "guess higher/lower" loop) show that simple loops plus `if`/`elif`/`else` can automate genuinely useful computation. - **Graphing is a programming problem, not just a plotting-library call** (Early–Middle): Building your own coordinate grid, scaling, and point-to-point line drawing in Processing teaches you what a graph actually is—and why connecting points matters for curves. - **Transformations compose, and order matters** (Middle): `translate()`, `rotate()`, and `pushMatrix()`/`popMatrix()` reveal that complex rotating designs are just identical shapes placed by repeated, saved-and-restored transformations. - **Trigonometry becomes intuitive when you can see it move** (Middle): Using `sin()` and `cos()` to place polygon vertices and to animate a point circling while tracing a wave makes radians, angles, and periodic motion concrete. - **Recursion and complex numbers unlock visual beauty** (Late): Fractals (Koch, Sierpinski) and the Mandelbrot/Julia sets are presented as natural consequences of recursive definitions and complex arithmetic—math you can look at. - **Simulation and search are legitimate math tools** (Ending): Cellular automata (grazing, multiplying sheep) and genetic algorithms for code-breaking show that "solve it by simulating and iterating" is a powerful alternative to closed-form solutions. 【Reading Tips】 - **Type every example yourself.** This is a workbook, not a reference; the value comes from running code, breaking it, and fixing it. Skimming the listings will not teach you the math or the Python. - **Deep-read the Early chapters even if you know Python.** The factoring, square-root, and quadratic-formula programs establish the pattern (define a function, loop, test) that everything later builds on. - **Slow down at the Middle transformation chapters.** `pushMatrix()`/`popMatrix()` and rotation order are the most common stumbling block; if shapes "fly all over," you've skipped a save/restore step. - **Treat the Late/Ending chapters as projects, not reading.** Fractals, Mandelbrot sets, and genetic algorithms reward experimentation—change parameters, watch what happens. - **Do the exercises.** The book explicitly escalates difficulty through its exercises; they are where the real learning happens. 【Coverage Limits】 This guide is synthesized from stratified excerpts covering roughly the first half of the book in detail (Python basics through trigonometry and sine waves), with later topics (matrices, complex numbers, fractals, cellular automata, genetic algorithms) known mainly from the book's own overview rather than from excerpted chapter content. Specific chapter titles, exact exercise counts, and detailed code for the Late/Ending material are not covered by the excerpts.
Excerpt 1
x + 3)  x + 1 #list of values to plug in for x in [0,1,math.sqrt(2),math.sqrt(2)1]:     print("f({:.3f}) = {:.3f}".format(x,f(x))) The last line just makes t...
View in text
Excerpt 2
ude the ending index, as shown here: >>> b[:1] [4] are more? Fortunately, we can use the len() function to count the number of items in a list. Here’s an exa...
View in text
Excerpt 3
te() function to move shapes up and down, or left and right. The code translate(width/2,height/2) will move the origin (where x and y are both 0) from the to...
View in text
Excerpt 4
rotating triangles except for one, so we just have a single equilateral triangle on the screen. All we have to do is put 90 of them in a circle, just like we...
View in text
Excerpt 5
onstructed just like the Mandelbrot set, but after squaring the complex number, instead of adding the original complex number of that point, we keep adding a...
View in text
Excerpt 6
s why we do it only if i is not equal to j. In our example, each term in the first row of A is going to be multiplied by 3 and added to the corresponding ter...
View in text
Excerpt 7
f 4. To calculate factorial (5 – 1), the program starts the factorial() function again with n = 4 and tries to evaluate the factorial of 4 the same way, foll...
View in text
Excerpt 8
sting 116: Resizing the cells to autofit the display window The double forward slash (//) means integer division, which returns only the integer part of the ...
View in text
Tags
AI categories
PythonProgramming LanguageEducation
ISBN: 1593278683
Publisher: No Starch Press
Publish Year: 2019
Language: English
Pages: 304
File Format: PDF
File Size: 17.4 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…