Hacking Math

Share Button

Pythagoras Tree

The September 26th session is full. Follow our newsletter for updates about future sessions.

How would you like to use the powerful tools of the Python programming language to explore math ideas like algebra, geometry, fractals and 3D Graphics?

Hacking Math is an informal computer programming course where you’ll learn to explore math and science topics deeply by using Python programming. It’s not about avoiding math using calculators or computers! It’s about automating the boring stuff so you can get to the fun stuff, like fractals and 3D graphics. It’s important to be able to think mathematically. It’s equally important to be able to solve problems using appropriate technology. No previous programming experience is necessary; you’ll learn the major tools of programming in Python, one of the most widely used programming languages around.

  • Loops
  • Variables
  • Functions
  • Conditionals
  • Lists…

Soon you’ll be able to use those tools to help you visualize and explore math topics like Algebra and Geometry. You’ll be challenged to solve problems by building new tools which will always be in your toolbox for future challenges!

The course is for teens ages 12 and up. It starts September 26th and runs for 6 weeks until October 31st, meeting at 4 PM Eastern US time. See FAQ at the end of this page for more details.

In addition to forum activities you can do any time during the week, there is one live online meeting per week, in a small group of up to 8 participants. Register now!

0 spaces left

The class costs $250 per participating account. Using one account, you can participate as an individual, as a parent+child pair, or as a family.


Summary of what you get

  • Six weeks of activities to learn Python with applications in Algebra and Geometry
  • Hacking Math Class Using Python, the book by Peter Farrell
  • Live weekly meetings in small groups
  • Access to the class forum to ask questions and to share resources, even after the class is over
  • The skills for hacking your mathematics!

Class designer and leader

(This is a portrait of me, made out of emojis. Click it to see a closeup!)

My name is Peter Farrell and I was a math teacher for eight years and a math tutor for four more. My life changed when I read Seymour Papert’s Mindstorms, which made a good case that everything in math class can be done on computers. Then Guido van Rossum created the Python programming language, making it easier to use computers to do everything under the sun, including learning mathematics. In 2015 I published Hacking Math Class Using Python, the first book to use Python programming to explore math topics from Algebra to Calculus. Now you can learn math by making tools to solve a problem. First, you model it using Python, make it visual, then you solve it, and finally you extend those tools to solve other problems. I’m really looking forward to sharing all my ideas with you!


Week 1: Learning the Main Tools of Programming Through Turtle Geometry


  • Turtle Geometry
  • Python Topics: Loops, Variables, Functions, Turtle module
  • Math Concepts:
    • Patterns
    • Shapes, Polygons
    • Angles, External Angles
    • Distance
    • Functions
    • Counting: Do we start at 0 or 1?

The fundamentals of programming: making things happen on the screen, using loops to repeat commands, replacing numbers with variables. All using turtles!

Week 2: Powerful Tools: Conditionals and Lists


  • Number Guessing Game
  • Python Topics: Printing, Conditionals, Lists, List Indices, Booleans
  • Math Concepts:
    • Divisibility
    • Average
    • Median
    • Random
    • Remainders
    • Fibonacci Sequence


Making our computer smarter by interacting with humans and making choices. It’ll play a number guessing game and it might do some of your math homework, too!

Week 3: Teach Your Computer Arithmetic!


  • Input and output
  • Conversion programs
  • Input, random module
  • Math Concepts:
    • Factoring
    • Conversion
    • Greatest common divisor
    • Prime number program
    • Pythagorean theorem

We’ll write programs to do somewhat harder math like factoring and the Pythagorean theorem. How can 25 degrees be “nice weather for a walk”? Our programs will convert from one unit of measurement to another instantly!

Week 4: Algebra: Find the Mystery Number


  • Parameters
  • Math Concepts:
    • Equations
    • Quadratic formula
    • Coordinates
    • Functions
    • Graphing

Our programs will help us solve algebraic equations, which are really number guessing games. The equations get harder, but we have tools to help. In fact, our turtles will help us to make the input and output very visual!

Week 5: Geometry: Where Does That Line Go?


  • Lists
  • Functions
  • Parameters
  • Math Concepts:
    • Lines: Slope, Y-intercept
    • Perpendicularity
    • Reciprocals
    • Triangles
    • Midpoints

