Algorithmic art: Making masterpieces through mathematics

art of programming

Photo Credit: Getty Images

By Kennedy Ryan
March 25, 2024

Snowflakes, flower petals, a galaxy’s spiral arms, a tiger’s stripes —  these are all examples of naturally occurring patterns. Through computer programming using basic functions, matrix representation of vectors, symmetries, 3D representations, cluster finding algorithms, and similar concepts, students in a physics class brought mathematical masterpieces to life.

It started when Kanaya Malakar, a graduate student in the Martin A. Fisher School of Physics,  found herself using abstract mathematical concepts that she learned as a physics student to create artistic designs. After a lightbulb moment, she realized that such designs could help students grasp core concepts while creating beautiful visualizations. She designed a course for undergraduate students, algorithmic art, applying the principles of mathematics to developing artwork.

Students began their algorithmic art journey by learning the basics of coding, coordinate geometry, and matrix algebra, and then applying these concepts to create something beautiful. Next, they tackled more advanced topics like cluster finding algorithms, differential equations, and random walks, to make two dimensional designs. Malakar spoke with Brandeis Stories about her experience developing the course and how students responded.

How did you come up with the concept for this course?

As an undergraduate student, I learned Python, a high-level computer programming language. Every time we learned new concepts, I’d code something for fun. I was also always spending time, in addition to coursework, applying these concepts to create something beautiful. Over time I accumulated this repository of physics and math designs.

My rationale for this course was to use science to get creative. I wanted students to have fun as they learned new concepts and applied them to create some original pieces of science-inspired art.

While the entire class learned the same concepts, I knew each student would have different ideas of how to apply those ideas and create something new. The class was designed to encourage collaboration, with students exchanging ideas among their peers. My hope was to show all the opportunities for algorithmic art.

What did students take away from this course?

I was curious what the takeaway for students would be. I knew the course would be interesting and thought provoking, but I didn’t know how helpful it would be, as it didn’t directly apply to typical coursework in physics and mathematics.

Looking back at the feedback students provided from this semester, I’ve learned that it had a significant impact on them. Students said applying visual representation to mathematical concepts made a tremendous difference in their ability to grasp challenging topics.

Math and physics are abstract concepts. Bringing them closer to what we can do makes a difference.

What is your advice to a graduate student looking to create a course?

Tap into your potential through who you are. Whatever you’re the most confident at, play to those strengths. Everything else will fall into place.