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.
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!
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
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
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!
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
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?
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
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!