
You might wonder: “What do computer programming and fiber arts have in common?”
Surprisingly, quite a lot. Even though they are traditionally viewed as worlds apart, fiber arts and technical fields share striking similarities. In this article, I explore how they align, and how these overlapping skills sit at the heart of an emerging educational and creative movement known as STEAM.
Here are 8 ways these concepts merge:
1.STEAM
I recently came across a movement that brings these two topics together: STEAM. Which is all about encouraging interdisciplinary learning by mixing analytical skills with creative expression, and programming fits under that umbrella.
In a similar way, mathematics and fiber arts have been connected by Mercer University’s own Dr. Carolyn Yackel. Carolyn, who coined the term “mathematical fiber arts”, has created intricate pieces like Temari balls. Her work shows how mathematical ideas can turn into something tangible and artistic. It’s a perfect example of how math fits within the STEAM framework, especially when it connects abstract concepts to traditional crafts.
Dr. Yackel mainly focuses on the mathematical structures found in fiber arts. Building on that foundation, I’m exploring how math, coding, and fiber arts come together in STEAM, particularly with a focus on crochet.
Several insightful blogs have already explored the connections between math, programming, and crochet, shedding light on ways these fields overlap. Many authors and bloggers have explored the connections between crochet, computer science, and math. One notable example is Kimberly McCarthy, who examines the links between mathematics and crochet through concepts like polar coordinates. Also, Mercedes Bernard delved into these topics in 2018–2019 in a blog post. These contributions are part of a broader conversation that highlights the alignment of these fields.
However, despite this valuable groundwork, the topic remains relatively niche, emphasizing the interdisciplinary spirit of the STEAM movement.
2. Problem-solving : the foundation of patterns
Programming is about giving step-by-step instructions to a computer to achieve a specific outcome.

Computer programming assesses gaps in markets to bring about better solutions and problem-solving. Both programming and crochet offer solutions to problems — only expressed in different formats: digital vs. material.
Effective problem-solving often starts by asking the right questions. That way, helpful answers will arise. Projects existing under either category require asking such questions as:
- What problem needs solving?
- What is the objective?
- What are all the necessary components that will get me the answers I need for the final result (the objective)?
Consider a pentagon: should it form a star or a five-petal flower? What distinguishes these shapes? What sets them apart in terms of shape or form?
How can we approach the problem in a way that would render this flower or this star?

The answer emerges through algorithmic thinking.
Both programming and crochet revolve around designing step-by-step instructions to solve a problem — whether to display data on a screen or create a lace shawl. Both prioritize algorithmic stepping, but the only difference is that programming algorithms are more abstract, often yielding digital results. Meanwhile, crochet algorithms lead to concrete results in the form of finished accessories or garments.
Fundamentally speaking, they‘re very similar. Although technical, programming requires the programmer to design code, whether for the functionality or appearance of an app. Any programming language can draw an object if it includes a mathematical library and graphical interface.
3. Precision and attention to detail
A crochet project often requires the maker to follow detailed instructions to make something, as a programmer does with code. Crochet patterns share similarities to programming syntax because both develop on logic and semantics.
Design
Design requires much analysis, trial, and error, and practice to get the intended effect of what a project requires. Crochet work can be very fickle about gauge. Minor inconsistencies in tension or stitch size can easily distort the final result. Sometimes, anything can throw off the final results from what was previously expected or intended.
The same is true in programming! Just one misplaced character or a minor semantic error can cause a program to behave unexpectedly or altogether fail. It’s about knowing what parts are involved, how they interact, and how to navigate those different parts separately and as a whole.
4. Creativity
Despite this need for precision, both crochet and programming leave space for creativity.

Although computer programming is far more technical than any fiber art effort, designing code is still quite creative. Many computer applications are products of ideas that stem from a creative thought process. This concept serves as the foundation for many programming ideas coming to fruition.
5. Mathematics
Computer programming and crochet each rely on mathematics in different ways. Programming relies on mathematics for logical problem-solving, algorithms, and data structure. Crochet uses mathematical concepts like symmetry, geometry, and counting to create and shape patterns, ensuring precision and consistency in the final piece.
How about rendering a rose shape?
Roses and other floral shapes often exhibit symmetrical properties, particularly radial symmetry. Yolanda Savirama published a paper in 2011 discussing these properties. According to their findings, flowers and roses often exhibit symmetry, especially radial symmetry, where parts collect around a central axis.