Our tools so far (and a new one: lists) will help us solve geometric problems, like finding the equations of lines, coordinates of intersections, and the areas of triangles. Our turtles are back to make it visual!

Week 6: Trig – Up and Down, Round and Round


  • Visual Python – 3D Graphics
  • Math module,
  • Objects
  • Math Concepts:
    • Sine, Cosine
    • Oscillations
    • 3D Coordinates
    • Vectors


This week we’ll make 3D objects oscillate back and forth and round and round using sines and cosines. Vectors help us move things around like bouncing balls and planets!

Register now!

Questions and Answers

  • Can I sign up if I will have to miss a meeting?
    • Yes. We will record meetings and the recordings will be available to course participants.
  • Can you help me with the price?
    • We’d like to encourage you to share the course with a friend (using one computer during the meetings). It will help you split the cost, and improve your learning experience. Most people learn better when they program and discuss math with someone in person. Professionals call this approach “pair programming.” In the future, we will make courses more affordable by running multiple groups at once.
  • What times are the meetings?
    • 4 PM Eastern (New York) time on Saturdays, starting the 26th. Sorry we didn’t post the time before.
  • Can my serious and interested 11-year-old take this course?
    • Yes. Especially with friend or family help. Ages are always just guidelines. This will be at about formal algebra level.
  • What number of hours per week do I need outside of the meetings?
    • Probably 2-3 hours.
  • Can I have a certificate of completion?
    • Yes! We’ll even include course participant computer-generated art on it.
15 comments on “Hacking Math
  1. Sharon says:

    My son wants to do this. However, we are in Australia will be on holidays for 8th July.
    Can he do a catchup ?
    Also how does the payment work? The transfer usually means US$250 amounts to AU$300 plus. Do you know the exact amount? It could be too much for us.

    • MariaD MariaD says:


      The meetings will be recorded, so if you miss one, the course should still work – you can watch the recording.

      The payment system converts by the current official courses between US and AU. It should tell you the exact amount before you agree to pay. I can’t check on it myself, but let me know if you start the payment process and anything is unclear within it. Until you press the final payment button, nothing goes through.

      I hope to see you in the course!

      • Sharon says:

        Yes, he may miss all of them due to the time difference.
        Your 6pm lesson is 8am EST and he’s at college.
        And Saturday, your 12.00 midday class is our 2am time

  2. Cristy says:

    What is the target age for this course?

    • MariaD MariaD says:

      The age is 12 and up. We will run the course in the fall and I’ll add the age to the description. Thank you!

  3. Rhonda says:

    Is there a prerequisite math level for this course?

    • MariaD MariaD says:

      This course will teach about algebra level of mathematics, and you need to understand number operations, including fractions and negatives. You don’t have to be quick at arithmetic – that’s for computers!

  4. Carolyn says:

    Can you please confirm the classes are Saturdays at 4PM and please confirmt he timezone? I cannot seem to locate that information… Thanks!

    • MariaD MariaD says:

      Carolyn, classes are on Saturdays at 4 pm Eastern time. I updated that page, but you may have the old version in your browser’s cache. I hope to see you in class!

  5. chris yu says:

    Hi Peter,

    I’m a teacher and I would love to incorporate your book into my class. I won’t be able to take the course, but where can I order the book? Do you have any tips for teaching python for the first time.

    • Hi, Chris,

      Thanks for the message. So glad you’re interested in using the book! You can download the .pdf at http://www.farrellpolymath.com/.

      I always start teaching Python by drawing with turtles, which I cover in chapter 1 of the book. People just need to learn a few commands and in no time they’re creating cool graphics and showing off their creations to everybody! My introduction to programming was Seymour Papert’s excellent book Mindstorms, which introduced Logo turtles to the world.

      Using turtles, you can introduce all the important programming concepts from loops and variables to functions and recursion.

      Please keep me posted on how it goes!


      Peter Farrell

  6. Sarah says:

    For some reason, this website won’t allow me to sign up for your newsletter. My son would deeply love this class. Please let me know when you offer it again.

Leave a Reply

Your email address will not be published. Required fields are marked *