For a rose shape, what happens in one quadrant mirrors another. The symmetry of a rose represents the trigonometric polar functions, which show how patterns repeat across all four zones. Because this shape is mathematically complex, consulting mathematical tools is one of the most effective ways to model it.
This is where the rose curve formula, r = a·cos(kθ), comes into play. I discuss this in more detail here.
6. Debugging and tech editing
While many have compared the logic of crochet patterns to programming syntax, the connection between tech editing and debugging is less frequently explored, but the similarities stand out.
Tech editing
That system is known as tech editing, a practice in the yarn world where patterns are reviewed line by line to ensure clarity and accuracy. The design phase of a crochet or knitting project is often the most critical since it lays the foundation for how the final piece turns out.
Stepping (debugging)
Tech editing examines every move made to ensure no errors affect future attempts to replicate the pattern. Similarly, a programmer employs a technique known as stepping. This debugging process has the programmer systematically go through the code line by line. In turn, the coder effectively assumes the role of a computer (or interpreter) to understand how each part executes. Programmers undergo this method to check where a code is hanging, throwing an exception, or may not be running at all.
As a crocheter, I noticed this firsthand while designing a pattern. Earlier in this post, under Design, I mentioned issues with gauges while crocheting. Developing an original pattern can be immensely rewarding, but it can also be a fickle process that may result in a misplacement of stitches. Sometimes, a project requires that a gauge be followed closely. While other times, a project may not rely on a gauge to still work well.
7. Repetition… repetition… repetition
Also, crochet and knitting require a fair amount of counting, repetition, and looping. Only now is the actual looping mechanism carried out manually, without any shortcuts that a program usually has! Whenever the term repeat appears in a crochet pattern, that indicates repeating a step as many times as the pattern specifies.

In both crochet and programming, repetition continues until a specific condition or pattern requirement gets met.
Program Looping
Writing programs often requires a fair amount of repetition. This repetition is accomplished by creating program loops. Loops help to draw out or expand upon baseline problems, repeat patterns, and render complex visual patterns for graphics. They streamline the process of repetition by avoiding having to manually re-declare statements or variables.

Every project that involves coding a framework for a game, desktop application, or mobile app follows a unique set of repetitive steps that shape these applications into what they will become.
Here’s an example in Java that mimics the act of chaining stitches to make 22 double crochets(dcs).
int steps = 22;
System.out.println("Crochet Chain Instructions:n");
System.out.println("1. Start with a slip knot on your hook.");
for (int i = 1; i <= steps; i++) {
System.out.println((i + 1) + ". Yarn over and pull through the loop on the hook. (Chain " + i + ")");
}
System.out.println("nYou have completed " + steps + " chains!");
Repetition is what drives the sequential steps that bring a pattern to life. In crochet, this means building on a foundational row with repeating sequences that grow into the full length of the project.
8. Community & collaboration
Much like any professional career or hobby, these endeavors often lead to community gatherings centered around a specific interest. There’s a strong sense of community that abounds whenever there is a shared interest or work circulates. Just as someone might start a club for any other interests, such as a book club, a knitting circle, or a stamp collecting group, there’s always that dimension of sociability there.

People who are members of crochet communities and other clubs gather together for the purpose of exchanging ideas in the same way developers share ideas or insights through their communities. Comparatively, the collaborative nature of programming, where developers share code, contribute to open-source projects, and seek advice from peers is a prominent feature of these interests.
Weaving in the ends
Now that we are fastening off, “weaving in those loose ends,” so to speak, it’s the perfect time to zoom out and realize the bigger picture here. Initially, it may seem crochet and computer science are unrelated fields, but a closer look reveals how much they have in common. Anyone who is analytical, detail-oriented, or has strong problem-solving abilities may thrive at this intersection.
When we recognize the common threads between programming and something as crafty as crochet, we understand how interconnected our skills are now. And the presence of STEAM further validates this idea. The next time you pick up a crochet hook or open a code editor, remember: both are acts of creativity. Both are changing the world.
Follow for more insights happening at the crossroads of code and creativity, or leave a comment. I would love to hear your thoughts on this topic. : )